RFR: 8348556: Inlining fails earlier for MemorySegment::reinterpret
Per Minborg
pminborg at openjdk.org
Wed Feb 5 13:27:05 UTC 2025
On Wed, 5 Feb 2025 10:17:09 GMT, Per Minborg <pminborg at openjdk.org> wrote:
> This PR proposes to add some `@ForceInline` annotations in the `Module` class in order to assist inlining of FFM var/method handles.
>
> Tested and passed tier1-3
src/java.base/share/classes/java/lang/Module.java line 281:
> 279: @ForceInline
> 280: private static boolean isNativeAccessEnabled(Module target) {
> 281: return target.enableNativeAccess || UNSAFE.getBooleanVolatile(target, FIELD_OFFSET);
Tries plain memory semantics first.
src/java.base/share/classes/java/lang/Module.java line 311:
> 309:
> 310: @DontInline
> 311: void ensureNativeAccessSlowPath(Class<?> owner,
This is slow anyhow so we do not need it to be inlined.
src/java.base/share/classes/java/lang/Module.java line 488:
> 486: // if other is an unnamed module then check if this module reads
> 487: // all unnamed modules
> 488: return !other.isNamed()
This is a drive-by simplification.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23460#discussion_r1942603002
PR Review Comment: https://git.openjdk.org/jdk/pull/23460#discussion_r1942606189
PR Review Comment: https://git.openjdk.org/jdk/pull/23460#discussion_r1942604940
More information about the core-libs-dev
mailing list