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 "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/instruction.h" | 9 #include "src/compiler/instruction.h" |
10 #include "src/compiler/unwinding-info-writer.h" | 10 #include "src/compiler/unwinding-info-writer.h" |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 // gap-specific pre-processing, e.g. adjustment of the sp for tail calls that | 171 // gap-specific pre-processing, e.g. adjustment of the sp for tail calls that |
172 // need it before gap moves or conversion of certain gap moves into pushes. | 172 // need it before gap moves or conversion of certain gap moves into pushes. |
173 void AssembleTailCallBeforeGap(Instruction* instr, | 173 void AssembleTailCallBeforeGap(Instruction* instr, |
174 int first_unused_stack_slot); | 174 int first_unused_stack_slot); |
175 // Called after a tail call |instr|'s gap moves are assembled and allows | 175 // Called after a tail call |instr|'s gap moves are assembled and allows |
176 // gap-specific post-processing, e.g. adjustment of the sp for tail calls that | 176 // gap-specific post-processing, e.g. adjustment of the sp for tail calls that |
177 // need it after gap moves. | 177 // need it after gap moves. |
178 void AssembleTailCallAfterGap(Instruction* instr, | 178 void AssembleTailCallAfterGap(Instruction* instr, |
179 int first_unused_stack_slot); | 179 int first_unused_stack_slot); |
180 | 180 |
| 181 void FinishCode(); |
| 182 |
181 // =========================================================================== | 183 // =========================================================================== |
182 // ============== Architecture-specific gap resolver methods. ================ | 184 // ============== Architecture-specific gap resolver methods. ================ |
183 // =========================================================================== | 185 // =========================================================================== |
184 | 186 |
185 // Interface used by the gap resolver to emit moves and swaps. | 187 // Interface used by the gap resolver to emit moves and swaps. |
186 void AssembleMove(InstructionOperand* source, | 188 void AssembleMove(InstructionOperand* source, |
187 InstructionOperand* destination) final; | 189 InstructionOperand* destination) final; |
188 void AssembleSwap(InstructionOperand* source, | 190 void AssembleSwap(InstructionOperand* source, |
189 InstructionOperand* destination) final; | 191 InstructionOperand* destination) final; |
190 | 192 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 int osr_pc_offset_; | 292 int osr_pc_offset_; |
291 int optimized_out_literal_id_; | 293 int optimized_out_literal_id_; |
292 SourcePositionTableBuilder source_position_table_builder_; | 294 SourcePositionTableBuilder source_position_table_builder_; |
293 }; | 295 }; |
294 | 296 |
295 } // namespace compiler | 297 } // namespace compiler |
296 } // namespace internal | 298 } // namespace internal |
297 } // namespace v8 | 299 } // namespace v8 |
298 | 300 |
299 #endif // V8_COMPILER_CODE_GENERATOR_H | 301 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |