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_LEAF(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,
|