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_DEOPTIMIZER_H_ | 5 #ifndef V8_DEOPTIMIZER_H_ |
6 #define V8_DEOPTIMIZER_H_ | 6 #define V8_DEOPTIMIZER_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 | 10 |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 FixedArray* literal_array, | 269 FixedArray* literal_array, |
270 Address fp, | 270 Address fp, |
271 RegisterValues* registers, | 271 RegisterValues* registers, |
272 FILE* trace_file); | 272 FILE* trace_file); |
273 | 273 |
274 void UpdateFromPreviouslyMaterializedObjects(); | 274 void UpdateFromPreviouslyMaterializedObjects(); |
275 Handle<Object> MaterializeAt(int frame_index, int* value_index); | 275 Handle<Object> MaterializeAt(int frame_index, int* value_index); |
276 Handle<Object> MaterializeObjectAt(int object_index); | 276 Handle<Object> MaterializeObjectAt(int object_index); |
277 bool GetAdaptedArguments(Handle<JSObject>* result, int frame_index); | 277 bool GetAdaptedArguments(Handle<JSObject>* result, int frame_index); |
278 | 278 |
279 static int SlotOffsetFp(int slot_index); | |
280 static Address SlotAddress(Address fp, int slot_index); | |
281 static uint32_t GetUInt32Slot(Address fp, int slot_index); | 279 static uint32_t GetUInt32Slot(Address fp, int slot_index); |
282 | 280 |
283 std::vector<TranslatedFrame> frames_; | 281 std::vector<TranslatedFrame> frames_; |
284 Isolate* isolate_; | 282 Isolate* isolate_; |
285 Address stack_frame_pointer_; | 283 Address stack_frame_pointer_; |
286 bool has_adapted_arguments_; | 284 bool has_adapted_arguments_; |
287 | 285 |
288 struct ObjectPosition { | 286 struct ObjectPosition { |
289 int frame_index_; | 287 int frame_index_; |
290 int value_index_; | 288 int value_index_; |
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1137 Object** expression_stack_; | 1135 Object** expression_stack_; |
1138 int source_position_; | 1136 int source_position_; |
1139 | 1137 |
1140 friend class Deoptimizer; | 1138 friend class Deoptimizer; |
1141 }; | 1139 }; |
1142 | 1140 |
1143 } // namespace internal | 1141 } // namespace internal |
1144 } // namespace v8 | 1142 } // namespace v8 |
1145 | 1143 |
1146 #endif // V8_DEOPTIMIZER_H_ | 1144 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |