Duplicate :
|
|
Relates :
|
|
Relates :
|
The following tests fail when testing the working patch for JDK-6824466 in -Xcomp: https://github.com/mlchung/jdk/tree/method-invoke-4 The fix for JDK-6824466 replaces the core reflection implementation to use method handles which can stress JIT compilation of method handles much more and shake out any issue. test/jdk/java/lang/invoke/MethodHandlesGeneralTest.java test/jdk/java/lang/reflect/Field/TestFieldReflectValueOf.java Running with these VM flags (tier8-comp): -Xcomp -XX:+CreateCoredumpOnCrash -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation # assert(is_reference(type)) failed: must be reference type Current thread (0x00007fdce080be20): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=23555, stack(0x00007000016c3000,0x00007000017c3000)] Current CompileTask: C2: 12490 3014 b jdk.internal.reflect.FieldAccessorImpl_S$$4/0x000000032f0c2800::setShort (10 bytes) Stack: [0x00007000016c3000,0x00007000017c3000], sp=0x00007000017c07a0, free space=1013k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.dylib+0x1214c6c] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6dc V [libjvm.dylib+0x121527b] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x3b V [libjvm.dylib+0x61b6bd] report_vm_error(char const*, int, char const*, char const*, ...)+0xdd V [libjvm.dylib+0x54607d] ciTypeFlow::StateVector::load_local_object(int)+0x13d V [libjvm.dylib+0x544de0] ciTypeFlow::StateVector::apply_one_bytecode(ciBytecodeStream*)+0x750 V [libjvm.dylib+0x541fc4] ciTypeFlow::flow_block(ciTypeFlow::Block*, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x374 V [libjvm.dylib+0x54c38f] ciTypeFlow::df_flow_types(ciTypeFlow::Block*, bool, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x40f V [libjvm.dylib+0x54c770] ciTypeFlow::flow_types()+0x1b0 V [libjvm.dylib+0x54d185] ciTypeFlow::do_flow()+0x95 V [libjvm.dylib+0x510f0e] ciMethod::get_flow_analysis()+0x5e V [libjvm.dylib+0x398fad] InlineTree::check_can_parse(ciMethod*)+0x9d V [libjvm.dylib+0x4a7dd8] CallGenerator::for_inline(ciMethod*, float)+0x18 V [libjvm.dylib+0x5bbf7a] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x11da V [libjvm.dylib+0x4a534b] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x10b V [libjvm.dylib+0x5d8f51] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x9b1 V [libjvm.dylib+0x5d8382] CompileBroker::compiler_thread_loop()+0x322 V [libjvm.dylib+0x116ea8c] JavaThread::thread_main_inner()+0x28c V [libjvm.dylib+0x116e7ad] JavaThread::run()+0x2ad V [libjvm.dylib+0x116b5b7] Thread::call_run()+0x177 V [libjvm.dylib+0xe4f57f] thread_native_entry(Thread*)+0x15f C [libsystem_pthread.dylib+0x6109] _pthread_start+0x94 C [libsystem_pthread.dylib+0x1b8b] thread_start+0xf