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

@ -758,9 +758,6 @@ java::lang::Class::initializeClass (void)
}
}
if (state <= JV_STATE_LINKED)
_Jv_PrepareConstantTimeTables (this);
// Step 2.
java::lang::Thread *self = java::lang::Thread::currentThread();
// FIXME: `self' can be null at startup. Hence this nasty trick.
@ -805,6 +802,14 @@ java::lang::Class::initializeClass (void)
}
}
_Jv_PrepareConstantTimeTables (this);
if (vtable == NULL)
_Jv_MakeVTable(this);
if (otable != NULL && otable->state == 0)
_Jv_LinkOffsetTable(this);
// Steps 8, 9, 10, 11.
try
{