mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
8040085: dtrace/jsdt tests crash on solaris. found an unadvertised bad scavengable oop in the code cache
Add CodeCache::add_scavenge_root_nmethod(this) to the dtrace-constructor of nmethod Reviewed-by: roland, iveresov
This commit is contained in:
parent
24be3e5628
commit
ff3717e719
2 changed files with 13 additions and 8 deletions
|
@ -2658,19 +2658,20 @@ JRT_ENTRY_NO_ASYNC(void, SharedRuntime::block_for_jni_critical(JavaThread* threa
|
|||
JRT_END
|
||||
|
||||
#ifdef HAVE_DTRACE_H
|
||||
// Create a dtrace nmethod for this method. The wrapper converts the
|
||||
// java compiled calling convention to the native convention, makes a dummy call
|
||||
// (actually nops for the size of the call instruction, which become a trap if
|
||||
// probe is enabled). The returns to the caller. Since this all looks like a
|
||||
// leaf no thread transition is needed.
|
||||
|
||||
/**
|
||||
* Create a dtrace nmethod for this method. The wrapper converts the
|
||||
* Java-compiled calling convention to the native convention, makes a dummy call
|
||||
* (actually nops for the size of the call instruction, which become a trap if
|
||||
* probe is enabled), and finally returns to the caller. Since this all looks like a
|
||||
* leaf, no thread transition is needed.
|
||||
*/
|
||||
nmethod *AdapterHandlerLibrary::create_dtrace_nmethod(methodHandle method) {
|
||||
ResourceMark rm;
|
||||
nmethod* nm = NULL;
|
||||
|
||||
if (PrintCompilation) {
|
||||
ttyLocker ttyl;
|
||||
tty->print("--- n%s ");
|
||||
tty->print("--- n ");
|
||||
method->print_short_name(tty);
|
||||
if (method->is_static()) {
|
||||
tty->print(" (static)");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue