| 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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 private: | 311 private: |
| 312 friend TranslatedValue; | 312 friend TranslatedValue; |
| 313 | 313 |
| 314 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator, | 314 TranslatedFrame CreateNextTranslatedFrame(TranslationIterator* iterator, |
| 315 FixedArray* literal_array, | 315 FixedArray* literal_array, |
| 316 Address fp, | 316 Address fp, |
| 317 FILE* trace_file); | 317 FILE* trace_file); |
| 318 int CreateNextTranslatedValue(int frame_index, TranslationIterator* iterator, | 318 int CreateNextTranslatedValue(int frame_index, TranslationIterator* iterator, |
| 319 FixedArray* literal_array, Address fp, | 319 FixedArray* literal_array, Address fp, |
| 320 RegisterValues* registers, FILE* trace_file); | 320 RegisterValues* registers, FILE* trace_file); |
| 321 Address ComputeArgumentsPosition(Address input_frame_pointer, bool is_rest, |
| 322 int* length); |
| 321 void CreateArgumentsElementsTranslatedValues(int frame_index, | 323 void CreateArgumentsElementsTranslatedValues(int frame_index, |
| 322 Address input_frame_pointer, | 324 Address input_frame_pointer, |
| 323 bool is_rest); | 325 bool is_rest); |
| 324 | 326 |
| 325 void UpdateFromPreviouslyMaterializedObjects(); | 327 void UpdateFromPreviouslyMaterializedObjects(); |
| 326 Handle<Object> MaterializeAt(int frame_index, int* value_index); | 328 Handle<Object> MaterializeAt(int frame_index, int* value_index); |
| 327 Handle<Object> MaterializeObjectAt(int object_index); | 329 Handle<Object> MaterializeObjectAt(int object_index); |
| 328 class CapturedObjectMaterializer; | 330 class CapturedObjectMaterializer; |
| 329 Handle<Object> MaterializeCapturedObjectAt(TranslatedValue* slot, | 331 Handle<Object> MaterializeCapturedObjectAt(TranslatedValue* slot, |
| 330 int frame_index, int* value_index); | 332 int frame_index, int* value_index); |
| (...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 V(INTERPRETED_FRAME) \ | 930 V(INTERPRETED_FRAME) \ |
| 929 V(CONSTRUCT_STUB_FRAME) \ | 931 V(CONSTRUCT_STUB_FRAME) \ |
| 930 V(GETTER_STUB_FRAME) \ | 932 V(GETTER_STUB_FRAME) \ |
| 931 V(SETTER_STUB_FRAME) \ | 933 V(SETTER_STUB_FRAME) \ |
| 932 V(ARGUMENTS_ADAPTOR_FRAME) \ | 934 V(ARGUMENTS_ADAPTOR_FRAME) \ |
| 933 V(TAIL_CALLER_FRAME) \ | 935 V(TAIL_CALLER_FRAME) \ |
| 934 V(COMPILED_STUB_FRAME) \ | 936 V(COMPILED_STUB_FRAME) \ |
| 935 V(DUPLICATED_OBJECT) \ | 937 V(DUPLICATED_OBJECT) \ |
| 936 V(ARGUMENTS_OBJECT) \ | 938 V(ARGUMENTS_OBJECT) \ |
| 937 V(ARGUMENTS_ELEMENTS) \ | 939 V(ARGUMENTS_ELEMENTS) \ |
| 940 V(ARGUMENTS_LENGTH) \ |
| 938 V(CAPTURED_OBJECT) \ | 941 V(CAPTURED_OBJECT) \ |
| 939 V(REGISTER) \ | 942 V(REGISTER) \ |
| 940 V(INT32_REGISTER) \ | 943 V(INT32_REGISTER) \ |
| 941 V(UINT32_REGISTER) \ | 944 V(UINT32_REGISTER) \ |
| 942 V(BOOL_REGISTER) \ | 945 V(BOOL_REGISTER) \ |
| 943 V(FLOAT_REGISTER) \ | 946 V(FLOAT_REGISTER) \ |
| 944 V(DOUBLE_REGISTER) \ | 947 V(DOUBLE_REGISTER) \ |
| 945 V(STACK_SLOT) \ | 948 V(STACK_SLOT) \ |
| 946 V(INT32_STACK_SLOT) \ | 949 V(INT32_STACK_SLOT) \ |
| 947 V(UINT32_STACK_SLOT) \ | 950 V(UINT32_STACK_SLOT) \ |
| (...skipping 29 matching lines...) Expand all Loading... |
| 977 unsigned height); | 980 unsigned height); |
| 978 void BeginCompiledStubFrame(int height); | 981 void BeginCompiledStubFrame(int height); |
| 979 void BeginArgumentsAdaptorFrame(int literal_id, unsigned height); | 982 void BeginArgumentsAdaptorFrame(int literal_id, unsigned height); |
| 980 void BeginTailCallerFrame(int literal_id); | 983 void BeginTailCallerFrame(int literal_id); |
| 981 void BeginConstructStubFrame(BailoutId bailout_id, int literal_id, | 984 void BeginConstructStubFrame(BailoutId bailout_id, int literal_id, |
| 982 unsigned height); | 985 unsigned height); |
| 983 void BeginGetterStubFrame(int literal_id); | 986 void BeginGetterStubFrame(int literal_id); |
| 984 void BeginSetterStubFrame(int literal_id); | 987 void BeginSetterStubFrame(int literal_id); |
| 985 void BeginArgumentsObject(int args_length); | 988 void BeginArgumentsObject(int args_length); |
| 986 void ArgumentsElements(bool is_rest); | 989 void ArgumentsElements(bool is_rest); |
| 990 void ArgumentsLength(bool is_rest); |
| 987 void BeginCapturedObject(int length); | 991 void BeginCapturedObject(int length); |
| 988 void DuplicateObject(int object_index); | 992 void DuplicateObject(int object_index); |
| 989 void StoreRegister(Register reg); | 993 void StoreRegister(Register reg); |
| 990 void StoreInt32Register(Register reg); | 994 void StoreInt32Register(Register reg); |
| 991 void StoreUint32Register(Register reg); | 995 void StoreUint32Register(Register reg); |
| 992 void StoreBoolRegister(Register reg); | 996 void StoreBoolRegister(Register reg); |
| 993 void StoreFloatRegister(FloatRegister reg); | 997 void StoreFloatRegister(FloatRegister reg); |
| 994 void StoreDoubleRegister(DoubleRegister reg); | 998 void StoreDoubleRegister(DoubleRegister reg); |
| 995 void StoreStackSlot(int index); | 999 void StoreStackSlot(int index); |
| 996 void StoreInt32StackSlot(int index); | 1000 void StoreInt32StackSlot(int index); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 std::vector<Handle<Object> > expression_stack_; | 1107 std::vector<Handle<Object> > expression_stack_; |
| 1104 int source_position_; | 1108 int source_position_; |
| 1105 | 1109 |
| 1106 friend class Deoptimizer; | 1110 friend class Deoptimizer; |
| 1107 }; | 1111 }; |
| 1108 | 1112 |
| 1109 } // namespace internal | 1113 } // namespace internal |
| 1110 } // namespace v8 | 1114 } // namespace v8 |
| 1111 | 1115 |
| 1112 #endif // V8_DEOPTIMIZER_H_ | 1116 #endif // V8_DEOPTIMIZER_H_ |
| OLD | NEW |