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 21 matching lines...) Expand all Loading... |
32 class CodeGenerator final : public GapResolver::Assembler { | 32 class CodeGenerator final : public GapResolver::Assembler { |
33 public: | 33 public: |
34 explicit CodeGenerator(Frame* frame, Linkage* linkage, | 34 explicit CodeGenerator(Frame* frame, Linkage* linkage, |
35 InstructionSequence* code, CompilationInfo* info); | 35 InstructionSequence* code, CompilationInfo* info); |
36 | 36 |
37 // Generate native code. | 37 // Generate native code. |
38 Handle<Code> GenerateCode(); | 38 Handle<Code> GenerateCode(); |
39 | 39 |
40 InstructionSequence* code() const { return code_; } | 40 InstructionSequence* code() const { return code_; } |
41 FrameAccessState* frame_access_state() const { return frame_access_state_; } | 41 FrameAccessState* frame_access_state() const { return frame_access_state_; } |
42 Frame* const frame() const { return frame_access_state_->frame(); } | 42 Frame* frame() const { return frame_access_state_->frame(); } |
43 Isolate* isolate() const { return info_->isolate(); } | 43 Isolate* isolate() const { return info_->isolate(); } |
44 Linkage* linkage() const { return linkage_; } | 44 Linkage* linkage() const { return linkage_; } |
45 | 45 |
46 Label* GetLabel(RpoNumber rpo) { return &labels_[rpo.ToSize()]; } | 46 Label* GetLabel(RpoNumber rpo) { return &labels_[rpo.ToSize()]; } |
47 | 47 |
48 private: | 48 private: |
49 MacroAssembler* masm() { return &masm_; } | 49 MacroAssembler* masm() { return &masm_; } |
50 GapResolver* resolver() { return &resolver_; } | 50 GapResolver* resolver() { return &resolver_; } |
51 SafepointTableBuilder* safepoints() { return &safepoints_; } | 51 SafepointTableBuilder* safepoints() { return &safepoints_; } |
52 Zone* zone() const { return code()->zone(); } | 52 Zone* zone() const { return code()->zone(); } |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 JumpTable* jump_tables_; | 198 JumpTable* jump_tables_; |
199 OutOfLineCode* ools_; | 199 OutOfLineCode* ools_; |
200 int osr_pc_offset_; | 200 int osr_pc_offset_; |
201 }; | 201 }; |
202 | 202 |
203 } // namespace compiler | 203 } // namespace compiler |
204 } // namespace internal | 204 } // namespace internal |
205 } // namespace v8 | 205 } // namespace v8 |
206 | 206 |
207 #endif // V8_COMPILER_CODE_GENERATOR_H | 207 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |