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

Tobias Hartmann thartmann at openjdk.java.net
Fri Jan 22 13:04:27 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

Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision:

  Field should not be updated


  - all: https://git.openjdk.java.net/valhalla/pull/311/files
  - new: https://git.openjdk.java.net/valhalla/pull/311/files/122ccf46..ee55b86b

 - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=311&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=311&range=00-01

  Stats: 14 lines in 2 files changed: 1 ins; 5 del; 8 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