harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "keqiaoyang" <keqiaoy...@126.com>
Subject Re: [drlvm][JET] problem in pass arguments in instrumentation
Date Thu, 29 Oct 2009 10:35:51 GMT
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
        keqiaoyang@126.com
          2009-10-29
===============================================================
Room 108, Software Building, Software School, Fudan University,
825 Zhangheng Road, Shanghai, 201203,China
Mime
View raw message