mirror of
https://github.com/corda/corda.git
synced 2025-06-19 07:38:22 +00:00
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:
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user