5 #ifndef V8_ARM64_FRAME_CONSTANTS_ARM64_H_ 6 #define V8_ARM64_FRAME_CONSTANTS_ARM64_H_ 8 #include "src/base/macros.h" 9 #include "src/frame-constants.h" 10 #include "src/globals.h" 36 class EntryFrameConstants :
public AllStatic {
38 static constexpr
int kCallerFPOffset = -3 * kPointerSize;
39 static constexpr
int kFixedFrameSize = 6 * kPointerSize;
42 class ExitFrameConstants :
public TypedFrameConstants {
44 static constexpr
int kSPOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(0);
45 static constexpr
int kCodeOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(1);
46 static constexpr
int kPaddingOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(2);
47 DEFINE_TYPED_FRAME_SIZES(3);
48 static constexpr
int kLastExitFrameField = kPaddingOffset;
50 static constexpr
int kConstantPoolOffset = 0;
53 class WasmCompileLazyFrameConstants :
public TypedFrameConstants {
55 static constexpr
int kNumberOfSavedGpParamRegs = 8;
56 static constexpr
int kNumberOfSavedFpParamRegs = 8;
59 static constexpr
int kWasmInstanceOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(1);
60 static constexpr
int kFixedFrameSizeFromFp =
62 RoundUp<16>(TypedFrameConstants::kFixedFrameSizeFromFp) +
63 kNumberOfSavedGpParamRegs * kPointerSize +
64 kNumberOfSavedFpParamRegs * kDoubleSize;
67 class JavaScriptFrameConstants :
public AllStatic {
70 static constexpr
int kLocal0Offset =
71 StandardFrameConstants::kExpressionsOffset;
75 static constexpr
int kLastParameterOffset = 2 * kPointerSize;
77 static constexpr
int kFunctionOffset =
78 StandardFrameConstants::kFunctionOffset;
84 #endif // V8_ARM64_FRAME_CONSTANTS_ARM64_H_