Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Unified Diff: src/x64/frames-x64.h

Issue 18014003: Add X32 port into V8 (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/x64/frames-x64.h
===================================================================
--- src/x64/frames-x64.h (revision 15486)
+++ src/x64/frames-x64.h (working copy)
@@ -55,11 +55,20 @@
static const int kXMMRegisterSize = 16;
static const int kXMMRegistersBlockSize =
kXMMRegisterSize * kCalleeSaveXMMRegisters;
+#ifndef V8_TARGET_ARCH_X32
static const int kCallerFPOffset =
-10 * kPointerSize - kXMMRegistersBlockSize;
#else
+ static const int kCallerFPOffset =
+ -3 * kPointerSize + -7 * kHWRegSize - kXMMRegistersBlockSize;
+#endif
+#else
+#ifndef V8_TARGET_ARCH_X32
static const int kCallerFPOffset = -8 * kPointerSize;
+#else
+ static const int kCallerFPOffset = -3 * kPointerSize + -5 * kHWRegSize;
#endif
+#endif
static const int kArgvOffset = 6 * kPointerSize;
};
@@ -70,11 +79,19 @@
static const int kSPOffset = -1 * kPointerSize;
static const int kCallerFPOffset = +0 * kPointerSize;
+#ifndef V8_TARGET_ARCH_X32
static const int kCallerPCOffset = +1 * kPointerSize;
// FP-relative displacement of the caller's SP. It points just
// below the saved PC.
static const int kCallerSPDisplacement = +2 * kPointerSize;
+#else
+ static const int kCallerPCOffset = +1 * kHWRegSize;
+
+ // FP-relative displacement of the caller's SP. It points just
+ // below the saved PC.
+ static const int kCallerSPDisplacement = +2 * kHWRegSize;
+#endif
};
@@ -82,7 +99,11 @@
public:
// FP-relative.
static const int kLocal0Offset = StandardFrameConstants::kExpressionsOffset;
+#ifndef V8_TARGET_ARCH_X32
static const int kLastParameterOffset = +2 * kPointerSize;
+#else
+ static const int kLastParameterOffset = +2 * kHWRegSize;
+#endif
static const int kFunctionOffset = StandardFrameConstants::kMarkerOffset;
// Caller SP-relative.

Powered by Google App Engine
This is Rietveld 408576698