Commit b3d4ea35 authored by ager@chromium.org's avatar ager@chromium.org

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
parent 544d941b
...@@ -445,6 +445,10 @@ class LCallStub: public LInstruction { ...@@ -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) { ...@@ -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) { ...@@ -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));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment