[lworld] RFR: 8337210: [lworld] Incorrect IC check leads to continuous cache misses

Tobias Hartmann thartmann at openjdk.org
Thu Jul 25 13:29:14 UTC 2024


Fixes an incorrect merge of [JDK-8322630](https://bugs.openjdk.org/browse/JDK-8322630) into Valhalla, breaking IC miss resolution and leading to continuous re-resolution of IC calls.

Incorrect IC check:

   0x7f9184adfd04:	mov    0x8(%rsi),%r10d
   0x7f9184adfd08:	cmp    %r10,%rax
   0x7f9184adfd0b:	jne    0x7f918465b520


Correct IC check:

  0x7f2b90ae1d04:   mov    0x8(%rsi),%r10d
  0x7f2b90ae1d08:   cmp    0x8(%rax),%r10d
  0x7f2b90ae1d0c:   jne    0x00007f2b9065a820


I intentionally left out the test that reproduces this because it's a very specific issue and the test would require parsing the output of `-XX:+TraceCallFixup` which is error prone (stress flags might trigger resolution unexpectedly).

Thanks to @chhagedorn for helping to narrow this down!

Thanks,
Tobias

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

Commit messages:
 - 8335578

Changes: https://git.openjdk.org/valhalla/pull/1182/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1182&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8337210
  Stats: 20 lines in 3 files changed: 0 ins; 18 del; 2 mod
  Patch: https://git.openjdk.org/valhalla/pull/1182.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1182/head:pull/1182

PR: https://git.openjdk.org/valhalla/pull/1182


More information about the valhalla-dev mailing list