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:
|
||||
DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub")
|
||||
DECLARE_HYDROGEN_ACCESSOR(CallStub)
|
||||
|
||||
TranscendentalCache::Type transcendental_type() {
|
||||
return hydrogen()->transcendental_type();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -771,7 +771,9 @@ void LCodeGen::DoCallStub(LCallStub* instr) {
|
||||
break;
|
||||
}
|
||||
case CodeStub::TranscendentalCache: {
|
||||
Abort("TranscendentalCache unimplemented.");
|
||||
__ ldr(r0, MemOperand(sp, 0));
|
||||
TranscendentalCacheStub stub(instr->transcendental_type());
|
||||
CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@ -1482,10 +1484,12 @@ void LCodeGen::DoCmpT(LCmpT* instr) {
|
||||
condition = ReverseCondition(condition);
|
||||
}
|
||||
__ cmp(r0, Operand(0));
|
||||
__ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex,
|
||||
condition);
|
||||
__ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex,
|
||||
NegateCondition(condition));
|
||||
__ LoadRoot(ToRegister(instr->result()),
|
||||
Heap::kTrueValueRootIndex,
|
||||
condition);
|
||||
__ LoadRoot(ToRegister(instr->result()),
|
||||
Heap::kFalseValueRootIndex,
|
||||
NegateCondition(condition));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user