TestArrayCopyWithOops.java fails with "-XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0" and some other flag combinations:
=== Meet Not Symmetric ===
t = narrowoop: java/lang/Object *[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):NotNull:exact *
this= flat:top[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):AnyNull:flat(+bot):null_free *,iid=top (inline_depth=1)
mt=(t meet this)= narrowoop: java/lang/Object *[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):NotNull:exact *
t_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
this_dual= stable:bottom[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
mt_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet t_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet this_dual= stable:bottom[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error(/workspace/open/src/hotspot/share/opto/type.cpp:1028), pid=3391667, tid=3391685
# fatal error: meet not symmetric
Current CompileTask:
C2: 1223 89 b 4 java.util.Arrays::copyOf (40 bytes)
Stack: [0x00007f6a2d20d000,0x00007f6a2d30d000], sp=0x00007f6a2d309440, free space=1009k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x182542b] Type::check_symmetrical(Type const*, Type const*, VerifyMeet const&) const+0x1fb (type.cpp:1028)
V [libjvm.so+0x182577d] Type::meet_helper(Type const*, bool) const+0x26d (type.cpp:1063)
V [libjvm.so+0x1826480] TypePtr::xmeet_speculative(TypePtr const*) const+0x60 (type.hpp:257)
V [libjvm.so+0x18314ad] TypeAryPtr::xmeet_helper(Type const*) const+0x59d (type.cpp:5189)
V [libjvm.so+0x1815306] TypePtr::xmeet(Type const*) const+0x16 (type.cpp:2818)
V [libjvm.so+0x1836584] VerifyMeetResult::meet(Type const*, Type const*)+0xd4 (type.cpp:942)
V [libjvm.so+0x182528e] Type::check_symmetrical(Type const*, Type const*, VerifyMeet const&) const+0x5e (type.cpp:988)
V [libjvm.so+0x18257aa] Type::meet_helper(Type const*, bool) const+0x29a (type.cpp:1065)
V [libjvm.so+0x8bc00e] PhiNode::Value(PhaseGVN*) const+0x22e (type.hpp:261)
V [libjvm.so+0x1574fef] PhaseGVN::transform_no_reclaim(Node*)+0x1bf (phaseX.cpp:709)
V [libjvm.so+0x152f8dd] Parse::merge_common(Parse::Block*, int)+0x68d (parse1.cpp:1953)
V [libjvm.so+0x1532185] Parse::do_all_blocks()+0x135 (parse1.cpp:741)
V [libjvm.so+0x1536f16] Parse::Parse(JVMState*, ciMethod*, float)+0xf86 (parse1.cpp:645)
V [libjvm.so+0x873ff8] ParseGenerator::generate(JVMState*)+0x168 (callGenerator.cpp:100)
V [libjvm.so+0xa255fe] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15ee (compile.cpp:792)
V [libjvm.so+0x871a0b] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x12b (c2compiler.cpp:119)
V [libjvm.so+0xa313c7] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x977 (compileBroker.cpp:2276)
V [libjvm.so+0xa320d0] CompileBroker::compiler_thread_loop()+0x5c0 (compileBroker.cpp:1944)
V [libjvm.so+0xef4bdc] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:721)
V [libjvm.so+0x17f638a] Thread::call_run()+0xba (thread.cpp:217)
V [libjvm.so+0x14e0351] thread_native_entry(Thread*)+0x121 (os_linux.cpp:783)
TestLWorld.java fails with "-XX:TypeProfileLevel=222":
=== Meet Not Symmetric ===
t = narrowoop: flat:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):NotNull:exact *[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact:flat(+bot):null_free *[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520> *
this= flat:narrowoop: java/lang/Object:AnyNull *,iid=top[int:3] (java/lang/Cloneable,java/io/Serializable):AnyNull:flat(+bot):null_free *,iid=top (inline_depth=1)
mt=(t meet this)= narrowoop: flat:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):NotNull:exact *[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact:flat(+bot):null_free *[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520> *
t_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
this_dual= stable:narrowoop: java/lang/Object:NotNull * (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
mt_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet t_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet this_dual= stable:narrowoop: java/lang/Object:NotNull * (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
=== Meet Not Symmetric ===
t = narrowoop: java/lang/Object *[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):NotNull:exact *
this= flat:top[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):AnyNull:flat(+bot):null_free *,iid=top (inline_depth=1)
mt=(t meet this)= narrowoop: java/lang/Object *[int:0..max-2] (java/lang/Cloneable,java/io/Serializable):NotNull:exact *
t_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
this_dual= stable:bottom[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
mt_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet t_dual= stable:flat:narrowoop: java/lang/Object:TopPTR *,iid=top (inline_depth=InlineDepthTop)[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):AnyNull:exact:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet this_dual= stable:bottom[int:max-2..0] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error(/workspace/open/src/hotspot/share/opto/type.cpp:1028), pid=3391667, tid=3391685
# fatal error: meet not symmetric
Current CompileTask:
C2: 1223 89 b 4 java.util.Arrays::copyOf (40 bytes)
Stack: [0x00007f6a2d20d000,0x00007f6a2d30d000], sp=0x00007f6a2d309440, free space=1009k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x182542b] Type::check_symmetrical(Type const*, Type const*, VerifyMeet const&) const+0x1fb (type.cpp:1028)
V [libjvm.so+0x182577d] Type::meet_helper(Type const*, bool) const+0x26d (type.cpp:1063)
V [libjvm.so+0x1826480] TypePtr::xmeet_speculative(TypePtr const*) const+0x60 (type.hpp:257)
V [libjvm.so+0x18314ad] TypeAryPtr::xmeet_helper(Type const*) const+0x59d (type.cpp:5189)
V [libjvm.so+0x1815306] TypePtr::xmeet(Type const*) const+0x16 (type.cpp:2818)
V [libjvm.so+0x1836584] VerifyMeetResult::meet(Type const*, Type const*)+0xd4 (type.cpp:942)
V [libjvm.so+0x182528e] Type::check_symmetrical(Type const*, Type const*, VerifyMeet const&) const+0x5e (type.cpp:988)
V [libjvm.so+0x18257aa] Type::meet_helper(Type const*, bool) const+0x29a (type.cpp:1065)
V [libjvm.so+0x8bc00e] PhiNode::Value(PhaseGVN*) const+0x22e (type.hpp:261)
V [libjvm.so+0x1574fef] PhaseGVN::transform_no_reclaim(Node*)+0x1bf (phaseX.cpp:709)
V [libjvm.so+0x152f8dd] Parse::merge_common(Parse::Block*, int)+0x68d (parse1.cpp:1953)
V [libjvm.so+0x1532185] Parse::do_all_blocks()+0x135 (parse1.cpp:741)
V [libjvm.so+0x1536f16] Parse::Parse(JVMState*, ciMethod*, float)+0xf86 (parse1.cpp:645)
V [libjvm.so+0x873ff8] ParseGenerator::generate(JVMState*)+0x168 (callGenerator.cpp:100)
V [libjvm.so+0xa255fe] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15ee (compile.cpp:792)
V [libjvm.so+0x871a0b] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x12b (c2compiler.cpp:119)
V [libjvm.so+0xa313c7] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x977 (compileBroker.cpp:2276)
V [libjvm.so+0xa320d0] CompileBroker::compiler_thread_loop()+0x5c0 (compileBroker.cpp:1944)
V [libjvm.so+0xef4bdc] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:721)
V [libjvm.so+0x17f638a] Thread::call_run()+0xba (thread.cpp:217)
V [libjvm.so+0x14e0351] thread_native_entry(Thread*)+0x121 (os_linux.cpp:783)
TestLWorld.java fails with "-XX:TypeProfileLevel=222":
=== Meet Not Symmetric ===
t = narrowoop: flat:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):NotNull:exact *[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact:flat(+bot):null_free *[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520> *
this= flat:narrowoop: java/lang/Object:AnyNull *,iid=top[int:3] (java/lang/Cloneable,java/io/Serializable):AnyNull:flat(+bot):null_free *,iid=top (inline_depth=1)
mt=(t meet this)= narrowoop: flat:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):NotNull:exact *[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact:flat(+bot):null_free *[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520> *
t_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
this_dual= stable:narrowoop: java/lang/Object:NotNull * (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)
mt_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet t_dual= stable:flat:narrowoop: stable:narrowoop: compiler/valhalla/inlinetypes/MyValue1 (compiler/valhalla/inlinetypes/MyInterface):AnyNull:exact *,iid=top (inline_depth=InlineDepthTop)[int:max..0] (java/lang/Cloneable,java/io/Serializable):TopPTR:exact:null_free *,iid=top (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable)<ciObjArray length=3 type=<ciObjArrayKlass name=[[Qcompiler/valhalla/inlinetypes/MyValue1; loaded=true ident=1415 address=0x00007f9c5c79b458> ident=1430 address=0x00007f9c5c9b2520>:flat(+top):null_free *,iid=top (inline_depth=InlineDepthTop)
mt_dual meet this_dual= stable:narrowoop: java/lang/Object:NotNull * (inline_depth=InlineDepthTop)[int:3] (java/lang/Cloneable,java/io/Serializable):NotNull * (inline_depth=-1)