ARM: use existing transcendental cache stub for tagged inputs.
Review URL: http://codereview.chromium.org/6167004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
544d941b09
commit
b3d4ea357c
@ -445,6 +445,10 @@ class LCallStub: public LInstruction {
|
|||||||
public:
|
public:
|
||||||
DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub")
|
DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub")
|
||||||
DECLARE_HYDROGEN_ACCESSOR(CallStub)
|
DECLARE_HYDROGEN_ACCESSOR(CallStub)
|
||||||
|
|
||||||
|
TranscendentalCache::Type transcendental_type() {
|
||||||
|
return hydrogen()->transcendental_type();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -771,7 +771,9 @@ void LCodeGen::DoCallStub(LCallStub* instr) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case CodeStub::TranscendentalCache: {
|
case CodeStub::TranscendentalCache: {
|
||||||
Abort("TranscendentalCache unimplemented.");
|
__ ldr(r0, MemOperand(sp, 0));
|
||||||
|
TranscendentalCacheStub stub(instr->transcendental_type());
|
||||||
|
CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -1482,9 +1484,11 @@ void LCodeGen::DoCmpT(LCmpT* instr) {
|
|||||||
condition = ReverseCondition(condition);
|
condition = ReverseCondition(condition);
|
||||||
}
|
}
|
||||||
__ cmp(r0, Operand(0));
|
__ cmp(r0, Operand(0));
|
||||||
__ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex,
|
__ LoadRoot(ToRegister(instr->result()),
|
||||||
|
Heap::kTrueValueRootIndex,
|
||||||
condition);
|
condition);
|
||||||
__ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex,
|
__ LoadRoot(ToRegister(instr->result()),
|
||||||
|
Heap::kFalseValueRootIndex,
|
||||||
NegateCondition(condition));
|
NegateCondition(condition));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user