RFR: JDK-8269408: [lworld] [lqagain] Withfield and field resolution update [v2]

Frederic Parain fparain at openjdk.java.net
Fri Jul 2 17:56:35 UTC 2021

> Please review those changes in the interpreter and the field resolution code.
> With the L/Q model, field resolution must now check that putfield is applied only on identity objects and withfield is applied only on primitive objects.
> The interpreter now performs the required null check on the receiver when executing a withfield bytecode.
> The implementation of withfield has been reworked to remove some of the costly operations it was using (retrieving the last Java frame to be able to extract arguments of the withfield bytecode). The old version of withfield in the interpreter runtime has not been removed because it is still used by the aarch64 platform.
> The withfield unit test has been extended to cover all kind of fields.
> No additional test regarding field resolution has been added yet, I'll work with Harold to define and implement them. They'll be integrated in a later patch.
> Thank you,
> Fred

Frederic Parain has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/lqagain' into withfield_int
 - More efficient interpreted withfield


  - all: https://git.openjdk.java.net/valhalla/pull/465/files
  - new: https://git.openjdk.java.net/valhalla/pull/465/files/f88c8c30..89ec593e

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

  Stats: 1239 lines in 4 files changed: 282 ins; 768 del; 189 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/465.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/465/head:pull/465

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

More information about the valhalla-dev mailing list