# HG changeset patch # User dlong # Date 1540857389 25200 # Mon Oct 29 16:56:29 2018 -0700 # Node ID 6d23cfa61f33283bcd55c36cdc0cf8d261354452 # Parent 124af9276e44fa0ea95a3894318f04ee2523bc73 8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames diff --git a/src/hotspot/share/aot/aotLoader.cpp b/src/hotspot/share/aot/aotLoader.cpp --- a/src/hotspot/share/aot/aotLoader.cpp +++ b/src/hotspot/share/aot/aotLoader.cpp @@ -47,13 +47,8 @@ return; } if (UseAOT) { - if (JvmtiExport::can_hotswap_or_post_breakpoint()) { - if (PrintAOT) { - warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)"); - } - FLAG_SET_DEFAULT(UseAOT, false); - return; - } + // We allow hotswap to be enabled after the onload phase, but not breakpoints + assert(!JvmtiExport::can_post_breakpoint(), "AOT should have been disabled."); FOR_ALL_AOT_HEAPS(heap) { (*heap)->load_klass_data(ik, thread); } @@ -120,9 +115,9 @@ return; } - if (JvmtiExport::can_hotswap_or_post_breakpoint()) { + if (JvmtiExport::can_post_breakpoint()) { if (PrintAOT) { - warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)"); + warning("JVMTI capability to post breakpoint is not compatible with AOT (switching AOT off)"); } FLAG_SET_DEFAULT(UseAOT, false); return;