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/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 void AssembleInstruction(Instruction* instr); | 62 void AssembleInstruction(Instruction* instr); |
63 void AssembleSourcePosition(SourcePositionInstruction* instr); | 63 void AssembleSourcePosition(SourcePositionInstruction* instr); |
64 void AssembleGap(GapInstruction* gap); | 64 void AssembleGap(GapInstruction* gap); |
65 | 65 |
66 // =========================================================================== | 66 // =========================================================================== |
67 // ============= Architecture-specific code generation methods. ============== | 67 // ============= Architecture-specific code generation methods. ============== |
68 // =========================================================================== | 68 // =========================================================================== |
69 | 69 |
70 void AssembleArchInstruction(Instruction* instr); | 70 void AssembleArchInstruction(Instruction* instr); |
71 void AssembleArchJump(BasicBlock::RpoNumber target); | 71 void AssembleArchJump(BasicBlock::RpoNumber target); |
72 void AssembleArchSwitch(Instruction* instr); | |
73 void AssembleArchBranch(Instruction* instr, BranchInfo* branch); | 72 void AssembleArchBranch(Instruction* instr, BranchInfo* branch); |
74 void AssembleArchBoolean(Instruction* instr, FlagsCondition condition); | 73 void AssembleArchBoolean(Instruction* instr, FlagsCondition condition); |
| 74 void AssembleArchLookupSwitch(Instruction* instr); |
| 75 void AssembleArchTableSwitch(Instruction* instr); |
75 | 76 |
76 void AssembleDeoptimizerCall(int deoptimization_id); | 77 void AssembleDeoptimizerCall(int deoptimization_id); |
77 | 78 |
78 // Generates an architecture-specific, descriptor-specific prologue | 79 // Generates an architecture-specific, descriptor-specific prologue |
79 // to set up a stack frame. | 80 // to set up a stack frame. |
80 void AssemblePrologue(); | 81 void AssemblePrologue(); |
81 // Generates an architecture-specific, descriptor-specific return sequence | 82 // Generates an architecture-specific, descriptor-specific return sequence |
82 // to tear down a stack frame. | 83 // to tear down a stack frame. |
83 void AssembleReturn(); | 84 void AssembleReturn(); |
84 | 85 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 JumpTable* jump_tables_; | 162 JumpTable* jump_tables_; |
162 OutOfLineCode* ools_; | 163 OutOfLineCode* ools_; |
163 int osr_pc_offset_; | 164 int osr_pc_offset_; |
164 }; | 165 }; |
165 | 166 |
166 } // namespace compiler | 167 } // namespace compiler |
167 } // namespace internal | 168 } // namespace internal |
168 } // namespace v8 | 169 } // namespace v8 |
169 | 170 |
170 #endif // V8_COMPILER_CODE_GENERATOR_H | 171 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |