exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit of catch_type.

* exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit
of catch_type.
* java/lang/natClass.cc (initializeClass): Link vtable, otable,
idt tables after initializing superclass.
* java/lang/natClassLoader.cc (uaddr): New typedef.
(_Jv_PrepareCompiledClass): Resolve superclass, interfaces
if they are constant pool indicies.  Don't link vtable, otable yet.

From-SVN: r60450
This commit is contained in:
Jeff Sturm 2002-12-23 19:59:31 +00:00 committed by Jeff Sturm
parent d3ab697ba4
commit 4017ae6e8b
4 changed files with 40 additions and 11 deletions

View file

@ -338,7 +338,7 @@ PERSONALITY_FUNCTION (int version,
// The catch_type is either a (java::lang::Class*) or
// is one more than a (Utf8Const*).
if ((size_t)catch_type & 1)
catch_type = _Jv_FindClass ((Utf8Const*)catch_type - 1, NULL);
catch_type = _Jv_FindClass ((Utf8Const*)((size_t)catch_type ^ 1), NULL);
if (_Jv_IsInstanceOf (xh->value, catch_type))
{