8209574: [AOT] breakpoint events are generated in different threads does not meet expected count
Disable AOT when debugger is attached. Reviewed-by: dlong
This commit is contained in:
parent
3521fc392e
commit
7069bb6a72
@ -47,6 +47,13 @@ void AOTLoader::load_for_klass(InstanceKlass* ik, Thread* thread) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (UseAOT) {
|
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;
|
||||||
|
}
|
||||||
FOR_ALL_AOT_HEAPS(heap) {
|
FOR_ALL_AOT_HEAPS(heap) {
|
||||||
(*heap)->load_klass_data(ik, thread);
|
(*heap)->load_klass_data(ik, thread);
|
||||||
}
|
}
|
||||||
@ -54,6 +61,7 @@ void AOTLoader::load_for_klass(InstanceKlass* ik, Thread* thread) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint64_t AOTLoader::get_saved_fingerprint(InstanceKlass* ik) {
|
uint64_t AOTLoader::get_saved_fingerprint(InstanceKlass* ik) {
|
||||||
|
assert(UseAOT, "called only when AOT is enabled");
|
||||||
if (ik->is_unsafe_anonymous()) {
|
if (ik->is_unsafe_anonymous()) {
|
||||||
// don't even bother
|
// don't even bother
|
||||||
return 0;
|
return 0;
|
||||||
@ -67,24 +75,6 @@ uint64_t AOTLoader::get_saved_fingerprint(InstanceKlass* ik) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AOTLoader::find_klass(InstanceKlass* ik) {
|
|
||||||
FOR_ALL_AOT_HEAPS(heap) {
|
|
||||||
if ((*heap)->find_klass(ik) != NULL) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool AOTLoader::contains(address p) {
|
|
||||||
FOR_ALL_AOT_HEAPS(heap) {
|
|
||||||
if ((*heap)->contains(p)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AOTLoader::oops_do(OopClosure* f) {
|
void AOTLoader::oops_do(OopClosure* f) {
|
||||||
if (UseAOT) {
|
if (UseAOT) {
|
||||||
FOR_ALL_AOT_HEAPS(heap) {
|
FOR_ALL_AOT_HEAPS(heap) {
|
||||||
@ -130,6 +120,14 @@ void AOTLoader::initialize() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
// -Xint is not compatible with AOT
|
// -Xint is not compatible with AOT
|
||||||
if (Arguments::is_interpreter_only()) {
|
if (Arguments::is_interpreter_only()) {
|
||||||
if (PrintAOT) {
|
if (PrintAOT) {
|
||||||
|
@ -59,9 +59,7 @@ public:
|
|||||||
static void universe_init() NOT_AOT_RETURN;
|
static void universe_init() NOT_AOT_RETURN;
|
||||||
static void set_narrow_oop_shift() NOT_AOT_RETURN;
|
static void set_narrow_oop_shift() NOT_AOT_RETURN;
|
||||||
static void set_narrow_klass_shift() NOT_AOT_RETURN;
|
static void set_narrow_klass_shift() NOT_AOT_RETURN;
|
||||||
static bool contains(address p) NOT_AOT({ return false; });
|
|
||||||
static void load_for_klass(InstanceKlass* ik, Thread* thread) NOT_AOT_RETURN;
|
static void load_for_klass(InstanceKlass* ik, Thread* thread) NOT_AOT_RETURN;
|
||||||
static bool find_klass(InstanceKlass* ik) NOT_AOT({ return false; });
|
|
||||||
static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; });
|
static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; });
|
||||||
static void oops_do(OopClosure* f) NOT_AOT_RETURN;
|
static void oops_do(OopClosure* f) NOT_AOT_RETURN;
|
||||||
static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN;
|
static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN;
|
||||||
|
@ -100,6 +100,7 @@ public class AotCompiler {
|
|||||||
}
|
}
|
||||||
List<String> args = new ArrayList<>();
|
List<String> args = new ArrayList<>();
|
||||||
args.add("--compile-with-assertions");
|
args.add("--compile-with-assertions");
|
||||||
|
args.add("--info");
|
||||||
args.add("--output");
|
args.add("--output");
|
||||||
args.add(libName);
|
args.add(libName);
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user