Revision: 6261
Author: [email protected]
Date: Tue Jan 11 03:54:37 2011
Log: ARM: use existing transcendental cache stub for tagged inputs.
Review URL: http://codereview.chromium.org/6167004
http://code.google.com/p/v8/source/detail?r=6261
Modified:
/branches/bleeding_edge/src/arm/lithium-arm.h
/branches/bleeding_edge/src/arm/lithium-codegen-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/lithium-arm.h Tue Jan 11 03:41:01 2011
+++ /branches/bleeding_edge/src/arm/lithium-arm.h Tue Jan 11 03:54:37 2011
@@ -445,6 +445,10 @@
public:
DECLARE_CONCRETE_INSTRUCTION(CallStub, "call-stub")
DECLARE_HYDROGEN_ACCESSOR(CallStub)
+
+ TranscendentalCache::Type transcendental_type() {
+ return hydrogen()->transcendental_type();
+ }
};
=======================================
--- /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Tue Jan 11
03:41:01 2011
+++ /branches/bleeding_edge/src/arm/lithium-codegen-arm.cc Tue Jan 11
03:54:37 2011
@@ -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