comparison src/share/vm/runtime/sharedRuntime.cpp @ 17915:e0a77b91da68

8040085: dtrace/jsdt tests crash on solaris. found an unadvertised bad scavengable oop in the code cache Summary: Add CodeCache::add_scavenge_root_nmethod(this) to the dtrace-constructor of nmethod Reviewed-by: roland, iveresov
author anoll
date Mon, 28 Apr 2014 12:39:12 +0200
parents cf9f24de0b93
children 78bbf4d43a14
comparison
equal deleted inserted replaced
17914:3636afd5ec1a 17915:e0a77b91da68
2688 GC_locker::lock_critical(thread); 2688 GC_locker::lock_critical(thread);
2689 GC_locker::unlock_critical(thread); 2689 GC_locker::unlock_critical(thread);
2690 JRT_END 2690 JRT_END
2691 2691
2692 #ifdef HAVE_DTRACE_H 2692 #ifdef HAVE_DTRACE_H
2693 // Create a dtrace nmethod for this method. The wrapper converts the 2693 /**
2694 // java compiled calling convention to the native convention, makes a dummy call 2694 * Create a dtrace nmethod for this method. The wrapper converts the
2695 // (actually nops for the size of the call instruction, which become a trap if 2695 * Java-compiled calling convention to the native convention, makes a dummy call
2696 // probe is enabled). The returns to the caller. Since this all looks like a 2696 * (actually nops for the size of the call instruction, which become a trap if
2697 // leaf no thread transition is needed. 2697 * probe is enabled), and finally returns to the caller. Since this all looks like a
2698 2698 * leaf, no thread transition is needed.
2699 */
2699 nmethod *AdapterHandlerLibrary::create_dtrace_nmethod(methodHandle method) { 2700 nmethod *AdapterHandlerLibrary::create_dtrace_nmethod(methodHandle method) {
2700 ResourceMark rm; 2701 ResourceMark rm;
2701 nmethod* nm = NULL; 2702 nmethod* nm = NULL;
2702 2703
2703 if (PrintCompilation) { 2704 if (PrintCompilation) {
2704 ttyLocker ttyl; 2705 ttyLocker ttyl;
2705 tty->print("--- n%s "); 2706 tty->print("--- n ");
2706 method->print_short_name(tty); 2707 method->print_short_name(tty);
2707 if (method->is_static()) { 2708 if (method->is_static()) {
2708 tty->print(" (static)"); 2709 tty->print(" (static)");
2709 } 2710 }
2710 tty->cr(); 2711 tty->cr();