[lworld] RFR: 8260283: [lworld] C1's EliminateFieldAccess optimization fails with "wrong types"

Tobias Hartmann thartmann at openjdk.java.net
Fri Jan 22 12:00:22 UTC 2021


C1's delayed field access optimization ([JDK-8229897](https://bugs.openjdk.java.net/browse/JDK-8229897)) does not update the field when updating a `LoadField`. The `EliminateFieldAccess` optimization then uses the wrong field (offset) to look up the loaded value in the `MemoryBuffer`. We hit an assert because the field types do not match.

Thanks,
Tobias

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

Commit messages:
 - 8260283: [lworld] C1's EliminateFieldAccess optimization fails with "wrong types"

Changes: https://git.openjdk.java.net/valhalla/pull/311/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=311&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260283
  Stats: 21 lines in 2 files changed: 13 ins; 3 del; 5 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/311.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/311/head:pull/311

PR: https://git.openjdk.java.net/valhalla/pull/311



More information about the valhalla-dev mailing list