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(); |