Integrated: 8336489: Track scoped accesses in JVMCI compiled code
Carlo Refice
duke at openjdk.org
Mon Aug 5 14:12:37 UTC 2024
On Fri, 19 Jul 2024 14:46:38 GMT, Carlo Refice <duke at openjdk.org> wrote:
> This PR adds JVMCI support to scoped access tracking introduced in #20158.
>
> In this PR:
> * The `Method::is_scoped` flag is now exposed in JVMCI as `HotSpotResolvedJavaMethod.isScoped()`, and serialized to / deserialized from the JVMCI compiled code stream as a boolean flag.
> * To determine whether a compiled method has a scoped access, we simply check `HotSpotResolvedJavaMethod.isScoped()` returns `true` for the root method or any of the methods that were inlined in the compilation.
> * The above check is implemented as the method `HotSpotCompiledNMethod.hasScopedAccess()`, instead of as an explicit flag set in a the constructor of `HotSpotCompiledNMethod`. This keeps the change isolated to JVMCI, without requiring coordinated changes to the Graal compiler. No other changes in the compiler are necessary to benefit from the optimization.
This pull request has now been integrated.
Changeset: c095c0e6
Author: Carlo Refice <carlo.refice at oracle.com>
URL: https://git.openjdk.org/jdk/commit/c095c0e6a58b1665d51ff19381e32f168e99e8f5
Stats: 72 lines in 11 files changed: 66 ins; 0 del; 6 mod
8336489: Track scoped accesses in JVMCI compiled code
Reviewed-by: dnsimon, never
-------------
PR: https://git.openjdk.org/jdk/pull/20256
More information about the hotspot-compiler-dev
mailing list