RFR: JDK-8269408: [lworld] [lqagain] Withfield and field resolution update
Frederic Parain
fparain at openjdk.java.net
Fri Jun 25 20:02:34 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
-------------
Commit messages:
- More efficient interpreted withfield
Changes: https://git.openjdk.java.net/valhalla/pull/465/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=465&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8269408
Stats: 226 lines in 5 files changed: 224 ins; 0 del; 2 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