RFR(S): 8205515: assert(opcode == Op_RangeCheck) failed: no other if variant here
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Jun 28 17:56:39 UTC 2018
Looks like this change cause an other crash for example in
gc/stress/gcbasher/TestGCBasherWithG1.java (no special flags are needed
- only ones in the test)
# Internal Error
(t:/workspace/open/src/hotspot/share/opto/loopnode.cpp:4244), pid=7124,
tid=10384
# assert(is_dominator(early, c)) failed: least != early so we can move
up the dominator tree
Current CompileTask:
C2: 16468 914 4 Decompiler::<init> (169 bytes)
Stack: [0x000000012b801000,0x000000012b901000], sp=0x000000012b8fc3a0,
free space=1004k
Native frames: (J=compiled Java code, A=aot compiled Java code,
j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0xc39b71] VMError::report_and_die(int, char const*,
char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char
const*, int, unsigned long)+0x609
V [libjvm.dylib+0xc3a229] VMError::report_and_die(Thread*, void*, char
const*, int, char const*, char const*, __va_list_tag*)+0x47
V [libjvm.dylib+0x459d6b] report_vm_error(char const*, int, char
const*, char const*, ...)+0xcc
V [libjvm.dylib+0x8eb337]
PhaseIdealLoop::build_loop_late_post(Node*)+0x6e5
V [libjvm.dylib+0x8e79f0] PhaseIdealLoop::build_loop_late(VectorSet&,
Node_List&, Node_Stack&)+0x2a2
V [libjvm.dylib+0x8e6865] PhaseIdealLoop::build_and_optimize(bool,
bool, bool)+0x5ef
V [libjvm.dylib+0x3cb84e] Compile::Optimize()+0xb5c
Vladimir
On 6/28/18 7:40 AM, Roland Westrelin wrote:
>
> http://cr.openjdk.java.net/~roland/8205515/webrev.00/
>
> Profile predicates try to apply predication to a CountedLoopNodeEnd
> that's produced as a result of peeling (so it's no longer a true end of
> loop node). I added the same check that regular predication performs.
>
> Also, I noticed I forgot to check for Reason_profile_predicate in
> dominated_by() methods. I couldn't get a test case that would fail
> because of that (I can get a load node that doesn't depend on the right
> predicate anymore but the load node is scheduled too late for the test
> to fail). I included the fix here. Or do I need another bug for this?
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list