Index: src/x64/fast-codegen-x64.cc |
=================================================================== |
--- src/x64/fast-codegen-x64.cc (revision 3369) |
+++ src/x64/fast-codegen-x64.cc (working copy) |
@@ -666,8 +666,9 @@ |
__ CallRuntime(Runtime::kCloneLiteralBoilerplate, 1); |
} |
- // If result_saved == true: the result is saved on top of the stack. |
- // If result_saved == false: the result is not on the stack, just in rax. |
+ // If result_saved == true: The result is saved on top of the |
+ // stack and in rax. |
+ // If result_saved == false: The result not on the stack, just in rax. |
bool result_saved = false; |
for (int i = 0; i < expr->properties()->length(); i++) { |
@@ -692,6 +693,7 @@ |
Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Initialize)); |
__ call(ic, RelocInfo::CODE_TARGET); |
// StoreIC leaves the receiver on the stack. |
+ __ movq(rax, Operand(rsp, 0)); // Restore result back into rax. |
break; |
} |
// fall through |