fix openjdk-src bootimage build

The main change here is to use a lazily-populated vector to associate
runtime data with classes instead of referencing them directly from
the class which requires updating immutable references in the heap
image.  The other changes employ other strategies to avoid trying to
update immutable references.
This commit is contained in:
Joel Dice
2010-11-26 12:41:31 -07:00
parent 4f23601b56
commit 459f4d5194
16 changed files with 426 additions and 154 deletions

View File

@ -656,7 +656,7 @@ invokeNative(Thread* t, object method)
return VoidField;
}
object native = methodCode(t, method);
object native = methodRuntimeDataNative(t, getMethodRuntimeData(t, method));
if (nativeFast(t, native)) {
pushFrame(t, method);
@ -3045,7 +3045,7 @@ class MyProcessor: public Processor {
{
return vm::makeMethod
(t, vmFlags, returnCode, parameterCount, parameterFootprint, flags,
offset, 0, name, spec, addendum, class_, code);
offset, 0, 0, name, spec, addendum, class_, code);
}
virtual object
@ -3069,7 +3069,7 @@ class MyProcessor: public Processor {
unsigned vtableLength UNUSED)
{
return vm::makeClass
(t, flags, vmFlags, fixedSize, arrayElementSize, arrayDimensions,
(t, flags, vmFlags, fixedSize, arrayElementSize, arrayDimensions, 0,
objectMask, name, sourceFile, super, interfaceTable, virtualTable,
fieldTable, methodTable, addendum, staticTable, loader, 0);
}