OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/arm64/assembler-arm64.h" | 5 #include "src/arm64/assembler-arm64.h" |
6 #include "src/arm64/constants-arm64.h" | 6 #include "src/arm64/constants-arm64.h" |
7 | 7 |
8 #ifndef V8_ARM64_FRAMES_ARM64_H_ | 8 #ifndef V8_ARM64_FRAMES_ARM64_H_ |
9 #define V8_ARM64_FRAMES_ARM64_H_ | 9 #define V8_ARM64_FRAMES_ARM64_H_ |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 #define kSafepointSavedRegisters CPURegList::GetSafepointSavedRegisters().list() | 27 #define kSafepointSavedRegisters CPURegList::GetSafepointSavedRegisters().list() |
28 #define kNumSafepointSavedRegisters \ | 28 #define kNumSafepointSavedRegisters \ |
29 CPURegList::GetSafepointSavedRegisters().Count(); | 29 CPURegList::GetSafepointSavedRegisters().Count(); |
30 | 30 |
31 class EntryFrameConstants : public AllStatic { | 31 class EntryFrameConstants : public AllStatic { |
32 public: | 32 public: |
33 static const int kCallerFPOffset = | 33 static const int kCallerFPOffset = |
34 -(StandardFrameConstants::kFixedFrameSizeFromFp + kPointerSize); | 34 -(StandardFrameConstants::kFixedFrameSizeFromFp + kPointerSize); |
35 }; | 35 }; |
36 | 36 |
37 | 37 class ExitFrameConstants : public TypedFrameConstants { |
38 class ExitFrameConstants : public AllStatic { | |
39 public: | 38 public: |
40 static const int kFrameSize = 2 * kPointerSize; | 39 static const int kSPOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(0); |
41 | 40 static const int kCodeOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(1); |
42 static const int kCallerSPDisplacement = 2 * kPointerSize; | 41 DEFINE_TYPED_FRAME_SIZES(2); |
43 static const int kCallerPCOffset = 1 * kPointerSize; | |
44 static const int kCallerFPOffset = 0 * kPointerSize; // <- fp | |
45 static const int kSPOffset = -1 * kPointerSize; | |
46 static const int kCodeOffset = -2 * kPointerSize; | |
47 static const int kLastExitFrameField = kCodeOffset; | 42 static const int kLastExitFrameField = kCodeOffset; |
48 | 43 |
49 static const int kConstantPoolOffset = 0; // Not used | 44 static const int kConstantPoolOffset = 0; // Not used |
50 }; | 45 }; |
51 | 46 |
52 | 47 |
53 class JavaScriptFrameConstants : public AllStatic { | 48 class JavaScriptFrameConstants : public AllStatic { |
54 public: | 49 public: |
55 // FP-relative. | 50 // FP-relative. |
56 static const int kLocal0Offset = StandardFrameConstants::kExpressionsOffset; | 51 static const int kLocal0Offset = StandardFrameConstants::kExpressionsOffset; |
57 | 52 |
58 // There are two words on the stack (saved fp and saved lr) between fp and | 53 // There are two words on the stack (saved fp and saved lr) between fp and |
59 // the arguments. | 54 // the arguments. |
60 static const int kLastParameterOffset = 2 * kPointerSize; | 55 static const int kLastParameterOffset = 2 * kPointerSize; |
61 | 56 |
62 static const int kFunctionOffset = StandardFrameConstants::kMarkerOffset; | 57 static const int kFunctionOffset = StandardFrameConstants::kFunctionOffset; |
63 }; | 58 }; |
64 | 59 |
65 | 60 |
66 } // namespace internal | 61 } // namespace internal |
67 } // namespace v8 | 62 } // namespace v8 |
68 | 63 |
69 #endif // V8_ARM64_FRAMES_ARM64_H_ | 64 #endif // V8_ARM64_FRAMES_ARM64_H_ |
OLD | NEW |