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/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 | 932 |
933 private: | 933 private: |
934 List<Handle<Object> > materialized_objects_; | 934 List<Handle<Object> > materialized_objects_; |
935 Handle<FixedArray> previously_materialized_objects_; | 935 Handle<FixedArray> previously_materialized_objects_; |
936 int prev_materialized_count_; | 936 int prev_materialized_count_; |
937 Address stack_frame_id_; | 937 Address stack_frame_id_; |
938 List<SlotRef> slot_refs_; | 938 List<SlotRef> slot_refs_; |
939 int current_slot_; | 939 int current_slot_; |
940 int args_length_; | 940 int args_length_; |
941 int first_slot_index_; | 941 int first_slot_index_; |
| 942 bool should_deoptimize_; |
942 | 943 |
943 static SlotRef ComputeSlotForNextArgument( | 944 static SlotRef ComputeSlotForNextArgument( |
944 Translation::Opcode opcode, | 945 Translation::Opcode opcode, |
945 TranslationIterator* iterator, | 946 TranslationIterator* iterator, |
946 DeoptimizationInputData* data, | 947 DeoptimizationInputData* data, |
947 JavaScriptFrame* frame); | 948 JavaScriptFrame* frame); |
948 | 949 |
949 Handle<Object> GetPreviouslyMaterialized(Isolate* isolate, int length); | 950 Handle<Object> GetPreviouslyMaterialized(Isolate* isolate, int length); |
950 | 951 |
951 static Address SlotAddress(JavaScriptFrame* frame, int slot_index) { | 952 static Address SlotAddress(JavaScriptFrame* frame, int slot_index) { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1056 Object** parameters_; | 1057 Object** parameters_; |
1057 Object** expression_stack_; | 1058 Object** expression_stack_; |
1058 int source_position_; | 1059 int source_position_; |
1059 | 1060 |
1060 friend class Deoptimizer; | 1061 friend class Deoptimizer; |
1061 }; | 1062 }; |
1062 | 1063 |
1063 } } // namespace v8::internal | 1064 } } // namespace v8::internal |
1064 | 1065 |
1065 #endif // V8_DEOPTIMIZER_H_ | 1066 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |