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:
parent
d3ab697ba4
commit
4017ae6e8b
4 changed files with 40 additions and 11 deletions
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue