is vmSymbols::java_lang_InvalidClassException() valid?

David Holmes - Sun Microsystems David.Holmes at Sun.COM
Sat Jun 23 03:19:28 PDT 2007


Hi Christian,

The other places in the hotspot code where it is thrown are legacy methods:

// JVM_AllocateNewObject and JVM_AllocateNewArray are unused as of 1.4

and so never called. (Hotspot sill has a bit of legacy baggage here and 
there.)

The unsafe code however calls getBaseAndScale via arrayBaseOffset and 
arrayIndexScale, which appear to be used within Unsafe.java itself. I 
didn't have time to see if those parts of Unsafe are themselves no 
longer called.

I even tried a quick search of 1.3 and couldn't find 
java.lang.InvalidClassException. It would have to have been a non-public 
class, possibly a LinkageError subclass, to disappear.

Interesting. Perhaps the library folk would know the history here.

Cheers,
David Holmes

Christian Thalinger said the following on 23/06/07 01:02 AM:
> Hi!
> 
> While looking at the sun/misc/Unsafe code, I noticed that
> getBaseAndScale in unsafe.cpp throws a java/lang/InvalidClassException.
> 
> As I've never heard of that one I did a quick find and the only one
> found is:
> 
> ./j2se/src/share/classes/java/io/InvalidClassException.java
> 
> Another quick grep showed that this exception is thrown in some places
> in the hotspot code.
> 
> So, is this correct?  Maybe this exception is not thrown with Java code
> but with a printf... just mentioning it.
> 
> - twisti
> 



More information about the hotspot-runtime-dev mailing list