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

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

  We don't even need to keep track of the field, holder is sufficient

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

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

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

  Stats: 11 lines in 2 files changed: 0 ins; 0 del; 11 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