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