--- a/src/hotspot/share/ci/ciMethod.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/ci/ciMethod.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -1111,7 +1111,7 @@
} else {
_is_c2_compilable = false;
}
- get_Method()->set_not_compilable(env->comp_level(), true, reason);
+ get_Method()->set_not_compilable(reason, env->comp_level());
}
// ------------------------------------------------------------------
--- a/src/hotspot/share/compiler/compileBroker.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/compiler/compileBroker.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -1242,7 +1242,7 @@
if (HAS_PENDING_EXCEPTION) {
// In case of an exception looking up the method, we just forget
// about it. The interpreter will kick-in and throw the exception.
- method->set_not_compilable(); // implies is_not_osr_compilable()
+ method->set_not_compilable("NativeLookup::lookup failed"); // implies is_not_osr_compilable()
CLEAR_PENDING_EXCEPTION;
return NULL;
}
@@ -1370,7 +1370,7 @@
AbstractCompiler *comp = compiler(comp_level);
if (is_native &&
(!CICompileNatives || comp == NULL || !comp->supports_native())) {
- method->set_not_compilable_quietly(comp_level);
+ method->set_not_compilable_quietly("native methods not supported", comp_level);
return true;
}
@@ -1378,7 +1378,7 @@
// Some compilers may not support on stack replacement.
if (is_osr &&
(!CICompileOSR || comp == NULL || !comp->supports_osr())) {
- method->set_not_osr_compilable(comp_level);
+ method->set_not_osr_compilable("OSR not supported", comp_level);
return true;
}
@@ -1395,7 +1395,7 @@
method->print_short_name(tty);
tty->cr();
}
- method->set_not_compilable(comp_level, !quietly, "excluded by CompileCommand");
+ method->set_not_compilable("excluded by CompileCommand", comp_level, !quietly);
}
return false;
@@ -1428,7 +1428,7 @@
}
// Method was not in the appropriate compilation range.
- method->set_not_compilable_quietly();
+ method->set_not_compilable_quietly("Not in requested compile id range");
return 0;
#else
// CICountOSR is a develop flag and set to 'false' by default. In a product built,
@@ -2195,15 +2195,15 @@
switch (compilable) {
case ciEnv::MethodCompilable_never:
if (is_osr)
- method->set_not_osr_compilable_quietly();
+ method->set_not_osr_compilable_quietly("MethodCompilable_never");
else
- method->set_not_compilable_quietly();
+ method->set_not_compilable_quietly("MethodCompilable_never");
break;
case ciEnv::MethodCompilable_not_at_tier:
if (is_osr)
- method->set_not_osr_compilable_quietly(task_level);
+ method->set_not_osr_compilable_quietly("MethodCompilable_not_at_tier", task_level);
else
- method->set_not_compilable_quietly(task_level);
+ method->set_not_compilable_quietly("MethodCompilable_not_at_tier", task_level);
break;
}
--- a/src/hotspot/share/compiler/compileTask.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/compiler/compileTask.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -416,9 +416,7 @@
log->end_elem();
log->clear_identities(); // next task will have different CI
log->tail("task");
- if (log->unflushed_count() > 2000) {
- log->flush();
- }
+ log->flush();
log->mark_file_end();
}
--- a/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -1113,7 +1113,15 @@
return (jlongArray) JVMCIENV->get_jobject(array);
C2V_END
-C2V_VMENTRY_0(int, allocateCompileId, (JNIEnv* env, jobject, jobject jvmci_method, int entry_bci))
+C2V_VMENTRY_0(jint, getCountersSize, (JNIEnv* env, jobject))
+ return (jint) JVMCICounterSize;
+C2V_END
+
+C2V_VMENTRY_0(jboolean, setCountersSize, (JNIEnv* env, jobject, jint new_size))
+ return JavaThread::resize_all_jvmci_counters(new_size);
+C2V_END
+
+C2V_VMENTRY_0(jint, allocateCompileId, (JNIEnv* env, jobject, jobject jvmci_method, int entry_bci))
HandleMark hm;
if (jvmci_method == NULL) {
JVMCI_THROW_0(NullPointerException);
@@ -1615,7 +1623,7 @@
tty->flush();
C2V_END
-C2V_VMENTRY_0(int, methodDataProfileDataSize, (JNIEnv* env, jobject, jlong metaspace_method_data, jint position))
+C2V_VMENTRY_0(jint, methodDataProfileDataSize, (JNIEnv* env, jobject, jlong metaspace_method_data, jint position))
MethodData* mdo = JVMCIENV->asMethodData(metaspace_method_data);
ProfileData* profile_data = mdo->data_at(position);
if (mdo->is_valid(profile_data)) {
@@ -1721,7 +1729,7 @@
}
C2V_END
-C2V_VMENTRY_0(int, interpreterFrameSize, (JNIEnv* env, jobject, jobject bytecode_frame_handle))
+C2V_VMENTRY_0(jint, interpreterFrameSize, (JNIEnv* env, jobject, jobject bytecode_frame_handle))
if (bytecode_frame_handle == NULL) {
JVMCI_THROW_0(NullPointerException);
}
@@ -1769,7 +1777,7 @@
}
C2V_END
-C2V_VMENTRY_0(int, getIdentityHashCode, (JNIEnv* env, jobject, jobject object))
+C2V_VMENTRY_0(jint, getIdentityHashCode, (JNIEnv* env, jobject, jobject object))
Handle obj = JVMCIENV->asConstant(JVMCIENV->wrap(object), JVMCI_CHECK_0);
return obj->identity_hash();
C2V_END
@@ -2551,7 +2559,7 @@
FailedSpeculation::free_failed_speculations((FailedSpeculation**)(address) failed_speculations_address);
}
-C2V_VMENTRY_0(bool, addFailedSpeculation, (JNIEnv* env, jobject, jlong failed_speculations_address, jbyteArray speculation_obj))
+C2V_VMENTRY_0(jboolean, addFailedSpeculation, (JNIEnv* env, jobject, jlong failed_speculations_address, jbyteArray speculation_obj))
JVMCIPrimitiveArray speculation_handle = JVMCIENV->wrap(speculation_obj);
int speculation_len = JVMCIENV->get_length(speculation_handle);
char* speculation = NEW_RESOURCE_ARRAY(char, speculation_len);
@@ -2644,6 +2652,8 @@
{CC "invalidateHotSpotNmethod", CC "(" HS_NMETHOD ")V", FN_PTR(invalidateHotSpotNmethod)},
{CC "readUncompressedOop", CC "(J)" OBJECTCONSTANT, FN_PTR(readUncompressedOop)},
{CC "collectCounters", CC "()[J", FN_PTR(collectCounters)},
+ {CC "getCountersSize", CC "()I", FN_PTR(getCountersSize)},
+ {CC "setCountersSize", CC "(I)Z", FN_PTR(setCountersSize)},
{CC "allocateCompileId", CC "(" HS_RESOLVED_METHOD "I)I", FN_PTR(allocateCompileId)},
{CC "isMature", CC "(" METASPACE_METHOD_DATA ")Z", FN_PTR(isMature)},
{CC "hasCompiledCodeForOSR", CC "(" HS_RESOLVED_METHOD "II)Z", FN_PTR(hasCompiledCodeForOSR)},
--- a/src/hotspot/share/jvmci/jvmciRuntime.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/jvmci/jvmciRuntime.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -938,8 +938,6 @@
if (exception->is_a(SystemDictionary::ThreadDeath_klass())) {
// Don't print anything if we are being killed.
} else {
- java_lang_Throwable::print(exception(), tty);
- tty->cr();
java_lang_Throwable::print_stack_trace(exception, tty);
// Clear and ignore any exceptions raised during printing
@@ -1397,11 +1395,18 @@
assert(false, "JVMCICompiler.compileMethod should always return non-null");
}
} else {
- // An uncaught exception was thrown during compilation. Generally these
- // should be handled by the Java code in some useful way but if they leak
- // through to here report them instead of dying or silently ignoring them.
- JVMCIENV->describe_pending_exception(true);
- compile_state->set_failure(false, "unexpected exception thrown");
+ // An uncaught exception here implies failure during compiler initialization.
+ // The only sensible thing to do here is to exit the VM.
+
+ // Only report initialization failure once
+ static volatile int report_init_failure = 0;
+ if (!report_init_failure && Atomic::cmpxchg(1, &report_init_failure, 0) == 0) {
+ tty->print_cr("Exception during JVMCI compiler initialization:");
+ JVMCIENV->describe_pending_exception(true);
+ }
+ JVMCIENV->clear_pending_exception();
+ before_exit((JavaThread*) THREAD);
+ vm_exit(-1);
}
if (compiler->is_bootstrapping()) {
compiler->set_bootstrap_compilation_request_handled();
--- a/src/hotspot/share/oops/method.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/oops/method.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -835,6 +835,7 @@
void Method::print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason) {
+ assert(reason != NULL, "must provide a reason");
if (PrintCompilation && report) {
ttyLocker ttyl;
tty->print("made not %scompilable on ", is_osr ? "OSR " : "");
@@ -895,7 +896,7 @@
}
// call this when compiler finds that this method is not compilable
-void Method::set_not_compilable(int comp_level, bool report, const char* reason) {
+void Method::set_not_compilable(const char* reason, int comp_level, bool report) {
if (is_always_compilable()) {
// Don't mark a method which should be always compilable
return;
@@ -926,7 +927,7 @@
return false;
}
-void Method::set_not_osr_compilable(int comp_level, bool report, const char* reason) {
+void Method::set_not_osr_compilable(const char* reason, int comp_level, bool report) {
print_made_not_compilable(comp_level, /*is_osr*/ true, report, reason);
if (comp_level == CompLevel_all) {
set_not_c1_osr_compilable();
--- a/src/hotspot/share/oops/method.hpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/oops/method.hpp Tue Jun 04 12:44:53 2019 -0700
@@ -945,14 +945,14 @@
// whether it is not compilable for another reason like having a
// breakpoint set in it.
bool is_not_compilable(int comp_level = CompLevel_any) const;
- void set_not_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
- void set_not_compilable_quietly(int comp_level = CompLevel_all) {
- set_not_compilable(comp_level, false);
+ void set_not_compilable(const char* reason, int comp_level = CompLevel_all, bool report = true);
+ void set_not_compilable_quietly(const char* reason, int comp_level = CompLevel_all) {
+ set_not_compilable(reason, comp_level, false);
}
bool is_not_osr_compilable(int comp_level = CompLevel_any) const;
- void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
- void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
- set_not_osr_compilable(comp_level, false);
+ void set_not_osr_compilable(const char* reason, int comp_level = CompLevel_all, bool report = true);
+ void set_not_osr_compilable_quietly(const char* reason, int comp_level = CompLevel_all) {
+ set_not_osr_compilable(reason, comp_level, false);
}
bool is_always_compilable() const;
--- a/src/hotspot/share/oops/methodData.hpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/oops/methodData.hpp Tue Jun 04 12:44:53 2019 -0700
@@ -2386,7 +2386,7 @@
void inc_decompile_count() {
_nof_decompiles += 1;
if (decompile_count() > (uint)PerMethodRecompilationCutoff) {
- method()->set_not_compilable(CompLevel_full_optimization, true, "decompile_count > PerMethodRecompilationCutoff");
+ method()->set_not_compilable("decompile_count > PerMethodRecompilationCutoff", CompLevel_full_optimization);
}
}
uint tenure_traps() const {
--- a/src/hotspot/share/prims/whitebox.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/prims/whitebox.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -919,9 +919,9 @@
CHECK_JNI_EXCEPTION(env);
methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
if (is_osr) {
- mh->set_not_osr_compilable(comp_level, true /* report */, "WhiteBox");
+ mh->set_not_osr_compilable("WhiteBox", comp_level);
} else {
- mh->set_not_compilable(comp_level, true /* report */, "WhiteBox");
+ mh->set_not_compilable("WhiteBox", comp_level);
}
WB_END
--- a/src/hotspot/share/runtime/deoptimization.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/runtime/deoptimization.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -2076,7 +2076,7 @@
if (trap_method() == nm->method()) {
make_not_compilable = true;
} else {
- trap_method->set_not_compilable(CompLevel_full_optimization, true, "overflow_recompile_count > PerBytecodeRecompilationCutoff");
+ trap_method->set_not_compilable("overflow_recompile_count > PerBytecodeRecompilationCutoff", CompLevel_full_optimization);
// But give grace to the enclosing nm->method().
}
}
@@ -2090,7 +2090,7 @@
// Give up compiling
if (make_not_compilable && !nm->method()->is_not_compilable(CompLevel_full_optimization)) {
assert(make_not_entrant, "consistent");
- nm->method()->set_not_compilable(CompLevel_full_optimization);
+ nm->method()->set_not_compilable("give up compiling", CompLevel_full_optimization);
}
} // Free marked resources
--- a/src/hotspot/share/runtime/thread.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/runtime/thread.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -1592,6 +1592,78 @@
}
}
+// Attempt to enlarge the array for per thread counters.
+jlong* resize_counters_array(jlong* old_counters, int current_size, int new_size) {
+ jlong* new_counters = NEW_C_HEAP_ARRAY(jlong, new_size, mtJVMCI);
+ if (new_counters == NULL) {
+ return NULL;
+ }
+ if (old_counters == NULL) {
+ old_counters = new_counters;
+ memset(old_counters, 0, sizeof(jlong) * new_size);
+ } else {
+ for (int i = 0; i < MIN2((int) current_size, new_size); i++) {
+ new_counters[i] = old_counters[i];
+ }
+ if (new_size > current_size) {
+ memset(new_counters + current_size, 0, sizeof(jlong) * (new_size - current_size));
+ }
+ FREE_C_HEAP_ARRAY(jlong, old_counters);
+ }
+ return new_counters;
+}
+
+// Attempt to enlarge the array for per thread counters.
+bool JavaThread::resize_counters(int current_size, int new_size) {
+ jlong* new_counters = resize_counters_array(_jvmci_counters, current_size, new_size);
+ if (new_counters == NULL) {
+ return false;
+ } else {
+ _jvmci_counters = new_counters;
+ return true;
+ }
+}
+
+class VM_JVMCIResizeCounters : public VM_Operation {
+ private:
+ int _new_size;
+ bool _failed;
+
+ public:
+ VM_JVMCIResizeCounters(int new_size) : _new_size(new_size), _failed(false) { }
+ VMOp_Type type() const { return VMOp_JVMCIResizeCounters; }
+ bool allow_nested_vm_operations() const { return true; }
+ void doit() {
+ // Resize the old thread counters array
+ jlong* new_counters = resize_counters_array(JavaThread::_jvmci_old_thread_counters, JVMCICounterSize, _new_size);
+ if (new_counters == NULL) {
+ _failed = true;
+ return;
+ } else {
+ JavaThread::_jvmci_old_thread_counters = new_counters;
+ }
+
+ // Now resize each threads array
+ for (JavaThreadIteratorWithHandle jtiwh; JavaThread *tp = jtiwh.next(); ) {
+ if (!tp->resize_counters(JVMCICounterSize, _new_size)) {
+ _failed = true;
+ break;
+ }
+ }
+ if (!_failed) {
+ JVMCICounterSize = _new_size;
+ }
+ }
+
+ bool failed() { return _failed; }
+};
+
+bool JavaThread::resize_all_jvmci_counters(int new_size) {
+ VM_JVMCIResizeCounters op(new_size);
+ VMThread::execute(&op);
+ return !op.failed();
+}
+
#endif // INCLUDE_JVMCI
// A JavaThread is a normal Java thread
@@ -1630,11 +1702,9 @@
_in_retryable_allocation = false;
_jvmci._alternate_call_target = NULL;
assert(_jvmci._implicit_exception_pc == NULL, "must be");
+ _jvmci_counters = NULL;
if (JVMCICounterSize > 0) {
- _jvmci_counters = NEW_C_HEAP_ARRAY(jlong, JVMCICounterSize, mtInternal);
- memset(_jvmci_counters, 0, sizeof(jlong) * JVMCICounterSize);
- } else {
- _jvmci_counters = NULL;
+ resize_counters(0, (int) JVMCICounterSize);
}
#endif // INCLUDE_JVMCI
_reserved_stack_activation = NULL; // stack base not known yet
@@ -3773,7 +3843,7 @@
#if INCLUDE_JVMCI
if (JVMCICounterSize > 0) {
- JavaThread::_jvmci_old_thread_counters = NEW_C_HEAP_ARRAY(jlong, JVMCICounterSize, mtInternal);
+ JavaThread::_jvmci_old_thread_counters = NEW_C_HEAP_ARRAY(jlong, JVMCICounterSize, mtJVMCI);
memset(JavaThread::_jvmci_old_thread_counters, 0, sizeof(jlong) * JVMCICounterSize);
} else {
JavaThread::_jvmci_old_thread_counters = NULL;
--- a/src/hotspot/share/runtime/thread.hpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/runtime/thread.hpp Tue Jun 04 12:44:53 2019 -0700
@@ -1152,6 +1152,11 @@
public:
static jlong* _jvmci_old_thread_counters;
static void collect_counters(jlong* array, int length);
+
+ bool resize_counters(int current_size, int new_size);
+
+ static bool resize_all_jvmci_counters(int new_size);
+
private:
#endif // INCLUDE_JVMCI
--- a/src/hotspot/share/runtime/tieredThresholdPolicy.cpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/runtime/tieredThresholdPolicy.cpp Tue Jun 04 12:44:53 2019 -0700
@@ -412,8 +412,14 @@
// method == inlinee if the event originated in the main method
method_back_branch_event(method, inlinee, bci, comp_level, nm, thread);
// Check if event led to a higher level OSR compilation
- nmethod* osr_nm = inlinee->lookup_osr_nmethod_for(bci, comp_level, false);
- if (osr_nm != NULL && osr_nm->comp_level() > comp_level) {
+ CompLevel expected_comp_level = comp_level;
+ if (inlinee->is_not_osr_compilable(expected_comp_level)) {
+ // It's not possble to reach the expected level so fall back to simple.
+ expected_comp_level = CompLevel_simple;
+ }
+ nmethod* osr_nm = inlinee->lookup_osr_nmethod_for(bci, expected_comp_level, false);
+ assert(osr_nm == NULL || osr_nm->comp_level() >= expected_comp_level, "lookup_osr_nmethod_for is broken");
+ if (osr_nm != NULL) {
// Perform OSR with new nmethod
return osr_nm;
}
@@ -449,9 +455,20 @@
// in the interpreter and then compile with C2 (the transition function will request that,
// see common() ). If the method cannot be compiled with C2 but still can with C1, compile it with
// pure C1.
- if (!can_be_compiled(mh, level)) {
+ if ((bci == InvocationEntryBci && !can_be_compiled(mh, level))) {
if (level == CompLevel_full_optimization && can_be_compiled(mh, CompLevel_simple)) {
- compile(mh, bci, CompLevel_simple, thread);
+ compile(mh, bci, CompLevel_simple, thread);
+ }
+ return;
+ }
+ if ((bci != InvocationEntryBci && !can_be_osr_compiled(mh, level))) {
+ if (level == CompLevel_full_optimization && can_be_osr_compiled(mh, CompLevel_simple)) {
+ nmethod* osr_nm = mh->lookup_osr_nmethod_for(bci, CompLevel_simple, false);
+ if (osr_nm != NULL && osr_nm->comp_level() > CompLevel_simple) {
+ // Invalidate the existing OSR nmethod so that a compile at CompLevel_simple is permitted.
+ osr_nm->make_not_entrant();
+ }
+ compile(mh, bci, CompLevel_simple, thread);
}
return;
}
--- a/src/hotspot/share/runtime/vmOperations.hpp Tue Jun 04 11:55:51 2019 -0700
+++ b/src/hotspot/share/runtime/vmOperations.hpp Tue Jun 04 12:44:53 2019 -0700
@@ -113,6 +113,7 @@
template(LinuxDllLoad) \
template(RotateGCLog) \
template(WhiteBoxOperation) \
+ template(JVMCIResizeCounters) \
template(ClassLoaderStatsOperation) \
template(ClassLoaderHierarchyOperation) \
template(DumpHashtable) \
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java Tue Jun 04 12:44:53 2019 -0700
@@ -560,6 +560,18 @@
native long[] collectCounters();
/**
+ * Get the current number of counters allocated for use by JVMCI. Should be the same value as
+ * the flag {@code JVMCICounterSize}.
+ */
+ native int getCountersSize();
+
+ /**
+ * Attempt to change the size of the counters allocated for JVMCI. This requires a safepoint to
+ * safely reallocate the storage but it's advisable to increase the size in reasonable chunks.
+ */
+ native boolean setCountersSize(int newSize);
+
+ /**
* Determines if {@code metaspaceMethodData} is mature.
*/
native boolean isMature(long metaspaceMethodData);
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java Tue Jun 04 12:44:53 2019 -0700
@@ -46,9 +46,15 @@
*/
private static class DummyCompilerFactory implements JVMCICompilerFactory, JVMCICompiler {
+ private final String reason;
+
+ DummyCompilerFactory(String reason) {
+ this.reason = reason;
+ }
+
@Override
public HotSpotCompilationRequestResult compileMethod(CompilationRequest request) {
- throw new JVMCIError("no JVMCI compiler selected");
+ throw new JVMCIError("no JVMCI compiler selected: " + reason);
}
@Override
@@ -79,8 +85,10 @@
JVMCICompilerFactory factory = null;
String compilerName = Option.Compiler.getString();
if (compilerName != null) {
- if (compilerName.isEmpty() || compilerName.equals("null")) {
- factory = new DummyCompilerFactory();
+ if (compilerName.isEmpty()) {
+ factory = new DummyCompilerFactory(" empty \"\" is specified");
+ } else if (compilerName.equals("null")) {
+ factory = new DummyCompilerFactory("\"null\" is specified");
} else {
for (JVMCICompilerFactory f : getJVMCICompilerFactories()) {
if (f.getCompilerName().equals(compilerName)) {
@@ -93,18 +101,20 @@
}
} else {
// Auto select a single available compiler
+ String reason = "default compiler is not found";
for (JVMCICompilerFactory f : getJVMCICompilerFactories()) {
if (factory == null) {
openJVMCITo(f.getClass().getModule());
factory = f;
} else {
// Multiple factories seen - cancel auto selection
+ reason = "multiple factories seen: \"" + factory.getCompilerName() + "\" and \"" + f.getCompilerName() + "\"";
factory = null;
break;
}
}
if (factory == null) {
- factory = new DummyCompilerFactory();
+ factory = new DummyCompilerFactory(reason);
}
}
factory.onSelection();
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java Tue Jun 04 12:44:53 2019 -0700
@@ -800,6 +800,26 @@
}
/**
+ * @return the current number of per thread counters. May be set through
+ * {@code -XX:JVMCICompilerSize=} command line option or the
+ * {@link #setCountersSize(int)} call.
+ */
+ public int getCountersSize() {
+ return compilerToVm.getCountersSize();
+ }
+
+ /**
+ * Attempt to enlarge the number of per thread counters available. Requires a safepoint so
+ * resizing should be rare to avoid performance effects.
+ *
+ * @param newSize
+ * @return false if the resizing failed
+ */
+ public boolean setCountersSize(int newSize) {
+ return compilerToVm.setCountersSize(newSize);
+ }
+
+ /**
* The offset from the origin of an array to the first element.
*
* @return the offset in bytes
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java Tue Jun 04 12:44:53 2019 -0700
@@ -507,7 +507,7 @@
@Override
public Annotation[][] getParameterAnnotations() {
- if ((getConstMethodFlags() & config().constMethodHasParameterAnnotations) == 0) {
+ if ((getConstMethodFlags() & config().constMethodHasParameterAnnotations) == 0 || isClassInitializer()) {
return new Annotation[signature.getParameterCount(false)][0];
}
return runtime().reflection.getParameterAnnotations(this);
@@ -515,7 +515,7 @@
@Override
public Annotation[] getAnnotations() {
- if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0) {
+ if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0 || isClassInitializer()) {
return new Annotation[0];
}
return runtime().reflection.getMethodAnnotations(this);
@@ -523,7 +523,7 @@
@Override
public Annotation[] getDeclaredAnnotations() {
- if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0) {
+ if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0 || isClassInitializer()) {
return new Annotation[0];
}
return runtime().reflection.getMethodDeclaredAnnotations(this);
@@ -531,7 +531,7 @@
@Override
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
- if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0) {
+ if ((getConstMethodFlags() & config().constMethodHasMethodAnnotations) == 0 || isClassInitializer()) {
return null;
}
return runtime().reflection.getMethodAnnotation(this, annotationClass);
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/SharedLibraryJVMCIReflection.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/SharedLibraryJVMCIReflection.java Tue Jun 04 12:44:53 2019 -0700
@@ -140,7 +140,8 @@
@Override
Annotation[] getAnnotations(HotSpotResolvedObjectTypeImpl holder) {
- return getClassAnnotations(holder.getName());
+ Annotation[] annotations = getClassAnnotations(holder.getName());
+ return annotations == null ? new Annotation[0] : annotations;
}
@Override
@@ -155,7 +156,11 @@
@Override
Annotation[][] getParameterAnnotations(HotSpotResolvedJavaMethodImpl javaMethod) {
- return getParameterAnnotations(javaMethod.getDeclaringClass().getName(), javaMethod.getName());
+ Annotation[][] annotations = getParameterAnnotations(javaMethod.getDeclaringClass().getName(), javaMethod.getName());
+ if (annotations == null) {
+ return new Annotation[javaMethod.signature.getParameterCount(false)][0];
+ }
+ return annotations;
}
@Override
@@ -170,7 +175,8 @@
@Override
Annotation[] getMethodAnnotations(HotSpotResolvedJavaMethodImpl javaMethod) {
- return getMethodAnnotationsInternal(javaMethod);
+ Annotation[] annotations = getMethodAnnotationsInternal(javaMethod);
+ return annotations == null ? new Annotation[0] : annotations;
}
@Override
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java Tue Jun 04 11:55:51 2019 -0700
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java Tue Jun 04 12:44:53 2019 -0700
@@ -22,8 +22,12 @@
*/
package jdk.vm.ci.hotspot;
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Formatter;
+import java.util.List;
import java.util.Objects;
/**
@@ -32,12 +36,8 @@
@SuppressWarnings("serial")
final class TranslatedException extends Exception {
- private TranslatedException(String message) {
- super(message);
- }
-
- private TranslatedException(String message, Throwable cause) {
- super(message, cause);
+ private TranslatedException(String message, Throwable translationFailure) {
+ super("[" + translationFailure + "]" + Objects.toString(message, ""));
}
/**
@@ -49,27 +49,68 @@
return this;
}
- private static Throwable create(String className, String message) {
+ /**
+ * Prints a stack trace for {@code throwable} and returns {@code true}. Used to print stack
+ * traces only when assertions are enabled.
+ */
+ private static boolean printStackTrace(Throwable throwable) {
+ throwable.printStackTrace();
+ return true;
+ }
+
+ private static Throwable initCause(Throwable throwable, Throwable cause) {
+ if (cause != null) {
+ try {
+ throwable.initCause(cause);
+ } catch (IllegalStateException e) {
+ // Cause could not be set or overwritten.
+ assert printStackTrace(e);
+ }
+ }
+ return throwable;
+ }
+
+ private static Throwable create(String className, String message, Throwable cause) {
// Try create with reflection first.
try {
Class<?> cls = Class.forName(className);
+ if (cause != null) {
+ // Handle known exception types whose cause must be set in the constructor
+ if (cls == InvocationTargetException.class) {
+ return new InvocationTargetException(cause, message);
+ }
+ if (cls == ExceptionInInitializerError.class) {
+ return new ExceptionInInitializerError(cause);
+ }
+ }
if (message == null) {
- return (Throwable) cls.getConstructor().newInstance();
+ return initCause((Throwable) cls.getConstructor().newInstance(), cause);
}
cls.getDeclaredConstructor(String.class);
- return (Throwable) cls.getConstructor(String.class).newInstance(message);
- } catch (Throwable ignore) {
+ return initCause((Throwable) cls.getConstructor(String.class).newInstance(message), cause);
+ } catch (Throwable translationFailure) {
+ if (className.equals(TranslatedException.class.getName())) {
+ // Chop the class name when boxing another TranslatedException
+ return initCause(new TranslatedException(message, translationFailure), cause);
+ }
+ return initCause(new TranslatedException(null, translationFailure), cause);
}
+ }
- if (className.equals(TranslatedException.class.getName())) {
- // Chop the class name when boxing another TranslatedException
- return new TranslatedException(message);
- }
+ /**
+ * Encodes an exception message to distinguish a null message from an empty message.
+ *
+ * @return {@code value} with a space prepended iff {@code value != null}
+ */
+ private static String encodeMessage(String value) {
+ return value != null ? ' ' + value : value;
+ }
- if (message == null) {
- return new TranslatedException(className);
+ private static String decodeMessage(String value) {
+ if (value.length() == 0) {
+ return null;
}
- return new TranslatedException(className + ": " + message);
+ return value.substring(1);
}
private static String encodedString(String value) {
@@ -78,21 +119,28 @@
/**
* Encodes {@code throwable} including its stack and causes as a string. The encoding format of
- * a single exception with its cause is:
+ * a single exception is:
*
* <pre>
* <exception class name> '|' <exception message> '|' <stack size> '|' [<class> '|' <method> '|' <file> '|' <line> '|' ]*
* </pre>
*
- * Each cause is appended after the exception is it the cause of.
+ * Each exception is encoded before the exception it causes.
*/
@VMEntryPoint
static String encodeThrowable(Throwable throwable) throws Throwable {
try {
Formatter enc = new Formatter();
- Throwable current = throwable;
- do {
- enc.format("%s|%s|", current.getClass().getName(), encodedString(current.getMessage()));
+ List<Throwable> throwables = new ArrayList<>();
+ for (Throwable current = throwable; current != null; current = current.getCause()) {
+ throwables.add(current);
+ }
+
+ // Encode from inner most cause outwards
+ Collections.reverse(throwables);
+
+ for (Throwable current : throwables) {
+ enc.format("%s|%s|", current.getClass().getName(), encodedString(encodeMessage(current.getMessage())));
StackTraceElement[] stackTrace = current.getStackTrace();
if (stackTrace == null) {
stackTrace = new StackTraceElement[0];
@@ -105,13 +153,14 @@
encodedString(frame.getFileName()), frame.getLineNumber());
}
}
- current = current.getCause();
- } while (current != null);
+ }
return enc.toString();
} catch (Throwable e) {
+ assert printStackTrace(e);
try {
return e.getClass().getName() + "|" + encodedString(e.getMessage()) + "|0|";
} catch (Throwable e2) {
+ assert printStackTrace(e2);
return "java.lang.Throwable|too many errors during encoding|0|";
}
}
@@ -146,12 +195,12 @@
try {
int i = 0;
String[] parts = encodedThrowable.split("\\|");
- Throwable parent = null;
- Throwable result = null;
+ Throwable cause = null;
+ Throwable throwable = null;
while (i != parts.length) {
String exceptionClassName = parts[i++];
- String exceptionMessage = parts[i++];
- Throwable throwable = create(exceptionClassName, exceptionMessage);
+ String exceptionMessage = decodeMessage(parts[i++]);
+ throwable = create(exceptionClassName, exceptionMessage, cause);
int stackTraceDepth = Integer.parseInt(parts[i++]);
StackTraceElement[] suffix = getStackTraceSuffix();
@@ -168,16 +217,12 @@
}
System.arraycopy(suffix, 0, stackTrace, stackTraceDepth, suffix.length);
throwable.setStackTrace(stackTrace);
- if (parent != null) {
- parent.initCause(throwable);
- } else {
- result = throwable;
- }
- parent = throwable;
+ cause = throwable;
}
- return result;
- } catch (Throwable t) {
- return new TranslatedException("Error decoding exception: " + encodedThrowable, t);
+ return throwable;
+ } catch (Throwable translationFailure) {
+ assert printStackTrace(translationFailure);
+ return new TranslatedException("Error decoding exception: " + encodedThrowable, translationFailure);
}
}
}
--- a/test/hotspot/jtreg/ProblemList-graal.txt Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/ProblemList-graal.txt Tue Jun 04 12:44:53 2019 -0700
@@ -52,6 +52,7 @@
compiler/whitebox/EnqueueMethodForCompilationTest.java 8181831 generic-all
compiler/whitebox/MakeMethodNotCompilableTest.java 8181831 generic-all
+compiler/uncommontrap/DeoptReallocFailure.java 8196611 generic-all
gc/arguments/TestNewSizeFlags.java 8196611 generic-all
gc/arguments/TestVerifyBeforeAndAfterGCFlags.java 8196611 generic-all
gc/g1/mixedgc/TestOldGenCollectionUsage.java 8196611 generic-all
@@ -59,16 +60,32 @@
gc/g1/TestPeriodicCollection.java 8196611 generic-all
gc/g1/TestFromCardCacheIndex.java 8196611 generic-all
gc/parallel/TestPrintGCDetailsVerbose.java 8196611 generic-all
-vm/gc/InfiniteList.java 8196611 generic-all
-vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java 8196611 macosx-all
+vm/gc/InfiniteList.java 8196611 generic-all
+
+vmTestbase/gc/lock/jni/jnilock001/TestDescription.java 8196611 generic-all
+vmTestbase/gc/lock/jniref/jnireflock04/TestDescription.java 8196611 generic-all
+vmTestbase/gc/lock/jvmti/alloc/jvmtialloclock02/TestDescription.java 8196611 generic-all
+vmTestbase/gc/lock/malloc/malloclock03/TestDescription.java 8196611 generic-all
vmTestbase/gc/gctests/LargeObjects/large001/large001.java 8196611 generic-all
vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except001.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except002.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except003.java 8196611 generic-all
vmTestbase/nsk/stress/except/except004.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except005.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except006.java 8196611 generic-all
vmTestbase/nsk/stress/except/except007.java 8196611 generic-all
vmTestbase/nsk/stress/except/except008.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except009.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except010.java 8196611 generic-all
vmTestbase/nsk/stress/except/except011.java 8196611 generic-all
+vmTestbase/nsk/stress/except/except012.java 8196611 generic-all
+vmTestbase/nsk/jdi/stress/serial/heapwalking001/TestDescription.java 8196611 generic-all
+vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts002/TestDescription.java 8196611 generic-all
vmTestbase/nsk/jdi/VirtualMachine/instanceCounts/instancecounts003/instancecounts003.java 8196611 generic-all
vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java 8196611 generic-all
+vmTestbase/vm/gc/compact/Humongous_NonbranchyTree/TestDescription.java 8196611 generic-all
+
serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorMultiArrayTest.java 8196611 generic-all
serviceability/tmtools/jstat/GcTest02.java 8196611 generic-all
serviceability/tmtools/jstat/GcCapacityTest.java 8196611 generic-all
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/AsResolvedJavaMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/AsResolvedJavaMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* jdk.internal.vm.ci/jdk.vm.ci.meta
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
- * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null
+ * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.AsResolvedJavaMethodTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/DoNotInlineOrCompileTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/DoNotInlineOrCompileTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.DoNotInlineOrCompileTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.FindUniqueConcreteMethodTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetBytecodeTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetBytecodeTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetBytecodeTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetClassInitializerTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetClassInitializerTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.hotspot
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetClassInitializerTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetConstantPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetConstantPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -39,7 +39,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetConstantPoolTest
*/
package compiler.jvmci.compilerToVM;
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetExceptionTableTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetExceptionTableTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetImplementorTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetImplementorTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.hotspot
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetImplementorTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLineNumberTableTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLineNumberTableTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetLineNumberTableTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLocalVariableTableTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetLocalVariableTableTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@
* @compile -g DummyClass.java
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetLocalVariableTableTest
* @clean compiler.jvmci.compilerToVM.*
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -39,7 +39,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetResolvedJavaMethodTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -45,7 +45,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -XX:-UseCompressedOops -Djvmci.Compiler=null
+ * -XX:-UseCompressedOops -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetStackTraceElementTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetStackTraceElementTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetStackTraceElementTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetSymbolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetSymbolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.meta
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetSymbolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetVtableIndexForInterfaceTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/GetVtableIndexForInterfaceTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.GetVtableIndexForInterfaceTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasFinalizableSubclassTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasFinalizableSubclassTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.hotspot
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.HasFinalizableSubclassTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasNeverInlineDirectiveTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/HasNeverInlineDirectiveTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.HasNeverInlineDirectiveTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,12 +39,10 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
- * -Djvmci.Compiler=null
* compiler.jvmci.compilerToVM.IsCompilableTest
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler
- * -Djvmci.Compiler=null
* compiler.jvmci.compilerToVM.IsCompilableTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupKlassInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupKlassRefIndexInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupMethodInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupNameAndTypeRefIndexInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupNameInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupSignatureInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupTypeTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/LookupTypeTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.hotspot
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.LookupTypeTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.MethodIsIgnoredBySecurityStackWalkTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ReadConfigurationTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ReadConfigurationTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @build compiler.jvmci.compilerToVM.ReadConfigurationTest
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ReadConfigurationTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ResolveConstantInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ResolveFieldInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.code
* @build jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ResolveMethodTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
* sun.hotspot.WhiteBox$WhiteBoxPermission
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
* -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ResolvePossiblyCachedConstantInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ResolveTypeInPoolTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ShouldInlineMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/compilerToVM/ShouldInlineMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@
* @run main/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null
+ * -XX:-UseJVMCICompiler
* compiler.jvmci.compilerToVM.ShouldInlineMethodTest
*/
--- a/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidCompilationResult.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidCompilationResult.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.common
* @compile CodeInstallerTest.java
* @run junit/othervm -da:jdk.vm.ci... -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null compiler.jvmci.errors.TestInvalidCompilationResult
+ * -XX:-UseJVMCICompiler compiler.jvmci.errors.TestInvalidCompilationResult
*/
package compiler.jvmci.errors;
--- a/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidDebugInfo.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidDebugInfo.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.common
* @compile CodeInstallerTest.java
* @run junit/othervm -da:jdk.vm.ci... -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null compiler.jvmci.errors.TestInvalidDebugInfo
+ * -XX:-UseJVMCICompiler compiler.jvmci.errors.TestInvalidDebugInfo
*/
package compiler.jvmci.errors;
--- a/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidOopMap.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidOopMap.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.common
* @compile CodeInstallerTest.java
* @run junit/othervm -da:jdk.vm.ci... -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null compiler.jvmci.errors.TestInvalidOopMap
+ * -XX:-UseJVMCICompiler compiler.jvmci.errors.TestInvalidOopMap
*/
package compiler.jvmci.errors;
--- a/test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/events/JvmciNotifyInstallEventTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -47,7 +47,7 @@
* compiler.jvmci.common.JVMCIHelpers$EmptyCompilationRequestResult
* compiler.jvmci.common.JVMCIHelpers$EmptyVMEventListener
* @run main/othervm -XX:+UnlockExperimentalVMOptions
- * -Xbootclasspath/a:. -Xmixed
+ * -Djvmci.Compiler=graal -Xbootclasspath/a:. -Xmixed
* -XX:+UseJVMCICompiler -XX:-BootstrapJVMCI
* compiler.jvmci.events.JvmciNotifyInstallEventTest
* @run main/othervm -XX:+UnlockExperimentalVMOptions
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java DebugInfoTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.DataPatchTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.DataPatchTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/InterpreterFrameSizeTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/InterpreterFrameSizeTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.InterpreterFrameSizeTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.InterpreterFrameSizeTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java DebugInfoTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.MaxOopMapStackOffsetTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.MaxOopMapStackOffsetTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java DebugInfoTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.SimpleCodeInstallationTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.SimpleCodeInstallationTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java DebugInfoTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.SimpleDebugInfoTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.SimpleDebugInfoTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.amd64
* jdk.internal.vm.ci/jdk.vm.ci.sparc
* @compile CodeInstallationTest.java DebugInfoTest.java TestAssembler.java TestHotSpotVMConfig.java amd64/AMD64TestAssembler.java sparc/SPARCTestAssembler.java
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.code.test.VirtualObjectDebugInfoTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.code.test.VirtualObjectDebugInfoTest
*/
package jdk.vm.ci.code.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
* @run driver ClassFileInstaller jdk.vm.ci.hotspot.test.DummyClass
* @run testng/othervm/timeout=300 -Xbootclasspath/a:.
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null jdk.vm.ci.hotspot.test.HotSpotConstantReflectionProviderTest
+ * -XX:-UseJVMCICompiler jdk.vm.ci.hotspot.test.HotSpotConstantReflectionProviderTest
*/
package jdk.vm.ci.hotspot.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@
* @run testng/othervm -Xbootclasspath/a:.
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null jdk.vm.ci.hotspot.test.MemoryAccessProviderTest
+ * -XX:-UseJVMCICompiler jdk.vm.ci.hotspot.test.MemoryAccessProviderTest
*/
package jdk.vm.ci.hotspot.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* @modules jdk.internal.vm.ci/jdk.vm.ci.hotspot:+open
* @run testng/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
- * -Djvmci.Compiler=null jdk.vm.ci.hotspot.test.MethodHandleAccessProviderTest
+ * -XX:-UseJVMCICompiler jdk.vm.ci.hotspot.test.MethodHandleAccessProviderTest
*/
package jdk.vm.ci.hotspot.test;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Tue Jun 04 12:44:53 2019 -0700
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package jdk.vm.ci.hotspot.test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestTranslatedException {
+
+ private static String printToString(Throwable throwable) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ try (PrintStream ps = new PrintStream(baos)) {
+ throwable.printStackTrace(ps);
+ }
+ return baos.toString();
+ }
+
+ @SuppressWarnings("serial")
+ public static class Untranslatable extends RuntimeException {
+ public Untranslatable(String message, Throwable cause) {
+ super(message, cause);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void encodeDecodeTest() throws Exception {
+
+ Class<?> translatedExceptionClass = Class.forName("jdk.vm.ci.hotspot.TranslatedException");
+
+ Method encode = translatedExceptionClass.getDeclaredMethod("encodeThrowable", Throwable.class);
+ Method decode = translatedExceptionClass.getDeclaredMethod("decodeThrowable", String.class);
+ encode.setAccessible(true);
+ decode.setAccessible(true);
+
+ Throwable throwable = new ExceptionInInitializerError(new InvocationTargetException(new Untranslatable("test exception", new NullPointerException()), "invoke"));
+ for (int i = 0; i < 10; i++) {
+ throwable = new ExceptionInInitializerError(new InvocationTargetException(new RuntimeException(String.valueOf(i), throwable), "invoke"));
+ }
+ String before = printToString(throwable);
+ String encoding = (String) encode.invoke(null, throwable);
+ Throwable decoded = (Throwable) decode.invoke(null, encoding);
+ String after = printToString(decoded);
+
+ after = after.replace(
+ "jdk.vm.ci.hotspot.TranslatedException: [java.lang.ClassNotFoundException: jdk/vm/ci/hotspot/test/TestTranslatedException$Untranslatable]",
+ "jdk.vm.ci.hotspot.test.TestTranslatedException$Untranslatable: test exception");
+
+ Assert.assertEquals("before:\n" + before + "\nafter:\n" + after, before, after);
+ }
+}
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.ConstantTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.ConstantTest
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* jdk.attach
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null -Djdk.attach.allowAttachSelf jdk.vm.ci.runtime.test.RedefineClassTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler -Djdk.attach.allowAttachSelf jdk.vm.ci.runtime.test.RedefineClassTest
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
* @requires vm.jvmci
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.ResolvedJavaTypeResolveConcreteMethodTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.ResolvedJavaTypeResolveConcreteMethodTest
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
* @requires vm.jvmci
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.ResolvedJavaTypeResolveMethodTest
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.ResolvedJavaTypeResolveMethodTest
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestConstantReflectionProvider.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestConstantReflectionProvider.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestConstantReflectionProvider
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestConstantReflectionProvider
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaField.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaField.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestJavaField
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestJavaField
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaMethod.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaMethod.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestJavaMethod
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestJavaMethod
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaType.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaType.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestJavaType
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestJavaType
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestMetaAccessProvider
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestMetaAccessProvider
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java Tue Jun 04 12:44:53 2019 -0700
@@ -29,7 +29,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestResolvedJavaField
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestResolvedJavaField
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java Tue Jun 04 12:44:53 2019 -0700
@@ -29,7 +29,7 @@
* @modules jdk.internal.vm.ci/jdk.vm.ci.meta
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestResolvedJavaMethod
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestResolvedJavaMethod
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@
* jdk.internal.vm.ci/jdk.vm.ci.runtime
* jdk.internal.vm.ci/jdk.vm.ci.common
* java.base/jdk.internal.misc
- * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null jdk.vm.ci.runtime.test.TestResolvedJavaType
+ * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler jdk.vm.ci.runtime.test.TestResolvedJavaType
*/
package jdk.vm.ci.runtime.test;
--- a/test/hotspot/jtreg/compiler/jvmci/meta/StableFieldTest.java Tue Jun 04 11:55:51 2019 -0700
+++ b/test/hotspot/jtreg/compiler/jvmci/meta/StableFieldTest.java Tue Jun 04 12:44:53 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
*
* @compile StableFieldTest.java
* @run driver ClassFileInstaller compiler.jvmci.meta.StableFieldTest
- * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null -Xbootclasspath/a:. compiler.jvmci.meta.StableFieldTest
+ * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler -Xbootclasspath/a:. compiler.jvmci.meta.StableFieldTest
*/
package compiler.jvmci.meta;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/whitebox/OSRFailureLevel4Test.java Tue Jun 04 12:44:53 2019 -0700
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test OSRFailureLevel4Test
+ * @summary check that not compilable OSR level 4 results in falling back to level 1
+ * @library /test/lib /
+ * @modules java.base/jdk.internal.misc
+ * java.management
+ * @build sun.hotspot.WhiteBox
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ * sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
+ * -XX:+WhiteBoxAPI -XX:+TieredCompilation compiler.whitebox.OSRFailureLevel4Test
+ */
+
+package compiler.whitebox;
+
+import sun.hotspot.WhiteBox;
+import java.lang.reflect.Executable;
+import java.lang.reflect.Method;
+
+public class OSRFailureLevel4Test extends Thread {
+ private static final WhiteBox WHITE_BOX = WhiteBox.getWhiteBox();
+ private static final long BACKEDGE_THRESHOLD = 150000;
+ private Method method;
+
+ public static void main(String[] args) throws Exception {
+ OSRFailureLevel4Test test = new OSRFailureLevel4Test();
+ test.test();
+ }
+
+ /**
+ * Triggers two different OSR compilations for the same method and
+ * checks if WhiteBox.deoptimizeMethod() deoptimizes both.
+ *
+ * @throws Exception
+ */
+ public void test() throws Exception {
+ method = OSRFailureLevel4Test.class.getDeclaredMethod("run");
+ WHITE_BOX.makeMethodNotCompilable(method, 4, true);
+
+ Thread t = new OSRFailureLevel4Test();
+ t.setDaemon(true);
+ t.start();
+
+ int currentLevel = 0;
+ int loops = 0;
+ while (true) {
+ int level = WHITE_BOX.getMethodCompilationLevel(method, true);
+ if (level == 1) {
+ System.err.println("success");
+ running = false;
+ return;
+ }
+ if (level == currentLevel) {
+ Thread.sleep(1000);
+ loops++;
+ if (loops > 100) {
+ running = false;
+ throw new AssertionError("Never reached level 1");
+ }
+ continue;
+ }
+ currentLevel = level;
+ System.err.println("Current level = " + currentLevel);
+ }
+
+ }
+
+ static volatile int counter = 0;
+ static boolean running = true;
+
+ public void run() {
+ while (running) {
+ counter++;
+ }
+ }
+}
--- a/test/jdk/ProblemList-graal.txt Tue Jun 04 11:55:51 2019 -0700
+++ b/test/jdk/ProblemList-graal.txt Tue Jun 04 12:44:53 2019 -0700
@@ -29,9 +29,12 @@
java/lang/Class/getDeclaredField/ClassDeclaredFieldsTest.java 8185139 generic-all
java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java 8185139 generic-all
+java/lang/invoke/InvokeDynamicPrintArgs.java 8185139 generic-all
+java/lang/invoke/MethodHandleConstants.java 8185139 generic-all
java/lang/ProcessBuilder/Basic.java#id0 8185139 generic-all
java/lang/ProcessBuilder/Basic.java#id1 8185139 generic-all
java/lang/ProcessBuilder/SecurityManagerClinit.java 8185139 generic-all
+java/lang/ProcessHandle/PermissionTest.java 8185139 generic-all
java/lang/reflect/Proxy/nonPublicProxy/NonPublicProxyClass.java 8185139 generic-all
java/lang/StackWalker/CallerSensitiveMethod/Main.java 8185139 generic-all
java/lang/StackWalker/GetCallerClassTest.java 8185139 generic-all
@@ -48,12 +51,14 @@
java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java 8185139 generic-all
java/lang/System/LoggerFinder/internal/PlatformLoggerBridgeTest/PlatformLoggerBridgeTest.java 8185139 generic-all
java/lang/System/LoggerFinder/jdk/DefaultLoggerBridgeTest/DefaultLoggerBridgeTest.java 8185139 generic-all
+java/lang/System/LoggerFinder/jdk/DefaultPlatformLoggerTest/DefaultPlatformLoggerTest.java 8185139 generic-all
java/lang/System/LoggerFinder/LoggerFinderAPI/LoggerFinderAPI.java 8185139 generic-all
java/util/concurrent/atomic/AtomicUpdaters.java 8185139 generic-all
java/util/concurrent/Executors/PrivilegedCallables.java 8185139 generic-all
java/util/logging/FileHandlerPath.java 8185139 generic-all
java/util/logging/FileHandlerPatternExceptions.java 8185139 generic-all
java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java 8185139 generic-all
+java/util/logging/LogManagerAppContextDeadlock.java 8185139 generic-all
java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexResetUpdate.java 8185139 generic-all
java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexUpdate.java 8185139 generic-all
java/util/logging/LogManager/Configuration/updateConfiguration/SimpleUpdateConfigurationTest.java 8185139 generic-all
@@ -68,6 +73,7 @@
java/util/concurrent/tck/JSR166TestCase.java 8187486 generic-all
java/lang/ref/OOMEInReferenceHandler.java 8196611 generic-all
+java/lang/ref/SoftReference/Pin.java 8196611 generic-all
java/lang/Runtime/exec/LotsOfOutput.java 8196611 generic-all
java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java 8196611 generic-all
vm/gc/InfiniteList.java 8196611 generic-all
@@ -104,3 +110,6 @@
# Next tests should be re-enabled once libgraal is introduced
java/lang/ref/ReachabilityFenceTest.java 8207267 generic-all
+
+# Next test failed to create new adapter because CodeCache is full with Graal compiled methods.
+java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java 8207267 generic-all