x64: Fix safepoint register index calculation.
authorager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 18 Feb 2011 16:16:17 +0000 (16:16 +0000)
committerager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 18 Feb 2011 16:16:17 +0000 (16:16 +0000)
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.

TBR=lrn@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/x64/assembler-x64.h

index 6e1837d..0bcb776 100644 (file)
@@ -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) {