Reviewers: William Hesse,

Description:
X64: Allow the type recording binary op stub to create heapnumber results.


Please review this at http://codereview.chromium.org/6803010/

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

Affected files:
  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 86d57043a792aed976e5940490579da9a268b88b..d15736be27b8cc927bd826750f13a97d6db773ba 100644
--- a/src/x64/code-stubs-x64.cc
+++ b/src/x64/code-stubs-x64.cc
@@ -1423,8 +1423,11 @@ void TypeRecordingBinaryOpStub::GenerateCallRuntimeCode(MacroAssembler* masm) {

 void TypeRecordingBinaryOpStub::GenerateSmiStub(MacroAssembler* masm) {
   Label not_smi;
-
-  GenerateSmiCode(masm, &not_smi, NO_HEAPNUMBER_RESULTS);
+  if (result_type_ == TRBinaryOpIC::HEAP_NUMBER) {
+    GenerateSmiCode(masm, &not_smi, ALLOW_HEAPNUMBER_RESULTS);
+  } else {
+    GenerateSmiCode(masm, &not_smi, NO_HEAPNUMBER_RESULTS);
+  }

   __ bind(&not_smi);
   GenerateTypeTransition(masm);


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to