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); | |
98 void AddTranslationForOperand(Translation* translation, Instruction* instr, | 94 void AddTranslationForOperand(Translation* translation, Instruction* instr, |
99 InstructionOperand* op); | 95 InstructionOperand* op); |
100 void AddNopForSmiCodeInlining(); | 96 void AddNopForSmiCodeInlining(); |
101 // =========================================================================== | 97 // =========================================================================== |
102 | 98 |
103 class DeoptimizationPoint : public ZoneObject { | 99 class DeoptimizationPoint : public ZoneObject { |
104 public: | 100 public: |
105 int state_id() const { return state_id_; } | 101 int state_id() const { return state_id_; } |
106 int lazy_state_id() const { return lazy_state_id_; } | 102 int lazy_state_id() const { return lazy_state_id_; } |
107 FrameStateDescriptor* descriptor() const { return descriptor_; } | 103 FrameStateDescriptor* descriptor() const { return descriptor_; } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 ZoneDeque<DeoptimizationState*> deoptimization_states_; | 141 ZoneDeque<DeoptimizationState*> deoptimization_states_; |
146 ZoneDeque<Handle<Object> > deoptimization_literals_; | 142 ZoneDeque<Handle<Object> > deoptimization_literals_; |
147 TranslationBuffer translations_; | 143 TranslationBuffer translations_; |
148 }; | 144 }; |
149 | 145 |
150 } // namespace compiler | 146 } // namespace compiler |
151 } // namespace internal | 147 } // namespace internal |
152 } // namespace v8 | 148 } // namespace v8 |
153 | 149 |
154 #endif // V8_COMPILER_CODE_GENERATOR_H | 150 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |