Reviewers: Karl Klose, Description: ARM: use existing transcendental cache stub for tagged inputs.
Please review this at http://codereview.chromium.org/6167004/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/arm/lithium-arm.h M src/arm/lithium-codegen-arm.cc Index: src/arm/lithium-arm.h =================================================================== --- src/arm/lithium-arm.h (revision 6255) +++ src/arm/lithium-arm.h (working copy) @@ -445,6 +445,10 @@ public: DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub") DECLARE_HYDROGEN_ACCESSOR(CallStub) + + TranscendentalCache::Type transcendental_type() { + return hydrogen()->transcendental_type(); + } }; Index: src/arm/lithium-codegen-arm.cc =================================================================== --- src/arm/lithium-codegen-arm.cc (revision 6255) +++ src/arm/lithium-codegen-arm.cc (working copy) @@ -771,7 +771,9 @@ 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 @@ 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)); } -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
