On 13/07/2015 8:09 PM, Jean-Francois Denise wrote:
In the Java code, I understand that it is useless, an OOM will be thrown.
No, an OOM _may_ be thrown. That is what I said below - you still need
the null check based on the JNI spec (as opposed to the hotspot VM).
David
JF
On 13 Jul 2015, at 11:16, David Holmes <david.hol...@oracle.com> wrote:
On 13/07/2015 6:06 PM, Jean-Francois Denise wrote:
Thank you,
I am removing the null check and throw.
Why are you removing them ??
David
JF
On 13 Jul 2015, at 08:06, David Holmes <david.hol...@oracle.com> wrote:
On 11/07/2015 2:45 AM, Jean-Francois Denise wrote:
Thanks Alan,
I had read the spec from
https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html#array_operations
And it was not clear.
FYI the spec has just been updated to clarify that the New<Primitive>Array
functions can throw OOME if they return NULL. However the spec now also clarifies
that an implementation that can both return NULL and post an exception can choose not
to post the exception (a concession to existing VMs that only return NULL because the
spec was inconsistent as to when OOME should be posted.)
So you do need to check for NULL, however I think it would be more appropriate
to throw OOME in that case as that is the only reason NULL would be returned
AFAICS.
Cheers,
David H.
--------
On 10 Jul 2015, at 18:34, Alan Bateman <alan.bate...@oracle.com> wrote:
On 10/07/2015 16:46, Jean-Francois Denise wrote:
Hi,
asking review for this bug fix.
http://cr.openjdk.java.net/~jfdenise/JDK-8130344/
I assume if JNI's NewByteArray returns NULL then it does so with a pending
OOME. You might want to double check the JNI spec on this. If it guarantee it
then you might need not need the null check in getStringBytes.
The change to Image.c looks okay. In other areas of the libraries we have
macros to do this.
-Alan.