> 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