diff options
Diffstat (limited to 'deps/v8/src/frame-constants.h')
-rw-r--r-- | deps/v8/src/frame-constants.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/deps/v8/src/frame-constants.h b/deps/v8/src/frame-constants.h index fa5921aef9..8d2d1f8cc4 100644 --- a/deps/v8/src/frame-constants.h +++ b/deps/v8/src/frame-constants.h @@ -251,8 +251,16 @@ class BuiltinContinuationFrameConstants : public TypedFrameConstants { // FP-relative. static const int kFunctionOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(0); static const int kBuiltinOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(1); + // The argument count is in the first allocatable register, stored below the + // fixed part of the frame and therefore is not part of the fixed frame size. static const int kArgCOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(2); DEFINE_TYPED_FRAME_SIZES(2); + + // Returns the number of padding stack slots needed when we have + // 'register_count' register slots. + // This is needed on some architectures to ensure the stack pointer is + // aligned. + static int PaddingSlotCount(int register_count); }; // Behaves like an exit frame but with target and new target args. @@ -261,6 +269,9 @@ class BuiltinExitFrameConstants : public CommonFrameConstants { static const int kNewTargetOffset = kCallerPCOffset + 1 * kPointerSize; static const int kTargetOffset = kNewTargetOffset + 1 * kPointerSize; static const int kArgcOffset = kTargetOffset + 1 * kPointerSize; + static const int kPaddingOffset = kArgcOffset + 1 * kPointerSize; + static const int kFirstArgumentOffset = kPaddingOffset + 1 * kPointerSize; + static const int kNumExtraArgsWithReceiver = 5; }; class InterpreterFrameConstants : public AllStatic { |