|Subject:||hasClassInitializer and exception|
|Date:||Thu, 21 Jul 2005 18:14:50 +0200|
|User-agent:||Mozilla Thunderbird 1.0.5 (X11/20050719)|
Hey everyone,there is something that might be wrong in the implementation of VMObjectStreamClass.hasClassInitializer (native/jni/java-io/java_io_VMObjectStreamClass.c). It uses GetStaticMethodID and tests if an exception occured to see if the clinit method exists.
The thing is, in the spec, GetStaticMethodID has to clinit the class. Imagine there is a clinit and the clinit raises and exception, the result of hasClassInitializer would be false.
I have no patch to propose to you, but what i did (as a vm implementor) is reimplementing the VMObjectStreamClass.hasClassInitializer function, which now does the search without cliniting the class (so it doesn't use jni directly anymore).
Am I right? Nicolas
|[Prev in Thread]||Current Thread||[Next in Thread]|