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

David Simms dsimms at openjdk.java.net
Wed Jul 14 06:56:35 UTC 2021


On Fri, 2 Jul 2021 17:56:35 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> 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

Looks good, one comment, on comments, the description that is in the PR is quite useful, probably should appear in code somewhere:

> The old version of withfield in the interpreter runtime has not been removed because it is still used by the aarch64 platform.

I.e. a comment on withfield vs withfield2

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

Marked as reviewed by dsimms (Committer).

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


More information about the valhalla-dev mailing list