hi all 

    I add a dummy parameter before m_method, 
such as gen_call_vm(cs_put_sfield, rt_helper_putstatic,0, klass, 
fieldOp.fld,NULL, m_method, m_pc);
instead of the original 
       gen_call_vm(cs_put_sfield, rt_helper_putstatic,0, klass, 
fieldOp.fld,m_method, m_pc);
then, I got the right method name in the runtime routine to recode the access 
history.

However, i donot known the reason. Who can explain?

-Joey

========================================

>hi all
>   I want to instrument the static field access, and coding at 
> jet/cg_fld_arr.cpp: do_field_op()
>a code sample:
>   if(fieldOp.isStatic()) {
>                       Class_Handle klass = field_get_class(fieldOp.fld);
>                       if(fieldOp.isPut()) { //putstatic
>                               SYNC_FIRST(static const CallSig 
> cs_put_sfield(CCONV_HELPERS,jvoid,jobj, jobj, jobj, iplatf));
>                               gen_call_vm(cs_put_sfield, 
> rt_helper_putstatic,0, klass, fieldOp.fld , m_method, m_pc);
>                       }  
>
>=========== I pass four parameters, in the runtime routine.
>but in the jit_runtime_support.cxx, when handle the routine, I can not get the 
>method name, while the other three 
>parameters is no problem.
>any problem in the coding of pass parameters? who can help me, thanks for your 
>help!
>
>-Joey
>
>

= = = = = = = = = = = = = = = = = = = =
                        
Cheers!
 
                                 
        keqiaoyang
        keqiaoy...@126.com
          2009-10-29
===============================================================
Room 108, Software Building, Software School, Fudan University,
825 Zhangheng Road, Shanghai, 201203,China

Reply via email to