| 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.
|
|
|