From 5ec91a42792e52f832f118f6c6673016147662f4 Mon Sep 17 00:00:00 2001 From: "ager@chromium.org" Date: Fri, 18 Feb 2011 16:16:17 +0000 Subject: [PATCH] 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. 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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h index 6e1837d..0bcb776 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) { -- 2.7.4