<AWT Dev> RFR: 8259651: [macOS] Replace JNF_COCOA_ENTER/EXIT macros [v2]

Phil Race prr at openjdk.java.net
Thu Jan 14 21:41:21 UTC 2021


> 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

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2056/files
  - new: https://git.openjdk.java.net/jdk/pull/2056/files/7dd3ec01..207ad745

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2056&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2056&range=00-01

  Stats: 16 lines in 3 files changed: 6 ins; 8 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2056.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2056/head:pull/2056

PR: https://git.openjdk.java.net/jdk/pull/2056


More information about the awt-dev mailing list