RFR: 8334495: Use FFM instead of jdk.internal.misc.Unsafe in java.desktop font implementation [v2]

Per Minborg pminborg at openjdk.org
Tue Jun 25 09:25:10 UTC 2024


On Mon, 24 Jun 2024 22:25:22 GMT, Phil Race <prr at openjdk.org> wrote:

>> Migrate font code from jdk.internal.misc.Unsafe to using FFM.
>> This reduces the coupling between the java.desktop module and the internals of the java.base module.
>> 
>> The code being changed here is not particularly performance sensitive, and it is not executed in the most common cases.
>> The main impact performance-wise is a total of around 37ms in initialisation costs on my x64 macbook.
>> A minimal program that just draws a string to an image - does not even put up a window - runs at around 690-700ms.
>> There's variability in that number and the overall time for a JDK without the change is around (660-670ms)
>> In the small test, this is the first and only use of FFM, so the one-off part cost should move elsewhere when FFM starts
>> to be used earlier in the JDK itself.
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8334495

src/java.desktop/share/classes/sun/font/StrikeCache.java line 112:

> 110:      * references a memory address for a "null" glyph image.
> 111:      */
> 112:     static final int nativeAddressSize = (int)ValueLayout.ADDRESS.byteSize();

Suggestion: NATIVE_ADDRESS_SIZE

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19777#discussion_r1652341149


More information about the client-libs-dev mailing list