| 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/deoptimize-reason.h" | 9 #include "src/deoptimize-reason.h" |
| 10 #include "src/macro-assembler.h" | 10 #include "src/macro-assembler.h" |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 TranslatedValue CreateNextTranslatedValue(int frame_index, int value_index, | 285 TranslatedValue CreateNextTranslatedValue(int frame_index, int value_index, |
| 286 TranslationIterator* iterator, | 286 TranslationIterator* iterator, |
| 287 FixedArray* literal_array, | 287 FixedArray* literal_array, |
| 288 Address fp, | 288 Address fp, |
| 289 RegisterValues* registers, | 289 RegisterValues* registers, |
| 290 FILE* trace_file); | 290 FILE* trace_file); |
| 291 | 291 |
| 292 void UpdateFromPreviouslyMaterializedObjects(); | 292 void UpdateFromPreviouslyMaterializedObjects(); |
| 293 Handle<Object> MaterializeAt(int frame_index, int* value_index); | 293 Handle<Object> MaterializeAt(int frame_index, int* value_index); |
| 294 Handle<Object> MaterializeObjectAt(int object_index); | 294 Handle<Object> MaterializeObjectAt(int object_index); |
| 295 class CapturedObjectMaterializer; |
| 296 Handle<Object> MaterializeCapturedObjectAt(TranslatedValue* slot, |
| 297 int frame_index, int* value_index); |
| 295 bool GetAdaptedArguments(Handle<JSObject>* result, int frame_index); | 298 bool GetAdaptedArguments(Handle<JSObject>* result, int frame_index); |
| 296 | 299 |
| 297 static uint32_t GetUInt32Slot(Address fp, int slot_index); | 300 static uint32_t GetUInt32Slot(Address fp, int slot_index); |
| 298 | 301 |
| 299 std::vector<TranslatedFrame> frames_; | 302 std::vector<TranslatedFrame> frames_; |
| 300 Isolate* isolate_; | 303 Isolate* isolate_; |
| 301 Address stack_frame_pointer_; | 304 Address stack_frame_pointer_; |
| 302 bool has_adapted_arguments_; | 305 bool has_adapted_arguments_; |
| 303 | 306 |
| 304 struct ObjectPosition { | 307 struct ObjectPosition { |
| (...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1056 std::vector<Handle<Object> > expression_stack_; | 1059 std::vector<Handle<Object> > expression_stack_; |
| 1057 int source_position_; | 1060 int source_position_; |
| 1058 | 1061 |
| 1059 friend class Deoptimizer; | 1062 friend class Deoptimizer; |
| 1060 }; | 1063 }; |
| 1061 | 1064 |
| 1062 } // namespace internal | 1065 } // namespace internal |
| 1063 } // namespace v8 | 1066 } // namespace v8 |
| 1064 | 1067 |
| 1065 #endif // V8_DEOPTIMIZER_H_ | 1068 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |