src/share/vm/runtime/sharedRuntime.cpp

Print this page
rev 6361 : [mq]: 8041934-method_exit


 974       (char *) kname->bytes(), kname->utf8_length(),
 975       (char *) name->bytes(), name->utf8_length(),
 976       (char *) sig->bytes(), sig->utf8_length());
 977   return 0;
 978 JRT_END
 979 
 980 JRT_LEAF(int, SharedRuntime::dtrace_method_exit(
 981     JavaThread* thread, Method* method))
 982   assert(DTraceMethodProbes, "wrong call");
 983   Symbol* kname = method->klass_name();
 984   Symbol* name = method->name();
 985   Symbol* sig = method->signature();
 986   HOTSPOT_METHOD_RETURN(
 987       get_java_tid(thread),
 988       (char *) kname->bytes(), kname->utf8_length(),
 989       (char *) name->bytes(), name->utf8_length(),
 990       (char *) sig->bytes(), sig->utf8_length());
 991   return 0;
 992 JRT_END
 993 






 994 
 995 // Finds receiver, CallInfo (i.e. receiver method), and calling bytecode)
 996 // for a call current in progress, i.e., arguments has been pushed on stack
 997 // put callee has not been invoked yet.  Used by: resolve virtual/static,
 998 // vtable updates, etc.  Caller frame must be compiled.
 999 Handle SharedRuntime::find_callee_info(JavaThread* thread, Bytecodes::Code& bc, CallInfo& callinfo, TRAPS) {
1000   ResourceMark rm(THREAD);
1001 
1002   // last java frame on stack (which includes native call frames)
1003   vframeStream vfst(thread, true);  // Do not skip and javaCalls
1004 
1005   return find_callee_info_helper(thread, vfst, bc, callinfo, CHECK_(Handle()));
1006 }
1007 
1008 
1009 // Finds receiver, CallInfo (i.e. receiver method), and calling bytecode
1010 // for a call current in progress, i.e., arguments has been pushed on stack
1011 // but callee has not been invoked yet.  Caller frame must be compiled.
1012 Handle SharedRuntime::find_callee_info_helper(JavaThread* thread,
1013                                               vframeStream& vfst,




 974       (char *) kname->bytes(), kname->utf8_length(),
 975       (char *) name->bytes(), name->utf8_length(),
 976       (char *) sig->bytes(), sig->utf8_length());
 977   return 0;
 978 JRT_END
 979 
 980 JRT_LEAF(int, SharedRuntime::dtrace_method_exit(
 981     JavaThread* thread, Method* method))
 982   assert(DTraceMethodProbes, "wrong call");
 983   Symbol* kname = method->klass_name();
 984   Symbol* name = method->name();
 985   Symbol* sig = method->signature();
 986   HOTSPOT_METHOD_RETURN(
 987       get_java_tid(thread),
 988       (char *) kname->bytes(), kname->utf8_length(),
 989       (char *) name->bytes(), name->utf8_length(),
 990       (char *) sig->bytes(), sig->utf8_length());
 991   return 0;
 992 JRT_END
 993 
 994 JRT_ENTRY(int, SharedRuntime::jvmti_method_exit(
 995     JavaThread* thread, Method* method))
 996   JvmtiExport::post_method_exit(thread, method, thread->last_frame());
 997   return 0;
 998 JRT_END
 999 
1000 
1001 // Finds receiver, CallInfo (i.e. receiver method), and calling bytecode)
1002 // for a call current in progress, i.e., arguments has been pushed on stack
1003 // put callee has not been invoked yet.  Used by: resolve virtual/static,
1004 // vtable updates, etc.  Caller frame must be compiled.
1005 Handle SharedRuntime::find_callee_info(JavaThread* thread, Bytecodes::Code& bc, CallInfo& callinfo, TRAPS) {
1006   ResourceMark rm(THREAD);
1007 
1008   // last java frame on stack (which includes native call frames)
1009   vframeStream vfst(thread, true);  // Do not skip and javaCalls
1010 
1011   return find_callee_info_helper(thread, vfst, bc, callinfo, CHECK_(Handle()));
1012 }
1013 
1014 
1015 // Finds receiver, CallInfo (i.e. receiver method), and calling bytecode
1016 // for a call current in progress, i.e., arguments has been pushed on stack
1017 // but callee has not been invoked yet.  Caller frame must be compiled.
1018 Handle SharedRuntime::find_callee_info_helper(JavaThread* thread,
1019                                               vframeStream& vfst,