Reviewers: Erik Corry,

Description:
Fixed bug in x64 port of KeyedStoreIC::GenerateExternalArray where it
was always falling through to the runtime. Re-examined both load and
store ICs and verified they are now in sync with the 32-bit port.

Ran tests and benchmarks.


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

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

Affected files:
   M     src/x64/ic-x64.cc


Index: src/x64/ic-x64.cc
===================================================================
--- src/x64/ic-x64.cc   (revision 3266)
+++ src/x64/ic-x64.cc   (working copy)
@@ -790,6 +790,8 @@
    // top of FPU stack: value
    if (array_type == kExternalFloatArray) {
      __ fstp_s(Operand(rcx, rbx, times_4, 0));
+    __ movq(rax, rdx);  // Return the original value.
+    __ ret(0);
    } else {
      // Need to perform float-to-int conversion.
      // Test the top of the FP stack for NaN.



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

Reply via email to