mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
Merge
This commit is contained in:
commit
8aa430beb0
21 changed files with 208 additions and 13 deletions
|
@ -377,6 +377,32 @@ void SharedRuntime::throw_and_post_jvmti_exception(JavaThread *thread, symbolOop
|
|||
throw_and_post_jvmti_exception(thread, h_exception);
|
||||
}
|
||||
|
||||
// The interpreter code to call this tracing function is only
|
||||
// called/generated when TraceRedefineClasses has the right bits
|
||||
// set. Since obsolete methods are never compiled, we don't have
|
||||
// to modify the compilers to generate calls to this function.
|
||||
//
|
||||
JRT_LEAF(int, SharedRuntime::rc_trace_method_entry(
|
||||
JavaThread* thread, methodOopDesc* method))
|
||||
assert(RC_TRACE_IN_RANGE(0x00001000, 0x00002000), "wrong call");
|
||||
|
||||
if (method->is_obsolete()) {
|
||||
// We are calling an obsolete method, but this is not necessarily
|
||||
// an error. Our method could have been redefined just after we
|
||||
// fetched the methodOop from the constant pool.
|
||||
|
||||
// RC_TRACE macro has an embedded ResourceMark
|
||||
RC_TRACE_WITH_THREAD(0x00001000, thread,
|
||||
("calling obsolete method '%s'",
|
||||
method->name_and_sig_as_C_string()));
|
||||
if (RC_TRACE_ENABLED(0x00002000)) {
|
||||
// this option is provided to debug calls to obsolete methods
|
||||
guarantee(false, "faulting at call to an obsolete method.");
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
JRT_END
|
||||
|
||||
// ret_pc points into caller; we are returning caller's exception handler
|
||||
// for given exception
|
||||
address SharedRuntime::compute_compiled_exc_handler(nmethod* nm, address ret_pc, Handle& exception,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue