Re: RFR: 8240567: MethodTooLargeException thrown while creating a jlink image [v6]

2022-12-07 Thread Alan Bateman
On Thu, 8 Dec 2022 07:41:22 GMT, Oliver Kopp wrote: > Yes. Then, the compiler still works - and we can try to debug using the test > case (yet to be finalized). Okay, so maybe the PR should be returned to draft until it is ready. - PR: https://git.openjdk.org/jdk/pull/10704

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v7]

2022-12-07 Thread Alan Bateman
On Thu, 8 Dec 2022 07:51:00 GMT, Doug Simon wrote: > Sorry I checked with Alan over Slack who said to go ahead with merging. Yeah, I was busy at the time and didn't get a chance to say that I didn't have any more comments/issues. - PR: https://git.openjdk.org/jdk/pull/11513

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v7]

2022-12-07 Thread Doug Simon
On Wed, 7 Dec 2022 19:49:47 GMT, Doug Simon wrote: >> Libgraal is compiled ahead of time and should not need any JVMCI Java code >> to be dynamically loaded at runtime. Prior to this PR, this is not the case >> due to: >> >> * Code to copy system properties from the HotSpot heap into the libgr

Re: RFR: 8240567: MethodTooLargeException thrown while creating a jlink image [v6]

2022-12-07 Thread Oliver Kopp
On Tue, 6 Dec 2022 16:46:02 GMT, Alan Bateman wrote: > Would it be possible to paste in a summary on the VerifyError with the > previous iteration? Isn't this https://github.com/openjdk/jdk/pull/10704#issuecomment-1286106503? Type top (current frame, locals[15]) is not assignable to refere

Integrated: 8296896: Change virtual Thread.yield to use external submit

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 10:16:38 GMT, Alan Bateman wrote: > The implementation of Thread.yield for virtual threads is currently a "lazy > submit". This means the task for the virtual thread is queued to the > carrier/worker local queue without signalling other threads. This behavior > can be surpri

Re: RFR: 8296896: Change virtual Thread.yield to use external submit [v2]

2022-12-07 Thread Jaikiran Pai
On Thu, 8 Dec 2022 07:21:13 GMT, Alan Bateman wrote: >> The implementation of Thread.yield for virtual threads is currently a "lazy >> submit". This means the task for the virtual thread is queued to the >> carrier/worker local queue without signalling other threads. This behavior >> can be su

Re: RFR: 8297295: Remove ThreadGroup.allowThreadSuspension [v2]

2022-12-07 Thread Alan Bateman
> Another small step in the multi-release/multi-year effort to remove cruft > from Thread/ThreadGroup. > > java.lang.ThreadGroup.allowThreadSuspension(boolean) dates from JDK 1.1 and > the Classic VM. The method controlled whether threads were suspended when the > GC failed. It appears to have

Re: RFR: 8296896: Change virtual Thread.yield to use external submit [v2]

2022-12-07 Thread Alan Bateman
On Thu, 8 Dec 2022 02:21:54 GMT, Paul Sandoz wrote: >> Alan Bateman has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains five additional >> commits s

Re: RFR: 8296896: Change virtual Thread.yield to use external submit [v2]

2022-12-07 Thread Alan Bateman
> The implementation of Thread.yield for virtual threads is currently a "lazy > submit". This means the task for the virtual thread is queued to the > carrier/worker local queue without signalling other threads. This behavior > can be surprising/unfair when there are tasks in the submission queu

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v5]

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 15:44:28 GMT, Doug Simon wrote: >> src/java.base/share/classes/jdk/internal/vm/VMSupport.java line 106: >> >>> 104: } >>> 105: if (props.get("oome") != null) { >>> 106: throw new OutOfMemoryError("forced OOME"); >> >> I don't think code in java.bas

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v2]

2022-12-07 Thread Alan Bateman
On Mon, 5 Dec 2022 17:30:24 GMT, Doug Simon wrote: >> I assume this function should therefore be named `is_module_observable`? > > How about this: > > // Determines if the named module is present in the > // modules jimage file or in the exploded modules directory. > static bool is_module_observ

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v7]

2022-12-07 Thread David Holmes
On Wed, 7 Dec 2022 19:49:47 GMT, Doug Simon wrote: >> Libgraal is compiled ahead of time and should not need any JVMCI Java code >> to be dynamically loaded at runtime. Prior to this PR, this is not the case >> due to: >> >> * Code to copy system properties from the HotSpot heap into the libgr

Re: RFR: 8296896: Change virtual Thread.yield to use external submit

2022-12-07 Thread Paul Sandoz
On Tue, 6 Dec 2022 10:16:38 GMT, Alan Bateman wrote: > The implementation of Thread.yield for virtual threads is currently a "lazy > submit". This means the task for the virtual thread is queued to the > carrier/worker local queue without signalling other threads. This behavior > can be surpri

Re: RFR: 8298277: Replace "session" with "scope" for FFM access

2022-12-07 Thread Maurizio Cimadamore
On Wed, 7 Dec 2022 21:55:43 GMT, Per Minborg wrote: > This PR suggests renaming various names from "session" to "scope" in > accordance with https://openjdk.org/jeps/434 > > The PRs contains changes for several sub-components. I think we should split this PR into multiple parts: * there are so

Re: RFR: 8298277: Replace "session" with "scope" for FFM access

2022-12-07 Thread Jorn Vernee
On Wed, 7 Dec 2022 21:55:43 GMT, Per Minborg wrote: > This PR suggests renaming various names from "session" to "scope" in > accordance with https://openjdk.org/jeps/434 > > The PRs contains changes for several sub-components. src/java.base/share/classes/jdk/internal/foreign/MemoryScopeImpl.ja

Integrated: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime

2022-12-07 Thread Doug Simon
On Mon, 5 Dec 2022 13:16:25 GMT, Doug Simon wrote: > Libgraal is compiled ahead of time and should not need any JVMCI Java code to > be dynamically loaded at runtime. Prior to this PR, this is not the case due > to: > > * Code to copy system properties from the HotSpot heap into the libgraal

RFR: 8298277: Replace "session" with "scope" for FFM access

2022-12-07 Thread Per Minborg
This PR suggests renaming various names from "session" to "scope" in accordance with https://openjdk.org/jeps/434 The PRs contains changes for several sub-components. - Commit messages: - Rename session to scope Changes: https://git.openjdk.org/jdk/pull/11573/files Webrev: https:

Re: RFR: 8297271: AccessFlags should be specific to class file version [v2]

2022-12-07 Thread Roger Riggs
On Wed, 7 Dec 2022 20:17:57 GMT, Joe Darcy wrote: >> Should the masking out unassigned bits that is done in this method be >> extended to the existing `AccessFlag.maskToAccessFlags(mask, location)`; >> Instead of throwing `IllegalArgumentException`? >> The two methods should be consistent in t

Integrated: 8295803: Console should be usable in jshell and other environments

2022-12-07 Thread Naoto Sato
On Tue, 29 Nov 2022 19:38:02 GMT, Naoto Sato wrote: > This is to allow Console to be used even when it is not attached to the > platform provided terminal, such as the case when the standard input is > redirected. `System.console()` now returns a Console implementation based on > `jdk.internal

Re: RFR: 8295803: Console should be usable in jshell and other environments [v13]

2022-12-07 Thread Alan Bateman
On Wed, 7 Dec 2022 19:19:25 GMT, Naoto Sato wrote: >> This is to allow Console to be used even when it is not attached to the >> platform provided terminal, such as the case when the standard input is >> redirected. `System.console()` now returns a Console implementation based on >> `jdk.inter

Re: RFR: 8284493: Improve computeNextExponential tail performance and accuracy [v16]

2022-12-07 Thread Xin Liu
On Fri, 2 Dec 2022 20:38:14 GMT, Chris Hennick wrote: > It's probably just a statistical fluke involving a very large return value, > but to know for sure I'd need a way to gather statistics about the return > values and how they correlate with running-time outliers. Yeah, it's likely that p10

Re: RFR: 8297271: AccessFlags should be specific to class file version [v2]

2022-12-07 Thread Joe Darcy
On Wed, 7 Dec 2022 19:59:08 GMT, Roger Riggs wrote: > Should the masking out unassigned bits that is done in this method be > extended to the existing `AccessFlag.maskToAccessFlags(mask, location)`; > Instead of throwing `IllegalArgumentException`? The two methods should be > consistent in thi

Re: RFR: 8297271: AccessFlags should be specific to class file version [v2]

2022-12-07 Thread Roger Riggs
On Tue, 6 Dec 2022 03:33:25 GMT, Joe Darcy wrote: >> I would propose to say: >> >> Mask bits that do not match an {@code AccessFlag} for the location and >> class file format version are ignored. >> >> The case arises when the mask argument contains mask bits that are not >> cons

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v7]

2022-12-07 Thread Doug Simon
> Libgraal is compiled ahead of time and should not need any JVMCI Java code to > be dynamically loaded at runtime. Prior to this PR, this is not the case due > to: > > * Code to copy system properties from the HotSpot heap into the libgraal > heap. This is in > `jdk.vm.ci.services.Services.in

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v6]

2022-12-07 Thread Doug Simon
On Wed, 7 Dec 2022 18:42:43 GMT, Alan Bateman wrote: >> Doug Simon has updated the pull request incrementally with four additional >> commits since the last revision: >> >> - formatting to avoid very long lines [skip ci] >> - removed debug code [skip ci] >> - clarify Properties filtering [sk

Re: RFR: 8295803: Console should be usable in jshell and other environments [v12]

2022-12-07 Thread Naoto Sato
On Wed, 7 Dec 2022 18:57:19 GMT, Alan Bateman wrote: >> Naoto Sato has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Addressing review comments > > src/java.base/share/classes/java/io/ProxyingConsole.java line 167: > >> 165: @Over

Re: RFR: 8295803: Console should be usable in jshell and other environments [v13]

2022-12-07 Thread Naoto Sato
> This is to allow Console to be used even when it is not attached to the > platform provided terminal, such as the case when the standard input is > redirected. `System.console()` now returns a Console implementation based on > `jdk.internal.le` terminal by default, or jshell implementation if

Re: RFR: 8295803: Console should be usable in jshell and other environments [v12]

2022-12-07 Thread Alan Bateman
On Wed, 7 Dec 2022 17:09:53 GMT, Naoto Sato wrote: >> This is to allow Console to be used even when it is not attached to the >> platform provided terminal, such as the case when the standard input is >> redirected. `System.console()` now returns a Console implementation based on >> `jdk.inter

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v5]

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 15:44:04 GMT, Doug Simon wrote: >> src/java.base/share/classes/jdk/internal/vm/TranslatedException.java line 44: >> >>> 42: */ >>> 43: @SuppressWarnings("serial") >>> 44: final class TranslatedException extends Exception { >> >> Would it be possible to re-format this to avoi

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v5]

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 16:50:47 GMT, Doug Simon wrote: >> This parameter exists to allow a caller to pass in a `Properties` object >> that is guaranteed to have only String keys and so does not need the extra >> filtering done in this method. I'll refactor the code to make it clearer. > > Hopefully

Re: RFR: 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime [v6]

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 16:06:34 GMT, Doug Simon wrote: >> Libgraal is compiled ahead of time and should not need any JVMCI Java code >> to be dynamically loaded at runtime. Prior to this PR, this is not the case >> due to: >> >> * Code to copy system properties from the HotSpot heap into the libgr

Re: RFR: JDK-8295756 Improve NonLocalRegistry Manual Test Process [v8]

2022-12-07 Thread Bill Huang
> The current non local registry tests require a manual process that runs > rmiregitrty on a different machine and changes the -Dregistry.host property > in the source before running the tests on the local machine. This task is > created to improve this manual process and provide a clearer instr

Re: RFR: 8296896: Change virtual Thread.yield to use external submit

2022-12-07 Thread Ron Pressler
On Tue, 6 Dec 2022 10:16:38 GMT, Alan Bateman wrote: > The implementation of Thread.yield for virtual threads is currently a "lazy > submit". This means the task for the virtual thread is queued to the > carrier/worker local queue without signalling other threads. This behavior > can be surpri

Re: RFR: 8295857: Clarify that cleanup code can be skipped when the JVM terminates (e.g. when calling halt()) [v7]

2022-12-07 Thread Brent Christian
> [JDK-8290036](https://bugs.openjdk.org/browse/JDK-8290036) documented the > shutdown sequence, noting that calling Runtime.halt() skips the shutdown > sequence and immediately terminates the VM. Thus, "threads' current methods > do not complete normally or abruptly; no finally clause of any me

Re: RFR: 8295857: Clarify that cleanup code can be skipped when the JVM terminates (e.g. when calling halt()) [v5]

2022-12-07 Thread Brent Christian
On Wed, 7 Dec 2022 02:39:55 GMT, David Holmes wrote: >> Brent Christian has updated the pull request incrementally with one >> additional commit since the last revision: >> >> put examples into a list, in class doc only, not halt() > > src/java.base/share/classes/java/lang/Runtime.java line 9

Re: RFR: 8295857: Clarify that cleanup code can be skipped when the JVM terminates (e.g. when calling halt()) [v6]

2022-12-07 Thread Brent Christian
> [JDK-8290036](https://bugs.openjdk.org/browse/JDK-8290036) documented the > shutdown sequence, noting that calling Runtime.halt() skips the shutdown > sequence and immediately terminates the VM. Thus, "threads' current methods > do not complete normally or abruptly; no finally clause of any me

Re: RFR: 8295803: Console should be usable in jshell and other environments [v11]

2022-12-07 Thread Naoto Sato
On Wed, 7 Dec 2022 11:54:11 GMT, Alan Bateman wrote: >> Naoto Sato has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Making the wrapper classes static > > src/java.base/share/classes/java/io/Console.java line 625: > >> 623: };

Re: RFR: 8295803: Console should be usable in jshell and other environments [v12]

2022-12-07 Thread Naoto Sato
> This is to allow Console to be used even when it is not attached to the > platform provided terminal, such as the case when the standard input is > redirected. `System.console()` now returns a Console implementation based on > `jdk.internal.le` terminal by default, or jshell implementation if

Re: RFR: JDK-8298170 : Introduce a macro for exception check, free and return

2022-12-07 Thread Thomas Stuefe
On Wed, 7 Dec 2022 16:27:43 GMT, Roger Riggs wrote: > > Good idea, though perhaps the return (and value if any) could be explicit in > the macro invocation, instead of implicit (plus arg). A single macro would > suffice, instead of multiples. > > Usage Example: > > ``` > JNU_CHECK_EXCEPT

Integrated: JDK-8297298 - SequenceInputStream should override transferTo

2022-12-07 Thread Markus KARG
On Sat, 19 Nov 2022 16:36:28 GMT, Markus KARG wrote: > Since JDK 18 some implementations of InputStream.transferTo, namely > FileInputStream and ChannelInputStream, offload work to lower layers using > NIO channels. This provides shorter execution time and reduced resource > consumption. Unfor

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v2]

2022-12-07 Thread Markus KARG
On Tue, 29 Nov 2022 23:40:58 GMT, Brian Burkhalter wrote: >> Markus KARG has updated the pull request incrementally with one additional >> commit since the last revision: >> >> fixed bug number > >> > Please take note of the changes proposed in #11403. >> >> It might make sense to merge _thi

Re: RFR: JDK-8298170 : Introduce a macro for exception check, free and return

2022-12-07 Thread Roger Riggs
On Tue, 6 Dec 2022 15:20:26 GMT, Matthias Baesken wrote: > We have a number of places in the codebase where a macro could help when we > check an exception and afterwrads free something and return. Good idea, though perhaps the return (and value if any) could be explicit in the macro invocati

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v2]

2022-12-07 Thread Markus KARG
On Tue, 29 Nov 2022 23:40:58 GMT, Brian Burkhalter wrote: >> Markus KARG has updated the pull request incrementally with one additional >> commit since the last revision: >> >> fixed bug number > >> > Please take note of the changes proposed in #11403. >> >> It might make sense to merge _thi

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v3]

2022-12-07 Thread Markus KARG
On Wed, 7 Dec 2022 12:41:19 GMT, Markus KARG wrote: >> Since JDK 18 some implementations of InputStream.transferTo, namely >> FileInputStream and ChannelInputStream, offload work to lower layers using >> NIO channels. This provides shorter execution time and reduced resource >> consumption. Un

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v3]

2022-12-07 Thread Brian Burkhalter
On Wed, 7 Dec 2022 12:41:19 GMT, Markus KARG wrote: >> Since JDK 18 some implementations of InputStream.transferTo, namely >> FileInputStream and ChannelInputStream, offload work to lower layers using >> NIO channels. This provides shorter execution time and reduced resource >> consumption. Un

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v2]

2022-12-07 Thread Markus KARG
On Tue, 6 Dec 2022 16:20:44 GMT, Brian Burkhalter wrote: >> test/jdk/java/io/SequenceInputStream/TransferTo.java line 206: >> >>> 204: } >>> 205: >>> 206: } >> >> As auto-detected, there is no newline at the end of this file. Otherwise it >> appears all right. > > @mkarg Please take accou

Integrated: 8298177: Various java.lang.invoke cleanups

2022-12-07 Thread Claes Redestad
On Tue, 6 Dec 2022 15:22:27 GMT, Claes Redestad wrote: > Various code cleanups around java.lang.invoke code. Started out with dead > code removal in `jli.MemberName`, then piled on to fix a set of minor > inefficiencies (excessive vararg array allocations, unnecessary defensive > cloning of pa

Re: RFR: 8298177: Various java.lang.invoke cleanups [v4]

2022-12-07 Thread Claes Redestad
On Wed, 7 Dec 2022 14:08:28 GMT, Claes Redestad wrote: >> Various code cleanups around java.lang.invoke code. Started out with dead >> code removal in `jli.MemberName`, then piled on to fix a set of minor >> inefficiencies (excessive vararg array allocations, unnecessary defensive >> cloning o

Re: RFR: 8298177: Various java.lang.invoke cleanups [v4]

2022-12-07 Thread Jorn Vernee
On Wed, 7 Dec 2022 14:08:28 GMT, Claes Redestad wrote: >> Various code cleanups around java.lang.invoke code. Started out with dead >> code removal in `jli.MemberName`, then piled on to fix a set of minor >> inefficiencies (excessive vararg array allocations, unnecessary defensive >> cloning o

Re: RFR: 8298177: Various java.lang.invoke cleanups [v4]

2022-12-07 Thread Claes Redestad
> Various code cleanups around java.lang.invoke code. Started out with dead > code removal in `jli.MemberName`, then piled on to fix a set of minor > inefficiencies (excessive vararg array allocations, unnecessary defensive > cloning of parameter arrays etc). Claes Redestad has updated the pull

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v2]

2022-12-07 Thread Markus KARG
On Tue, 6 Dec 2022 16:20:44 GMT, Brian Burkhalter wrote: >> test/jdk/java/io/SequenceInputStream/TransferTo.java line 206: >> >>> 204: } >>> 205: >>> 206: } >> >> As auto-detected, there is no newline at the end of this file. Otherwise it >> appears all right. > > @mkarg Please take accou

Re: RFR: JDK-8297298 - SequenceInputStream should override transferTo [v3]

2022-12-07 Thread Markus KARG
> Since JDK 18 some implementations of InputStream.transferTo, namely > FileInputStream and ChannelInputStream, offload work to lower layers using > NIO channels. This provides shorter execution time and reduced resource > consumption. Unfortunately, this effect is prevented once the input strea

Re: RFR: 8295803: Console should be usable in jshell and other environments [v11]

2022-12-07 Thread Alan Bateman
On Tue, 6 Dec 2022 22:45:52 GMT, Naoto Sato wrote: >> This is to allow Console to be used even when it is not attached to the >> platform provided terminal, such as the case when the standard input is >> redirected. `System.console()` now returns a Console implementation based on >> `jdk.inter

Integrated: JDK-8286666: JEP 429: Implementation of Scoped Values (Incubator)

2022-12-07 Thread Andrew Haley
On Wed, 2 Nov 2022 16:23:34 GMT, Andrew Haley wrote: > JEP 429 implementation. This pull request has now been integrated. Changeset: 221e1a42 Author:Andrew Haley Committer: Alan Bateman URL: https://git.openjdk.org/jdk/commit/221e1a426070088b819ddc37b7ca77d9d8626eb4 Stats: 3336

Integrated: 8296672: Implementation of Virtual Threads (Second Preview)

2022-12-07 Thread Alan Bateman
On Fri, 18 Nov 2022 09:57:39 GMT, Alan Bateman wrote: > JEP 436 proposes a second preview of Virtual Threads to allow time for more > feedback and to get more experience with this feature. There is no change in > direction, no API changes, and no bulk update of the implementation. For the > im

Re: RFR: 8296477: Foreign linker implementation update following JEP 434 [v2]

2022-12-07 Thread Jaikiran Pai
On Thu, 10 Nov 2022 15:22:45 GMT, Jorn Vernee wrote: >> test/jdk/ProblemList.txt line 484: >> >>> 482: # jdk_foreign >>> 483: >>> 484: java/foreign/callarranger/TestAarch64CallArranger.java generic-x86 >> >> Should we exclude these tests on 32 bits in the jtreg header (as I think we >> do for

Re: RFR: 8298033: Character.codePointAt(char[], int, int) doesn't do JavaDoc-specified check [v5]

2022-12-07 Thread Sergey Tsypanov
On Tue, 6 Dec 2022 16:47:05 GMT, Roger Riggs wrote: >> Sergey Tsypanov has updated the pull request incrementally with one >> additional commit since the last revision: >> >> 8298033: Fix Character.codePointBefore() > > src/java.base/share/classes/java/lang/Character.java line 9480: > >> 947

Integrated: 8297976: Remove sun.net.ProgressMonitor and related classes

2022-12-07 Thread Daniel Jeliński
On Fri, 2 Dec 2022 08:31:25 GMT, Daniel Jeliński wrote: > Please review this patch that removes progress monitoring classes used by > UrlConnection. > Since Java 9 these classes are not used in the JDK, and are not exported from > java.base. If anyone was still using them, reimplementing them i

Re: RFR: 8297976: Remove sun.net.ProgressMonitor and related classes [v4]

2022-12-07 Thread Daniel Jeliński
On Tue, 6 Dec 2022 13:42:04 GMT, Daniel Jeliński wrote: >> Please review this patch that removes progress monitoring classes used by >> UrlConnection. >> Since Java 9 these classes are not used in the JDK, and are not exported >> from java.base. If anyone was still using them, reimplementing th

Re: RFR: JDK-8298170 : Introduce a macro for exception check, free and return

2022-12-07 Thread Matthias Baesken
On Tue, 6 Dec 2022 20:40:34 GMT, Roger Riggs wrote: > The existing code more obviously handles memory deallocation. Thomas Stuefe suggested something like this JNU_CHECK_EXCEPTION_DO(env, action) JNU_CHECK_EXCEPTION_DO_AND_RETURN(env, action, retval) usage example: `JNU_CHECK_EXCEPTION_DO(e