fix process=interpret build

This commit is contained in:
Joel Dice 2009-10-10 18:23:14 -06:00
parent 44a6620aa1
commit b4c1c6badf

View File

@ -1579,6 +1579,7 @@ interpret(Thread* t)
and (fieldCode(t, field) == DoubleField
or fieldCode(t, field) == LongField)))
{
PROTECT(t, field);
acquire(t, field);
}
@ -2560,6 +2561,9 @@ interpret(Thread* t)
object field = resolveField(t, frameMethod(t, frame), index - 1);
if (UNLIKELY(exception)) goto throw_;
assert(t, (fieldFlags(t, field) & ACC_STATIC) == 0);
PROTECT(t, field);
if (UNLIKELY(fieldFlags(t, field) & ACC_VOLATILE)) {
if (BytesPerWord == 4
and (fieldCode(t, field) == DoubleField
@ -2571,8 +2575,6 @@ interpret(Thread* t)
}
}
assert(t, (fieldFlags(t, field) & ACC_STATIC) == 0);
switch (fieldCode(t, field)) {
case ByteField:
case BooleanField:
@ -2650,6 +2652,10 @@ interpret(Thread* t)
object field = resolveField(t, frameMethod(t, frame), index - 1);
if (UNLIKELY(exception)) goto throw_;
assert(t, fieldFlags(t, field) & ACC_STATIC);
PROTECT(t, field);
if (UNLIKELY(fieldFlags(t, field) & ACC_VOLATILE)) {
if (BytesPerWord == 4
and (fieldCode(t, field) == DoubleField
@ -2661,10 +2667,6 @@ interpret(Thread* t)
}
}
assert(t, fieldFlags(t, field) & ACC_STATIC);
PROTECT(t, field);
if (UNLIKELY(classInit(t, fieldClass(t, field), 3))) goto invoke;
object table = classStaticTable(t, fieldClass(t, field));
@ -3092,8 +3094,8 @@ class MyProcessor: public Processor {
uint16_t offset,
object name,
object spec,
object class_,
object addendum,
object class_,
object code)
{
return vm::makeMethod
@ -3116,8 +3118,8 @@ class MyProcessor: public Processor {
object virtualTable,
object fieldTable,
object methodTable,
object staticTable,
object addendum,
object staticTable,
object loader,
unsigned vtableLength UNUSED)
{