RFR: 8260407: cmp != __null && cmp->Opcode() == Op_CmpL failure with -XX:StressLongCountedLoop=200000000 in lucene

Roland Westrelin roland at openjdk.java.net
Tue Jan 26 15:19:54 UTC 2021


Long counted loops are transformed in 3 steps:

1- LongCountedLoopNode/LongCountedLoopEndNode are created (similar to
int counted loops)

2- a loop nest is built from the
LongCountedLoopNode/LongCountedLoopEndNode with an inner loop with a
int iv

3- the inner loop is transformed to a CountedLoop

Between 1- and 2-, the LongCountedLoopEndNode is transformed by split
if because a dominated if uses the same condition. Fix simplys applies
existing check for CountedLoopEndNode to LongCountedLoopEndNode.

-------------

Commit messages:
 - fix & test

Changes: https://git.openjdk.java.net/jdk/pull/2240/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2240&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260407
  Stats: 73 lines in 2 files changed: 72 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2240.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2240/head:pull/2240

PR: https://git.openjdk.java.net/jdk/pull/2240


More information about the hotspot-compiler-dev mailing list