equal
deleted
inserted
replaced
690 nmethod_size, offsets->value(CodeOffsets::Frame_Complete), frame_size, oop_maps), |
690 nmethod_size, offsets->value(CodeOffsets::Frame_Complete), frame_size, oop_maps), |
691 _native_receiver_sp_offset(basic_lock_owner_sp_offset), |
691 _native_receiver_sp_offset(basic_lock_owner_sp_offset), |
692 _native_basic_lock_sp_offset(basic_lock_sp_offset) |
692 _native_basic_lock_sp_offset(basic_lock_sp_offset) |
693 { |
693 { |
694 { |
694 { |
695 debug_only(No_Safepoint_Verifier nsv;) |
695 debug_only(NoSafepointVerifier nsv;) |
696 assert_locked_or_safepoint(CodeCache_lock); |
696 assert_locked_or_safepoint(CodeCache_lock); |
697 |
697 |
698 init_defaults(); |
698 init_defaults(); |
699 _method = method; |
699 _method = method; |
700 _entry_bci = InvocationEntryBci; |
700 _entry_bci = InvocationEntryBci; |
794 _native_receiver_sp_offset(in_ByteSize(-1)), |
794 _native_receiver_sp_offset(in_ByteSize(-1)), |
795 _native_basic_lock_sp_offset(in_ByteSize(-1)) |
795 _native_basic_lock_sp_offset(in_ByteSize(-1)) |
796 { |
796 { |
797 assert(debug_info->oop_recorder() == code_buffer->oop_recorder(), "shared OR"); |
797 assert(debug_info->oop_recorder() == code_buffer->oop_recorder(), "shared OR"); |
798 { |
798 { |
799 debug_only(No_Safepoint_Verifier nsv;) |
799 debug_only(NoSafepointVerifier nsv;) |
800 assert_locked_or_safepoint(CodeCache_lock); |
800 assert_locked_or_safepoint(CodeCache_lock); |
801 |
801 |
802 init_defaults(); |
802 init_defaults(); |
803 _method = method; |
803 _method = method; |
804 _entry_bci = entry_bci; |
804 _entry_bci = entry_bci; |
1402 assert(!is_zombie(), "should not already be a zombie"); |
1402 assert(!is_zombie(), "should not already be a zombie"); |
1403 |
1403 |
1404 // Make sure neither the nmethod nor the method is flushed in case of a safepoint in code below. |
1404 // Make sure neither the nmethod nor the method is flushed in case of a safepoint in code below. |
1405 nmethodLocker nml(this); |
1405 nmethodLocker nml(this); |
1406 methodHandle the_method(method()); |
1406 methodHandle the_method(method()); |
1407 No_Safepoint_Verifier nsv; |
1407 NoSafepointVerifier nsv; |
1408 |
1408 |
1409 // during patching, depending on the nmethod state we must notify the GC that |
1409 // during patching, depending on the nmethod state we must notify the GC that |
1410 // code has been unloaded, unregistering it. We cannot do this right while |
1410 // code has been unloaded, unregistering it. We cannot do this right while |
1411 // holding the Patching_lock because we need to use the CodeCache_lock. This |
1411 // holding the Patching_lock because we need to use the CodeCache_lock. This |
1412 // would be prone to deadlocks. |
1412 // would be prone to deadlocks. |