Commit ffda5f5f authored by kbr@chromium.org's avatar kbr@chromium.org

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.

Review URL: http://codereview.chromium.org/385020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d5ca1178
...@@ -790,6 +790,8 @@ void KeyedStoreIC::GenerateExternalArray(MacroAssembler* masm, ...@@ -790,6 +790,8 @@ void KeyedStoreIC::GenerateExternalArray(MacroAssembler* masm,
// top of FPU stack: value // top of FPU stack: value
if (array_type == kExternalFloatArray) { if (array_type == kExternalFloatArray) {
__ fstp_s(Operand(rcx, rbx, times_4, 0)); __ fstp_s(Operand(rcx, rbx, times_4, 0));
__ movq(rax, rdx); // Return the original value.
__ ret(0);
} else { } else {
// Need to perform float-to-int conversion. // Need to perform float-to-int conversion.
// Test the top of the FP stack for NaN. // Test the top of the FP stack for NaN.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment