mirror of
https://github.com/corda/corda.git
synced 2025-01-23 12:58:35 +00:00
change Compiler::register_ to Compiler::threadRegister, since it was only used as such
This commit is contained in:
parent
2d444830d0
commit
8af9bb8297
@ -72,7 +72,7 @@ class Compiler {
|
|||||||
Operand* index = 0,
|
Operand* index = 0,
|
||||||
unsigned scale = 1) = 0;
|
unsigned scale = 1) = 0;
|
||||||
|
|
||||||
virtual Operand* register_(int number) = 0;
|
virtual Operand* threadRegister() = 0;
|
||||||
|
|
||||||
virtual void push(ir::Type type, Operand* value) = 0;
|
virtual void push(ir::Type type, Operand* value) = 0;
|
||||||
virtual void save(ir::Type type, Operand* value) = 0;
|
virtual void save(ir::Type type, Operand* value) = 0;
|
||||||
|
@ -1237,17 +1237,10 @@ loadLocal(Context* c, unsigned footprint, unsigned index)
|
|||||||
return c->locals[index].value;
|
return c->locals[index].value;
|
||||||
}
|
}
|
||||||
|
|
||||||
Value*
|
Value* threadRegister(Context* c)
|
||||||
register_(Context* c, int number)
|
|
||||||
{
|
{
|
||||||
assert(c, (1 << number) & (c->regFile->generalRegisters.mask
|
Site* s = registerSite(c, c->arch->thread());
|
||||||
| c->regFile->floatRegisters.mask));
|
return value(c, ir::Type(ir::Type::Address, TargetBytesPerWord), s, s);
|
||||||
|
|
||||||
Site* s = registerSite(c, number);
|
|
||||||
lir::ValueType type = ((1 << number) & c->regFile->floatRegisters.mask)
|
|
||||||
? lir::ValueFloat: lir::ValueGeneral;
|
|
||||||
|
|
||||||
return value(c, type, s, s);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned
|
unsigned
|
||||||
@ -2319,7 +2312,9 @@ class MyCompiler: public Compiler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual Operand* address(Promise* address) {
|
virtual Operand* address(Promise* address) {
|
||||||
return value(&c, lir::ValueGeneral, compiler::addressSite(&c, address));
|
return value(&c,
|
||||||
|
ir::Type(ir::Type::Address, TargetBytesPerWord),
|
||||||
|
compiler::addressSite(&c, address));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Operand* memory(Operand* base,
|
virtual Operand* memory(Operand* base,
|
||||||
@ -2336,8 +2331,9 @@ class MyCompiler: public Compiler {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Operand* register_(int number) {
|
virtual Operand* threadRegister()
|
||||||
return compiler::register_(&c, number);
|
{
|
||||||
|
return compiler::threadRegister(&c);
|
||||||
}
|
}
|
||||||
|
|
||||||
Promise* machineIp() {
|
Promise* machineIp() {
|
||||||
@ -2378,7 +2374,7 @@ class MyCompiler: public Compiler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
virtual void pushed() {
|
virtual void pushed() {
|
||||||
Value* v = value(&c, lir::ValueGeneral);
|
Value* v = value(&c, ir::Type(ir::Type::Object, TargetBytesPerWord));
|
||||||
appendFrameSite
|
appendFrameSite
|
||||||
(&c, v, frameIndex
|
(&c, v, frameIndex
|
||||||
(&c, (c.stack ? c.stack->index : 0) + c.localFootprint));
|
(&c, (c.stack ? c.stack->index : 0) + c.localFootprint));
|
||||||
|
@ -82,8 +82,7 @@ Site*
|
|||||||
pickTargetSite(Context* c, Read* read, bool intersectRead = false,
|
pickTargetSite(Context* c, Read* read, bool intersectRead = false,
|
||||||
unsigned registerReserveCount = 0,
|
unsigned registerReserveCount = 0,
|
||||||
CostCalculator* costCalculator = 0);
|
CostCalculator* costCalculator = 0);
|
||||||
Value*
|
Value* threadRegister(Context* c);
|
||||||
register_(Context* c, int number);
|
|
||||||
|
|
||||||
Event::Event(Context* c):
|
Event::Event(Context* c):
|
||||||
next(0), stackBefore(c->stack), localsBefore(c->locals),
|
next(0), stackBefore(c->stack), localsBefore(c->locals),
|
||||||
@ -929,15 +928,23 @@ appendCombine(Context* c, lir::TernaryOperation type,
|
|||||||
if (threadParameter) {
|
if (threadParameter) {
|
||||||
++ stackSize;
|
++ stackSize;
|
||||||
|
|
||||||
compiler::push(c, 1, register_(c, c->arch->thread()));
|
compiler::push(c, 1, threadRegister(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
Stack* argumentStack = c->stack;
|
Stack* argumentStack = c->stack;
|
||||||
c->stack = oldStack;
|
c->stack = oldStack;
|
||||||
|
|
||||||
appendCall
|
appendCall(c,
|
||||||
(c, value(c, lir::ValueGeneral, constantSite(c, handler)), 0, 0, resultValue,
|
value(c,
|
||||||
resultSize, argumentStack, stackSize, 0);
|
ir::Type(ir::Type::Address, vm::TargetBytesPerWord),
|
||||||
|
constantSite(c, handler)),
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
resultValue,
|
||||||
|
resultSize,
|
||||||
|
argumentStack,
|
||||||
|
stackSize,
|
||||||
|
0);
|
||||||
} else {
|
} else {
|
||||||
append
|
append
|
||||||
(c, new(c->zone)
|
(c, new(c->zone)
|
||||||
@ -1049,12 +1056,18 @@ appendTranslate(Context* c, lir::BinaryOperation type, unsigned firstSize,
|
|||||||
Stack* argumentStack = c->stack;
|
Stack* argumentStack = c->stack;
|
||||||
c->stack = oldStack;
|
c->stack = oldStack;
|
||||||
|
|
||||||
appendCall
|
appendCall(c,
|
||||||
(c, value
|
value(c,
|
||||||
(c, lir::ValueGeneral, constantSite
|
ir::Type(ir::Type::Address, vm::TargetBytesPerWord),
|
||||||
(c, c->client->getThunk(type, firstSize, resultSize))),
|
constantSite(
|
||||||
0, 0, resultValue, resultSize, argumentStack,
|
c, c->client->getThunk(type, firstSize, resultSize))),
|
||||||
ceilingDivide(firstSize, vm::TargetBytesPerWord), 0);
|
0,
|
||||||
|
0,
|
||||||
|
resultValue,
|
||||||
|
resultSize,
|
||||||
|
argumentStack,
|
||||||
|
ceilingDivide(firstSize, vm::TargetBytesPerWord),
|
||||||
|
0);
|
||||||
} else {
|
} else {
|
||||||
append(c, new(c->zone)
|
append(c, new(c->zone)
|
||||||
TranslateEvent
|
TranslateEvent
|
||||||
@ -1407,15 +1420,28 @@ appendBranch(Context* c, lir::TernaryOperation type, unsigned size, Value* first
|
|||||||
Stack* argumentStack = c->stack;
|
Stack* argumentStack = c->stack;
|
||||||
c->stack = oldStack;
|
c->stack = oldStack;
|
||||||
|
|
||||||
Value* result = value(c, lir::ValueGeneral);
|
Value* result
|
||||||
appendCall
|
= value(c, ir::Type(ir::Type::Address, vm::TargetBytesPerWord));
|
||||||
(c, value
|
appendCall(c,
|
||||||
(c, lir::ValueGeneral, constantSite(c, handler)), 0, 0, result, 4,
|
value(c,
|
||||||
argumentStack, ceilingDivide(size, vm::TargetBytesPerWord) * 2, 0);
|
ir::Type(ir::Type::Address, vm::TargetBytesPerWord),
|
||||||
|
constantSite(c, handler)),
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
result,
|
||||||
|
4,
|
||||||
|
argumentStack,
|
||||||
|
ceilingDivide(size, vm::TargetBytesPerWord) * 2,
|
||||||
|
0);
|
||||||
|
|
||||||
appendBranch(c, thunkBranch(c, type), 4, value
|
appendBranch(c,
|
||||||
(c, lir::ValueGeneral, constantSite(c, static_cast<int64_t>(0))),
|
thunkBranch(c, type),
|
||||||
result, addressValue);
|
4,
|
||||||
|
value(c,
|
||||||
|
ir::Type(ir::Type::Address, vm::TargetBytesPerWord),
|
||||||
|
constantSite(c, static_cast<int64_t>(0))),
|
||||||
|
result,
|
||||||
|
addressValue);
|
||||||
} else {
|
} else {
|
||||||
append
|
append
|
||||||
(c, new(c->zone)
|
(c, new(c->zone)
|
||||||
|
@ -162,16 +162,6 @@ bool Value::hasBuddy(Context* c, Value* b) {
|
|||||||
}
|
}
|
||||||
#endif // not NDEBUG
|
#endif // not NDEBUG
|
||||||
|
|
||||||
|
|
||||||
Value* value(Context* c, lir::ValueType type, Site* site, Site* target) {
|
|
||||||
return value(
|
|
||||||
c,
|
|
||||||
ir::Type(type == lir::ValueGeneral ? ir::Type::Integer : ir::Type::Float,
|
|
||||||
vm::TargetBytesPerWord),
|
|
||||||
site,
|
|
||||||
target);
|
|
||||||
}
|
|
||||||
|
|
||||||
Value* value(Context* c, ir::Type type, Site* site, Site* target)
|
Value* value(Context* c, ir::Type type, Site* site, Site* target)
|
||||||
{
|
{
|
||||||
return new(c->zone) Value(site, target, type);
|
return new(c->zone) Value(site, target, type);
|
||||||
|
@ -77,7 +77,6 @@ inline bool isGeneralValue(Compiler::Operand* a)
|
|||||||
return !isFloatValue(a);
|
return !isFloatValue(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
Value* value(Context* c, lir::ValueType type, Site* site = 0, Site* target = 0);
|
|
||||||
Value* value(Context* c, ir::Type type, Site* site = 0, Site* target = 0);
|
Value* value(Context* c, ir::Type type, Site* site = 0, Site* target = 0);
|
||||||
|
|
||||||
} // namespace compiler
|
} // namespace compiler
|
||||||
|
@ -1410,11 +1410,11 @@ class Frame {
|
|||||||
object pointer = makePointer(t, p);
|
object pointer = makePointer(t, p);
|
||||||
bc->constants = makeTriple(t, o, pointer, bc->constants);
|
bc->constants = makeTriple(t, o, pointer, bc->constants);
|
||||||
|
|
||||||
return c->binaryOp(lir::Add,
|
return c->binaryOp(
|
||||||
|
lir::Add,
|
||||||
types.address,
|
types.address,
|
||||||
c->memory(c->register_(t->arch->thread()),
|
c->memory(
|
||||||
types.address,
|
c->threadRegister(), types.address, TARGET_THREAD_HEAPIMAGE),
|
||||||
TARGET_THREAD_HEAPIMAGE),
|
|
||||||
c->promiseConstant(p, types.address));
|
c->promiseConstant(p, types.address));
|
||||||
} else {
|
} else {
|
||||||
for (PoolElement* e = context->objectPool; e; e = e->next) {
|
for (PoolElement* e = context->objectPool; e; e = e->next) {
|
||||||
@ -1644,7 +1644,7 @@ class Frame {
|
|||||||
? c->binaryOp(
|
? c->binaryOp(
|
||||||
lir::Add,
|
lir::Add,
|
||||||
types.address,
|
types.address,
|
||||||
c->memory(c->register_(t->arch->thread()),
|
c->memory(c->threadRegister(),
|
||||||
types.address,
|
types.address,
|
||||||
TARGET_THREAD_CODEIMAGE),
|
TARGET_THREAD_CODEIMAGE),
|
||||||
c->promiseConstant(
|
c->promiseConstant(
|
||||||
@ -3160,7 +3160,7 @@ void compileSafePoint(MyThread* t, Compiler* c, Frame* frame) {
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
1,
|
1,
|
||||||
c->register_(t->arch->thread()));
|
c->threadRegister());
|
||||||
}
|
}
|
||||||
|
|
||||||
Compiler::Operand*
|
Compiler::Operand*
|
||||||
@ -3204,12 +3204,12 @@ compileDirectInvoke(MyThread* t, Frame* frame, object target, bool tailCall,
|
|||||||
operandTypeForFieldCode(t, methodReturnCode(t, target)),
|
operandTypeForFieldCode(t, methodReturnCode(t, target)),
|
||||||
methodParameterFootprint(t, target));
|
methodParameterFootprint(t, target));
|
||||||
|
|
||||||
c->store(TargetBytesPerWord,
|
c->store(
|
||||||
|
TargetBytesPerWord,
|
||||||
frame->absoluteAddressOperand(returnAddressPromise),
|
frame->absoluteAddressOperand(returnAddressPromise),
|
||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
c->memory(c->register_(t->arch->thread()),
|
c->memory(
|
||||||
types.address,
|
c->threadRegister(), types.address, TARGET_THREAD_TAILADDRESS));
|
||||||
TARGET_THREAD_TAILADDRESS));
|
|
||||||
|
|
||||||
c->exit(c->constant((methodFlags(t, target) & ACC_NATIVE)
|
c->exit(c->constant((methodFlags(t, target) & ACC_NATIVE)
|
||||||
? nativeThunk(t)
|
? nativeThunk(t)
|
||||||
@ -3363,7 +3363,7 @@ compileDirectReferenceInvoke(MyThread* t, Frame* frame, Thunk thunk,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.address,
|
types.address,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair)),
|
frame->append(pair)),
|
||||||
reference,
|
reference,
|
||||||
isStatic,
|
isStatic,
|
||||||
@ -3411,7 +3411,7 @@ compileDirectAbstractInvoke(MyThread* t, Frame* frame, Thunk thunk,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.address,
|
types.address,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(target)),
|
frame->append(target)),
|
||||||
target,
|
target,
|
||||||
tailCall);
|
tailCall);
|
||||||
@ -3440,7 +3440,7 @@ handleMonitorEvent(MyThread* t, Frame* frame, intptr_t function)
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
lock);
|
lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4093,7 +4093,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
1,
|
1,
|
||||||
c->register_(t->arch->thread()));
|
c->threadRegister());
|
||||||
}
|
}
|
||||||
|
|
||||||
// fprintf(stderr, "ip: %d map: %ld\n", ip, *(frame->map));
|
// fprintf(stderr, "ip: %d map: %ld\n", ip, *(frame->map));
|
||||||
@ -4222,7 +4222,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
array,
|
array,
|
||||||
c->binaryOp(
|
c->binaryOp(
|
||||||
lir::Add,
|
lir::Add,
|
||||||
@ -4328,7 +4328,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument),
|
frame->append(argument),
|
||||||
length));
|
length));
|
||||||
} break;
|
} break;
|
||||||
@ -4374,7 +4374,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
target);
|
target);
|
||||||
|
|
||||||
c->nullaryOp(lir::Trap);
|
c->nullaryOp(lir::Trap);
|
||||||
@ -4413,7 +4413,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument),
|
frame->append(argument),
|
||||||
instance);
|
instance);
|
||||||
} break;
|
} break;
|
||||||
@ -4624,7 +4624,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(field));
|
frame->append(field));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4642,7 +4642,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(fieldClass(t, field)));
|
frame->append(fieldClass(t, field)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4748,7 +4748,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(field));
|
frame->append(field));
|
||||||
} else {
|
} else {
|
||||||
c->nullaryOp(lir::LoadBarrier);
|
c->nullaryOp(lir::LoadBarrier);
|
||||||
@ -4773,7 +4773,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair));
|
frame->append(pair));
|
||||||
} else {
|
} else {
|
||||||
Compiler::Operand* instance = frame->popObject();
|
Compiler::Operand* instance = frame->popObject();
|
||||||
@ -4786,7 +4786,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
instance);
|
instance);
|
||||||
}
|
}
|
||||||
@ -5050,7 +5050,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
4,
|
4,
|
||||||
types.i4,
|
types.i4,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument),
|
frame->append(argument),
|
||||||
instance));
|
instance));
|
||||||
} break;
|
} break;
|
||||||
@ -5100,7 +5100,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.address,
|
types.address,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument),
|
frame->append(argument),
|
||||||
c->peek(1, parameterFootprint - 1)),
|
c->peek(1, parameterFootprint - 1)),
|
||||||
tailCall ? Compiler::TailJump : 0,
|
tailCall ? Compiler::TailJump : 0,
|
||||||
@ -5250,7 +5250,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.address,
|
types.address,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
c->peek(1,
|
c->peek(1,
|
||||||
methodReferenceParameterFootprint(t, reference, false)
|
methodReferenceParameterFootprint(t, reference, false)
|
||||||
@ -5420,7 +5420,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(makePair(t, context->method, reference))));
|
frame->append(makePair(t, context->method, reference))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5434,7 +5434,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(v)));
|
frame->append(v)));
|
||||||
} else {
|
} else {
|
||||||
frame->pushObject(frame->append(v));
|
frame->pushObject(frame->append(v));
|
||||||
@ -5553,7 +5553,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
c->jmp(context->bootContext
|
c->jmp(context->bootContext
|
||||||
? c->binaryOp(lir::Add,
|
? c->binaryOp(lir::Add,
|
||||||
types.address,
|
types.address,
|
||||||
c->memory(c->register_(t->arch->thread()),
|
c->memory(c->threadRegister(),
|
||||||
types.address,
|
types.address,
|
||||||
TARGET_THREAD_CODEIMAGE),
|
TARGET_THREAD_CODEIMAGE),
|
||||||
address)
|
address)
|
||||||
@ -5636,7 +5636,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
target);
|
target);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -5649,7 +5649,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
target);
|
target);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -5686,7 +5686,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument),
|
frame->append(argument),
|
||||||
c->constant(dimensions, types.i4),
|
c->constant(dimensions, types.i4),
|
||||||
c->constant(offset, types.i4));
|
c->constant(offset, types.i4));
|
||||||
@ -5725,7 +5725,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(argument)));
|
frame->append(argument)));
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -5741,7 +5741,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
TargetBytesPerWord,
|
TargetBytesPerWord,
|
||||||
types.object,
|
types.object,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
c->constant(type, types.i4),
|
c->constant(type, types.i4),
|
||||||
length));
|
length));
|
||||||
} break;
|
} break;
|
||||||
@ -5784,7 +5784,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(fieldClass(t, field)));
|
frame->append(fieldClass(t, field)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5811,7 +5811,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(field));
|
frame->append(field));
|
||||||
} else {
|
} else {
|
||||||
c->nullaryOp(lir::StoreStoreBarrier);
|
c->nullaryOp(lir::StoreStoreBarrier);
|
||||||
@ -5895,7 +5895,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
table,
|
table,
|
||||||
c->constant(targetFieldOffset(context, field), types.i4),
|
c->constant(targetFieldOffset(context, field), types.i4),
|
||||||
value);
|
value);
|
||||||
@ -5906,7 +5906,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
table,
|
table,
|
||||||
c->constant(targetFieldOffset(context, field), types.i4),
|
c->constant(targetFieldOffset(context, field), types.i4),
|
||||||
value);
|
value);
|
||||||
@ -5927,7 +5927,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
0,
|
0,
|
||||||
types.void_,
|
types.void_,
|
||||||
2,
|
2,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(field));
|
frame->append(field));
|
||||||
} else {
|
} else {
|
||||||
c->nullaryOp(lir::StoreLoadBarrier);
|
c->nullaryOp(lir::StoreLoadBarrier);
|
||||||
@ -5959,7 +5959,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
value);
|
value);
|
||||||
} else {
|
} else {
|
||||||
@ -5972,7 +5972,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
instance,
|
instance,
|
||||||
value);
|
value);
|
||||||
@ -5990,7 +5990,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
static_cast<Compiler::Operand*>(0),
|
static_cast<Compiler::Operand*>(0),
|
||||||
value);
|
value);
|
||||||
@ -6005,7 +6005,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
5,
|
5,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
instance,
|
instance,
|
||||||
static_cast<Compiler::Operand*>(0),
|
static_cast<Compiler::Operand*>(0),
|
||||||
@ -6024,7 +6024,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
3,
|
3,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
value);
|
value);
|
||||||
} else {
|
} else {
|
||||||
@ -6038,7 +6038,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
rSize,
|
rSize,
|
||||||
rType,
|
rType,
|
||||||
4,
|
4,
|
||||||
c->register_(t->arch->thread()),
|
c->threadRegister(),
|
||||||
frame->append(pair),
|
frame->append(pair),
|
||||||
instance,
|
instance,
|
||||||
value);
|
value);
|
||||||
@ -6234,7 +6234,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp,
|
|||||||
context->bootContext
|
context->bootContext
|
||||||
? c->binaryOp(lir::Add,
|
? c->binaryOp(lir::Add,
|
||||||
types.address,
|
types.address,
|
||||||
c->memory(c->register_(t->arch->thread()),
|
c->memory(c->threadRegister(),
|
||||||
types.address,
|
types.address,
|
||||||
TARGET_THREAD_CODEIMAGE),
|
TARGET_THREAD_CODEIMAGE),
|
||||||
entry)
|
entry)
|
||||||
|
Loading…
Reference in New Issue
Block a user