<AWT Dev> RFR: 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros [v2]
Sergey Bylokhov
serb at openjdk.java.net
Fri Jan 15 06:33:06 UTC 2021
On Thu, 14 Jan 2021 21:41:21 GMT, Phil Race <prr at openjdk.org> wrote:
>> Most of the changes here are simply
>> JNF_COCOA_ENTER -> JNI_COCOA_ENTER
>> JNF_COCOA_EXIT -> JNI_COCOA_EXIT
>>
>> These new macros are defined in JNIUtilities.h and handle the auto release and on exit catch any NSException.
>> Unlike the JNF code, JNI exceptions don't have to be extracted from the NSException.
>>
>> So calls to JNFException are also removed and in most cases they are just directly using one of the JNU_*
>> defined exceptions since we are in a native nethod and can return control directly to Java.
>>
>> JNIUtilities has just two macros for cases where we need to accompany it with an NSException because
>> we aren't in the immediate body of a JNI method.
>>
>> JNIUtilities also has a macro JNI_COCOA_EXIT_WITH_ACTION
>> This is used by a macro in QuartzSurfaceData.m to re-implement a pre-existing macro
>> JNF_COCOA_RENDERER_EXIT as JNI_COCOA_RENDERER_EXIT.
>> This is used in a few places to ensure that we call FinishSurface on the Quartz surface.
>>
>> This already passed all our automated tests, although I'm re-running since I needed to merge to the
>> current repo state.
>
> Phil Race has updated the pull request incrementally with one additional commit since the last revision:
>
> 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros
Marked as reviewed by serb (Reviewer).
-------------
PR: https://git.openjdk.java.net/jdk/pull/2056
More information about the awt-dev
mailing list