OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_ARM_FRAMES_ARM_H_ | 5 #ifndef V8_ARM_FRAMES_ARM_H_ |
6 #define V8_ARM_FRAMES_ARM_H_ | 6 #define V8_ARM_FRAMES_ARM_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 99 |
100 // FP-relative displacement of the caller's SP. It points just | 100 // FP-relative displacement of the caller's SP. It points just |
101 // below the saved PC. | 101 // below the saved PC. |
102 static const int kCallerSPDisplacement = 2 * kPointerSize; | 102 static const int kCallerSPDisplacement = 2 * kPointerSize; |
103 }; | 103 }; |
104 | 104 |
105 | 105 |
106 class JavaScriptFrameConstants : public AllStatic { | 106 class JavaScriptFrameConstants : public AllStatic { |
107 public: | 107 public: |
108 // FP-relative. | 108 // FP-relative. |
109 static const int kLocal0Offset = StandardFrameConstants::kExpressionsOffset; | |
110 static const int kLastParameterOffset = +2 * kPointerSize; | 109 static const int kLastParameterOffset = +2 * kPointerSize; |
111 static const int kFunctionOffset = StandardFrameConstants::kMarkerOffset; | 110 static const int kFunctionOffset = StandardFrameConstants::kMarkerOffset; |
| 111 static const int kFeedbackVectorOffset = |
| 112 StandardFrameConstants::kExpressionsOffset; |
| 113 static const int kLocal0Offset = -1 * kPointerSize + kFeedbackVectorOffset; |
| 114 static const int kLocal0OffsetOptimized = kFeedbackVectorOffset; |
| 115 |
| 116 static const int kUnoptimizedFixedFrameSizeFromFp = |
| 117 StandardFrameConstants::kFixedFrameSizeFromFp + kPointerSize; |
112 | 118 |
113 // Caller SP-relative. | 119 // Caller SP-relative. |
114 static const int kParam0Offset = -2 * kPointerSize; | 120 static const int kParam0Offset = -2 * kPointerSize; |
115 static const int kReceiverOffset = -1 * kPointerSize; | 121 static const int kReceiverOffset = -1 * kPointerSize; |
| 122 |
| 123 static const int kUnoptimizedFixedFrameSize = |
| 124 StandardFrameConstants::kFixedFrameSize + kPointerSize; |
116 }; | 125 }; |
117 | 126 |
118 | 127 |
119 class ArgumentsAdaptorFrameConstants : public AllStatic { | 128 class ArgumentsAdaptorFrameConstants : public AllStatic { |
120 public: | 129 public: |
121 // FP-relative. | 130 // FP-relative. |
122 static const int kLengthOffset = StandardFrameConstants::kExpressionsOffset; | 131 static const int kLengthOffset = StandardFrameConstants::kExpressionsOffset; |
123 | 132 |
124 static const int kFrameSize = | 133 static const int kFrameSize = |
125 StandardFrameConstants::kFixedFrameSize + kPointerSize; | 134 StandardFrameConstants::kFixedFrameSize + kPointerSize; |
(...skipping 22 matching lines...) Expand all Loading... |
148 | 157 |
149 inline Object* JavaScriptFrame::function_slot_object() const { | 158 inline Object* JavaScriptFrame::function_slot_object() const { |
150 const int offset = JavaScriptFrameConstants::kFunctionOffset; | 159 const int offset = JavaScriptFrameConstants::kFunctionOffset; |
151 return Memory::Object_at(fp() + offset); | 160 return Memory::Object_at(fp() + offset); |
152 } | 161 } |
153 | 162 |
154 | 163 |
155 } } // namespace v8::internal | 164 } } // namespace v8::internal |
156 | 165 |
157 #endif // V8_ARM_FRAMES_ARM_H_ | 166 #endif // V8_ARM_FRAMES_ARM_H_ |
OLD | NEW |