5 #ifndef V8_MIPS64_FRAME_CONSTANTS_MIPS64_H_ 6 #define V8_MIPS64_FRAME_CONSTANTS_MIPS64_H_ 8 #include "src/base/macros.h" 9 #include "src/frame-constants.h" 14 class EntryFrameConstants :
public AllStatic {
16 static constexpr
int kCallerFPOffset =
17 -(StandardFrameConstants::kFixedFrameSizeFromFp + kPointerSize);
20 class ExitFrameConstants :
public TypedFrameConstants {
22 static constexpr
int kSPOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(0);
23 static constexpr
int kCodeOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(1);
24 DEFINE_TYPED_FRAME_SIZES(2);
27 static constexpr
int kCallerFPOffset = +0 * kPointerSize;
29 static constexpr
int kCallerPCOffset = +1 * kPointerSize;
32 static constexpr
int kCallerSPOffset = +2 * kPointerSize;
35 static constexpr
int kCallerSPDisplacement = +2 * kPointerSize;
37 static constexpr
int kConstantPoolOffset = 0;
40 class WasmCompileLazyFrameConstants :
public TypedFrameConstants {
42 static constexpr
int kNumberOfSavedGpParamRegs = 7;
43 static constexpr
int kNumberOfSavedFpParamRegs = 7;
46 static constexpr
int kWasmInstanceOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(7);
47 static constexpr
int kFixedFrameSizeFromFp =
48 TypedFrameConstants::kFixedFrameSizeFromFp +
49 kNumberOfSavedGpParamRegs * kPointerSize +
50 kNumberOfSavedFpParamRegs * kDoubleSize;
53 class JavaScriptFrameConstants :
public AllStatic {
56 static constexpr
int kLocal0Offset =
57 StandardFrameConstants::kExpressionsOffset;
58 static constexpr
int kLastParameterOffset = +2 * kPointerSize;
59 static constexpr
int kFunctionOffset =
60 StandardFrameConstants::kFunctionOffset;
63 static constexpr
int kParam0Offset = -2 * kPointerSize;
64 static constexpr
int kReceiverOffset = -1 * kPointerSize;
70 #endif // V8_MIPS64_FRAME_CONSTANTS_MIPS64_H_