RFR: 8336489: Track scoped accesses in JVMCI compiled code [v6]
Carlo Refice
duke at openjdk.org
Mon Aug 5 12:44:04 UTC 2024
> 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.
Carlo Refice has updated the pull request incrementally with one additional commit since the last revision:
Assert that ResolvedJavaMethod#isScoped returns true at least once
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/20256/files
- new: https://git.openjdk.org/jdk/pull/20256/files/8fabb8bb..8b61ab79
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=20256&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=20256&range=04-05
Stats: 6 lines in 2 files changed: 5 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/20256.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/20256/head:pull/20256
PR: https://git.openjdk.org/jdk/pull/20256
More information about the graal-dev
mailing list