On Fri, 8 Jan 2021 04:40:36 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:

>> But then "env" would need to be passed explicitly. I don't think the churn 
>> is worth it.
>> And a method would then need a .m or .c file ...
>
> But that could be merged to the CallXXXMethod and placed somewhere in the 
> libosxapp

You mean those methods  or macros that we already discussed and I explained why 
I do not want to do that ?
This is a small update for error checking not revisiting everything done before.

>> I don't think "most" of the time is very likely. JNI lookup failures don't 
>> cause exceptions to be thrown.
>> Is that what you are tihinking ?
>> 
>> And separately, with either the current code of clearing exceptions or the 
>> change here to  the practice of throwing NSException on seeing a Java 
>> Exception I think it very unlikely.
>
> Then how we get NoSuchMethodError here? 
> https://bugs.openjdk.java.net/browse/JDK-8259232?
> https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html#GetMethodID
> Calling Instance Methods: GetMethodID
> RETURNS:
>     Returns a method ID, or NULL if the specified method cannot be found.
> THROWS:
>     NoSuchMethodError: if the specified method cannot be found.
>     ExceptionInInitializerError: if the class initializer fails due to an 
> exception.
>     OutOfMemoryError: if the system runs out of memory.
> 
> Same for fields:
> https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html#GetFieldID

Ok. I will only create my own if none is pending.

>> In my testing that code does not get called.  The new code does. So the old 
>> code could probably be deleted as useless but it is also harmless and just 
>> maybe it'll catch something else, even if it isn't doing anything that I can 
>> see.
>
> That code for sure should be called, it is even improved recently by 
> JDK-8255681
> I'll check how it was intended to work.

I hadn't noticed that line - and definintely not realised it was recent.
I suppose he must have had a way to trigger it.
But I don't think it hurts to have both.

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

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

Reply via email to