8225019: Update JVMCI

Reviewed-by: never, dlong
This commit is contained in:
Vladimir Kozlov 2019-06-04 12:44:53 -07:00
parent 766a7dd9f7
commit 7356905a83
83 changed files with 609 additions and 210 deletions
src
test
hotspot/jtreg
ProblemList-graal.txt
compiler
jvmci
compilerToVM
errors
events
jdk.vm.ci.code.test/src/jdk/vm/ci/code/test
jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test
jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test
meta
whitebox
jdk

@ -1111,7 +1111,7 @@ void ciMethod::set_not_compilable(const char* reason) {
} else {
_is_c2_compilable = false;
}
get_Method()->set_not_compilable(env->comp_level(), true, reason);
get_Method()->set_not_compilable(reason, env->comp_level());
}
// ------------------------------------------------------------------

@ -1242,7 +1242,7 @@ nmethod* CompileBroker::compile_method(const methodHandle& method, int osr_bci,
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 @@ bool CompileBroker::compilation_is_prohibited(const methodHandle& method, int os
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 @@ bool CompileBroker::compilation_is_prohibited(const methodHandle& method, int os
// 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 @@ bool CompileBroker::compilation_is_prohibited(const methodHandle& method, int os
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 @@ int CompileBroker::assign_compile_id(const methodHandle& method, int osr_bci) {
}
// 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 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
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;
}

@ -416,9 +416,7 @@ void CompileTask::log_task_done(CompileLog* log) {
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();
}

@ -1113,7 +1113,15 @@ C2V_VMENTRY_NULL(jlongArray, collectCounters, (JNIEnv* env, jobject))
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 @@ C2V_VMENTRY(void, flushDebugOutput, (JNIEnv* env, jobject))
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_VMENTRY(void, ensureInitialized, (JNIEnv* env, jobject, jobject jvmci_type))
}
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_VMENTRY(void, compileToBytecode, (JNIEnv* env, jobject, jobject lambda_form_
}
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 @@ C2V_VMENTRY(void, releaseFailedSpeculations, (JNIEnv* env, jobject, jlong failed
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 @@ JNINativeMethod CompilerToVM::methods[] = {
{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)},

@ -938,8 +938,6 @@ void JVMCIRuntime::describe_pending_hotspot_exception(JavaThread* THREAD, bool c
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 @@ void JVMCIRuntime::compile_method(JVMCIEnv* JVMCIENV, JVMCICompiler* compiler, c
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();

@ -835,6 +835,7 @@ void Method::set_signature_handler(address handler) {
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 @@ bool Method::is_not_compilable(int comp_level) const {
}
// 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 @@ bool Method::is_not_osr_compilable(int comp_level) const {
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();

@ -945,14 +945,14 @@ public:
// 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;

@ -2386,7 +2386,7 @@ public:
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 {

@ -919,9 +919,9 @@ WB_ENTRY(void, WB_MakeMethodNotCompilable(JNIEnv* env, jobject o, jobject method
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

@ -2076,7 +2076,7 @@ JRT_ENTRY(void, Deoptimization::uncommon_trap_inner(JavaThread* thread, jint tra
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 @@ JRT_ENTRY(void, Deoptimization::uncommon_trap_inner(JavaThread* thread, jint tra
// 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

@ -1592,6 +1592,78 @@ void JavaThread::collect_counters(jlong* array, int length) {
}
}
// 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 @@ void JavaThread::initialize() {
_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 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
#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;

@ -1152,6 +1152,11 @@ class JavaThread: public Thread {
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

@ -412,8 +412,14 @@ nmethod* TieredThresholdPolicy::event(const methodHandle& method, const methodHa
// 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 @@ void TieredThresholdPolicy::compile(const methodHandle& mh, int bci, CompLevel l
// 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;
}

@ -113,6 +113,7 @@
template(LinuxDllLoad) \
template(RotateGCLog) \
template(WhiteBoxOperation) \
template(JVMCIResizeCounters) \
template(ClassLoaderStatsOperation) \
template(ClassLoaderHierarchyOperation) \
template(DumpHashtable) \

@ -559,6 +559,18 @@ final class CompilerToVM {
*/
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.
*/

@ -46,9 +46,15 @@ final class HotSpotJVMCICompilerConfig {
*/
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 @@ final class HotSpotJVMCICompilerConfig {
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 @@ final class HotSpotJVMCICompilerConfig {
}
} 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();

@ -799,6 +799,26 @@ assert factories != null : "sanity";
return compilerToVm.collectCounters();
}
/**
* @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.
*

@ -507,7 +507,7 @@ final class HotSpotResolvedJavaMethodImpl extends HotSpotMethod implements HotSp
@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 @@ final class HotSpotResolvedJavaMethodImpl extends HotSpotMethod implements HotSp
@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 @@ final class HotSpotResolvedJavaMethodImpl extends HotSpotMethod implements HotSp
@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 @@ final class HotSpotResolvedJavaMethodImpl extends HotSpotMethod implements HotSp
@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);

@ -140,7 +140,8 @@ class SharedLibraryJVMCIReflection extends HotSpotJVMCIReflection {
@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 @@ class SharedLibraryJVMCIReflection extends HotSpotJVMCIReflection {
@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 @@ class SharedLibraryJVMCIReflection extends HotSpotJVMCIReflection {
@Override
Annotation[] getMethodAnnotations(HotSpotResolvedJavaMethodImpl javaMethod) {
return getMethodAnnotationsInternal(javaMethod);
Annotation[] annotations = getMethodAnnotationsInternal(javaMethod);
return annotations == null ? new Annotation[0] : annotations;
}
@Override

@ -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 @@ import java.util.Objects;
@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 @@ final class TranslatedException extends Exception {
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 @@ final class TranslatedException extends Exception {
/**
* 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 @@ final class TranslatedException extends Exception {
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 @@ final class TranslatedException extends Exception {
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 @@ final class TranslatedException extends Exception {
}
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);
}
}
}

@ -52,6 +52,7 @@ compiler/whitebox/ClearMethodStateTest.java 8181831 generi
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/TestConcurrentSystemGC.java 8196611 generi
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

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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;

@ -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
*/

@ -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
*/

@ -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
*/

@ -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.*
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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
*/

@ -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;

@ -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;

@ -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;

@ -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

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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);
}
}

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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;

@ -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++;
}
}
}

@ -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/LoggerBridgeTest/LoggerBridgeTest.java
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/logging/FileHandlerLongLimit.java 8185139
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 @@ jdk/jfr/event/compiler/TestCompilerPhase.java 8193210 generic-all
# 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