Reviewers: Michael Starzinger,

Description:
Revert TranscendentalCacheStub changes in r16615.

BUG=

Please review this at https://codereview.chromium.org/23889013/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+8, -1 lines):
  M src/x64/code-stubs-x64.cc


Index: src/x64/code-stubs-x64.cc
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
index f8c9506f4e76b0a859c034b76dc5973930b08037..00c5367a10d8bdbb9cbe44c4847330a1d4b3a418 100644
--- a/src/x64/code-stubs-x64.cc
+++ b/src/x64/code-stubs-x64.cc
@@ -1154,7 +1154,14 @@ void TranscendentalCacheStub::Generate(MacroAssembler* masm) {
     __ jmp(&loaded, Label::kNear);

     __ bind(&input_not_smi);
-    __ TaggedToI(rbx, rax, xmm1, TREAT_MINUS_ZERO_AS_ZERO, &runtime_call);
+    // Check if input is a HeapNumber.
+    __ LoadRoot(rbx, Heap::kHeapNumberMapRootIndex);
+    __ cmpq(rbx, FieldOperand(rax, HeapObject::kMapOffset));
+    __ j(not_equal, &runtime_call);
+    // Input is a HeapNumber. Push it on the FPU stack and load its
+    // bits into rbx.
+    __ fld_d(FieldOperand(rax, HeapNumber::kValueOffset));
+    __ movq(rbx, FieldOperand(rax, HeapNumber::kValueOffset));
     __ movq(rdx, rbx);

     __ bind(&loaded);


--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to