OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_CODE_GENERATOR_H_ | 5 #ifndef V8_COMPILER_CODE_GENERATOR_H_ |
6 #define V8_COMPILER_CODE_GENERATOR_H_ | 6 #define V8_COMPILER_CODE_GENERATOR_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "src/compiler/gap-resolver.h" | 10 #include "src/compiler/gap-resolver.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 // =========================================================================== | 84 // =========================================================================== |
85 // Deoptimization table construction | 85 // Deoptimization table construction |
86 void AddSafepointAndDeopt(Instruction* instr); | 86 void AddSafepointAndDeopt(Instruction* instr); |
87 void EmitLazyDeoptimizationCallTable(); | 87 void EmitLazyDeoptimizationCallTable(); |
88 void PopulateDeoptimizationData(Handle<Code> code); | 88 void PopulateDeoptimizationData(Handle<Code> code); |
89 int DefineDeoptimizationLiteral(Handle<Object> literal); | 89 int DefineDeoptimizationLiteral(Handle<Object> literal); |
90 FrameStateDescriptor* GetFrameStateDescriptor(Instruction* instr, | 90 FrameStateDescriptor* GetFrameStateDescriptor(Instruction* instr, |
91 int frame_state_offset); | 91 int frame_state_offset); |
92 int BuildTranslation(Instruction* instr, int frame_state_offset, | 92 int BuildTranslation(Instruction* instr, int frame_state_offset, |
93 OutputFrameStateCombine state_combine); | 93 OutputFrameStateCombine state_combine); |
| 94 void BuildTranslationForFrameStateDescriptor( |
| 95 FrameStateDescriptor* descriptor, Instruction* instr, |
| 96 Translation* translation, int frame_state_offset, |
| 97 OutputFrameStateCombine state_combine); |
94 void AddTranslationForOperand(Translation* translation, Instruction* instr, | 98 void AddTranslationForOperand(Translation* translation, Instruction* instr, |
95 InstructionOperand* op); | 99 InstructionOperand* op); |
96 void AddNopForSmiCodeInlining(); | 100 void AddNopForSmiCodeInlining(); |
97 // =========================================================================== | 101 // =========================================================================== |
98 | 102 |
99 class DeoptimizationPoint : public ZoneObject { | 103 class DeoptimizationPoint : public ZoneObject { |
100 public: | 104 public: |
101 int state_id() const { return state_id_; } | 105 int state_id() const { return state_id_; } |
102 int lazy_state_id() const { return lazy_state_id_; } | 106 int lazy_state_id() const { return lazy_state_id_; } |
103 FrameStateDescriptor* descriptor() const { return descriptor_; } | 107 FrameStateDescriptor* descriptor() const { return descriptor_; } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 ZoneDeque<DeoptimizationState*> deoptimization_states_; | 145 ZoneDeque<DeoptimizationState*> deoptimization_states_; |
142 ZoneDeque<Handle<Object> > deoptimization_literals_; | 146 ZoneDeque<Handle<Object> > deoptimization_literals_; |
143 TranslationBuffer translations_; | 147 TranslationBuffer translations_; |
144 }; | 148 }; |
145 | 149 |
146 } // namespace compiler | 150 } // namespace compiler |
147 } // namespace internal | 151 } // namespace internal |
148 } // namespace v8 | 152 } // namespace v8 |
149 | 153 |
150 #endif // V8_COMPILER_CODE_GENERATOR_H | 154 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |