Reviewers: Lasse Reichstein,

Description:
x64: Fix safepoint register index calculation.

We leave room for all registers on the stack so we have to add a bit.

This is not nicely factored and I need to do that. This will fix the breakage
and I
will fix the rest on Monday.

[email protected]

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

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

Affected files:
  M src/x64/assembler-x64.h


Index: src/x64/assembler-x64.h
diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
index 6e1837d7e2150d23560d6a8c3c24e06bfd73a8f7..0bcb776341498c96ec33f17f794713441066abaf 100644
--- a/src/x64/assembler-x64.h
+++ b/src/x64/assembler-x64.h
@@ -109,7 +109,9 @@ struct Register {
   }

   static int ToRspIndexForPushAll(Register reg) {
-    return kRspIndexForPushAllByRegisterCode[reg.code()];
+    // TODO(ager): Refactor this so we can use the right constants for
+    // this computation. Move it to the macro assembler as on ARM.
+    return kRspIndexForPushAllByRegisterCode[reg.code()] + 5;
   }

   static const char* AllocationIndexToString(int index) {


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

Reply via email to