[master] Integrated: 8300573: [Lilliput] Properly set ZF on anon-check path; avoid some conditional branches

Roman Kennke rkennke at openjdk.org
Mon Jan 23 08:05:36 UTC 2023


On Wed, 18 Jan 2023 17:11:02 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> In AArch64's fast_unlock(), we need to check if the monitor owner is ANONYMOUS (only with Lilliput/fast-locking), and if so, call the runtime to fix this before exiting the monitor. I tried to be smart and used tbnz there, but it turns out that tbnz does *not* set the zero flag, but we do need the ZF set correctly on exit of fast_unlock, so that C2 generated code would actually call the slow path. Therefore we need to use the longer tst/br instructions instead.
> 
> The change also removes some conditional branches.
> 
> All of the changes have already been integrated into the upstream proposed PR: https://github.com/openjdk/jdk/pull/10907/
> 
> Testing:
>  - [x] tier1
>  - [x] tier2

This pull request has now been integrated.

Changeset: 89bd889d
Author:    Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.org/lilliput/commit/89bd889d0a1a115aba605726f70b07c8f222b0e0
Stats:     19 lines in 1 file changed: 12 ins; 2 del; 5 mod

8300573: [Lilliput] Properly set ZF on anon-check path; avoid some conditional branches

Reviewed-by: shade

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

PR: https://git.openjdk.org/lilliput/pull/63


More information about the lilliput-dev mailing list