-
Notifications
You must be signed in to change notification settings - Fork 722
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize OpenJDK VarHandle operation methods #19234
Conversation
e385fbb
to
75359b3
Compare
@jdmpapin requesting review. |
@jdmpapin Sorry about the delay in getting back to this PR. I have addressed your review comments. |
Could you please squash the two commits? |
VarHandle operation methods are mostly calls to Unsafe methods, which under certain circumstances can be folded into simple loads and stores in UnsafeFastPath as we can determine the object base and offsets at compile time. In other cases, we can unlock the fast paths for the Unsafe operations by setting the appropriate flags for CodeGen to inline the intrinsics if the platform supports the operations. Signed-off-by: Nazim Bhuiyan <[email protected]>
Jenkins test sanity all jdk17 |
Jenkins test sanity plinux jdk17 |
The plinux machine doesn't boot. It will be offline for the foreseeable future. If you want to run a plinux build it will have to be done internally using a personal build. I suppose we should modify "all" to remove plinux. #19518 |
All other checks have passed |
Highly likely his change is the cause of #19532. It's causing too many failure in the builds so I'm going to revert it for now until it can be fixed. Double checking the tests pass without this change in https://openj9-jenkins.osuosl.org/job/Pipeline-Build-Test-Personal/528 |
Reverted via #19535 |
The personal build didn't work too well because of infra issues, but the nightly builds are passing with the change reverted. |
VarHandle operation methods are mostly calls to Unsafe methods, which under certain circumstances can be folded into simple loads and stores in UnsafeFastPath as we can determine the object base and offsets at compile time. In other cases, we can unlock the fast paths for the Unsafe operations by setting the appropriate flags for CodeGen to inline the intrinsics if the platform supports the operations.
In draft state while I perform further testing and performance investigations.