summaryrefslogtreecommitdiff
path: root/deps/v8/src/frame-constants.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/frame-constants.h')
-rw-r--r--deps/v8/src/frame-constants.h11
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 {