mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
8245877: assert(_value != __null) failed: resolving NULL _value in JvmtiExport::post_compiled_method_load
Reviewed-by: sspitsyn, dholmes, coleenp
This commit is contained in:
parent
ee526a2ea8
commit
b969136b9f
4 changed files with 6 additions and 4 deletions
|
@ -1608,6 +1608,8 @@ void nmethod::post_compiled_method_load_event(JvmtiThreadState* state) {
|
||||||
if (is_not_entrant() && can_convert_to_zombie()) {
|
if (is_not_entrant() && can_convert_to_zombie()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Ensure the sweeper can't collect this nmethod until it become "active" with JvmtiThreadState::nmethods_do.
|
||||||
|
mark_as_seen_on_stack();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is a bad time for a safepoint. We don't want
|
// This is a bad time for a safepoint. We don't want
|
||||||
|
|
|
@ -2206,6 +2206,7 @@ void JvmtiExport::post_compiled_method_load(JvmtiEnv* env, nmethod *nm) {
|
||||||
ResourceMark rm(thread);
|
ResourceMark rm(thread);
|
||||||
HandleMark hm(thread);
|
HandleMark hm(thread);
|
||||||
|
|
||||||
|
assert(!nm->is_zombie(), "nmethod zombie in post_compiled_method_load");
|
||||||
// Add inlining information
|
// Add inlining information
|
||||||
jvmtiCompiledMethodLoadInlineRecord* inlinerecord = create_inline_record(nm);
|
jvmtiCompiledMethodLoadInlineRecord* inlinerecord = create_inline_record(nm);
|
||||||
// Pass inlining information through the void pointer
|
// Pass inlining information through the void pointer
|
||||||
|
|
|
@ -962,10 +962,10 @@ JvmtiDeferredEvent JvmtiDeferredEventQueue::dequeue() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void JvmtiDeferredEventQueue::post(JvmtiEnv* env) {
|
void JvmtiDeferredEventQueue::post(JvmtiEnv* env) {
|
||||||
// Post and destroy queue nodes
|
// Post events while nmethods are still in the queue and can't be unloaded or made zombie
|
||||||
while (_queue_head != NULL) {
|
while (_queue_head != NULL) {
|
||||||
JvmtiDeferredEvent event = dequeue();
|
_queue_head->event().post_compiled_method_load_event(env);
|
||||||
event.post_compiled_method_load_event(env);
|
dequeue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,7 +111,6 @@ serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatIntervalTest.java 8214
|
||||||
serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java 8224150 generic-all
|
serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java 8224150 generic-all
|
||||||
serviceability/jvmti/ModuleAwareAgents/ThreadStart/MAAThreadStart.java 8225354 windows-all
|
serviceability/jvmti/ModuleAwareAgents/ThreadStart/MAAThreadStart.java 8225354 windows-all
|
||||||
serviceability/dcmd/gc/RunFinalizationTest.java 8227120 linux-all,windows-x64
|
serviceability/dcmd/gc/RunFinalizationTest.java 8227120 linux-all,windows-x64
|
||||||
serviceability/jvmti/CompiledMethodLoad/Zombie.java 8245877 linux-aarch64
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue