MIPS: thread isolate for HConstant::handle.
Port r16587 (45fc067) BUG= Review URL: https://codereview.chromium.org/23444041 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
1a26455d22
commit
e5eaef56d2
@ -398,7 +398,7 @@ Register LCodeGen::EmitLoadRegister(LOperand* op, Register scratch) {
|
||||
} else if (op->IsConstantOperand()) {
|
||||
LConstantOperand* const_op = LConstantOperand::cast(op);
|
||||
HConstant* constant = chunk_->LookupConstant(const_op);
|
||||
Handle<Object> literal = constant->handle();
|
||||
Handle<Object> literal = constant->handle(isolate());
|
||||
Representation r = chunk_->LookupLiteralRepresentation(const_op);
|
||||
if (r.IsInteger32()) {
|
||||
ASSERT(literal->IsNumber());
|
||||
@ -436,7 +436,7 @@ DoubleRegister LCodeGen::EmitLoadDoubleRegister(LOperand* op,
|
||||
} else if (op->IsConstantOperand()) {
|
||||
LConstantOperand* const_op = LConstantOperand::cast(op);
|
||||
HConstant* constant = chunk_->LookupConstant(const_op);
|
||||
Handle<Object> literal = constant->handle();
|
||||
Handle<Object> literal = constant->handle(isolate());
|
||||
Representation r = chunk_->LookupLiteralRepresentation(const_op);
|
||||
if (r.IsInteger32()) {
|
||||
ASSERT(literal->IsNumber());
|
||||
@ -462,7 +462,7 @@ DoubleRegister LCodeGen::EmitLoadDoubleRegister(LOperand* op,
|
||||
Handle<Object> LCodeGen::ToHandle(LConstantOperand* op) const {
|
||||
HConstant* constant = chunk_->LookupConstant(op);
|
||||
ASSERT(chunk_->LookupLiteralRepresentation(op).IsSmiOrTagged());
|
||||
return constant->handle();
|
||||
return constant->handle(isolate());
|
||||
}
|
||||
|
||||
|
||||
@ -519,7 +519,7 @@ Operand LCodeGen::ToOperand(LOperand* op) {
|
||||
Abort(kToOperandUnsupportedDoubleImmediate);
|
||||
}
|
||||
ASSERT(r.IsTagged());
|
||||
return Operand(constant->handle());
|
||||
return Operand(constant->handle(isolate()));
|
||||
} else if (op->IsRegister()) {
|
||||
return Operand(ToRegister(op));
|
||||
} else if (op->IsDoubleRegister()) {
|
||||
@ -666,7 +666,7 @@ void LCodeGen::AddToTranslation(LEnvironment* environment,
|
||||
translation->StoreDoubleRegister(reg);
|
||||
} else if (op->IsConstantOperand()) {
|
||||
HConstant* constant = chunk()->LookupConstant(LConstantOperand::cast(op));
|
||||
int src_index = DefineDeoptimizationLiteral(constant->handle());
|
||||
int src_index = DefineDeoptimizationLiteral(constant->handle(isolate()));
|
||||
translation->StoreLiteral(src_index);
|
||||
} else {
|
||||
UNREACHABLE();
|
||||
@ -1686,7 +1686,7 @@ void LCodeGen::DoConstantE(LConstantE* instr) {
|
||||
|
||||
|
||||
void LCodeGen::DoConstantT(LConstantT* instr) {
|
||||
Handle<Object> value = instr->value();
|
||||
Handle<Object> value = instr->value(isolate());
|
||||
AllowDeferredHandleDereference smi_check;
|
||||
__ LoadObject(ToRegister(instr->result()), value);
|
||||
}
|
||||
|
@ -1266,7 +1266,9 @@ class LConstantT V8_FINAL : public LTemplateInstruction<1, 0, 0> {
|
||||
DECLARE_CONCRETE_INSTRUCTION(ConstantT, "constant-t")
|
||||
DECLARE_HYDROGEN_ACCESSOR(Constant)
|
||||
|
||||
Handle<Object> value() const { return hydrogen()->handle(); }
|
||||
Handle<Object> value(Isolate* isolate) const {
|
||||
return hydrogen()->handle(isolate);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user