OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_CRANKSHAFT_LITHIUM_CODEGEN_H_ | 5 #ifndef V8_CRANKSHAFT_LITHIUM_CODEGEN_H_ |
6 #define V8_CRANKSHAFT_LITHIUM_CODEGEN_H_ | 6 #define V8_CRANKSHAFT_LITHIUM_CODEGEN_H_ |
7 | 7 |
8 #include "src/bailout-reason.h" | 8 #include "src/bailout-reason.h" |
9 #include "src/compiler.h" | |
10 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
11 #include "src/source-position-table.h" | 10 #include "src/source-position-table.h" |
12 | 11 |
13 namespace v8 { | 12 namespace v8 { |
14 namespace internal { | 13 namespace internal { |
15 | 14 |
| 15 class CompilationInfo; |
16 class HGraph; | 16 class HGraph; |
17 class LChunk; | 17 class LChunk; |
18 class LEnvironment; | 18 class LEnvironment; |
19 class LInstruction; | 19 class LInstruction; |
20 class LPlatformChunk; | 20 class LPlatformChunk; |
21 | 21 |
22 class LCodeGenBase BASE_EMBEDDED { | 22 class LCodeGenBase BASE_EMBEDDED { |
23 public: | 23 public: |
24 LCodeGenBase(LChunk* chunk, | 24 LCodeGenBase(LChunk* chunk, |
25 MacroAssembler* assembler, | 25 MacroAssembler* assembler, |
26 CompilationInfo* info); | 26 CompilationInfo* info); |
27 virtual ~LCodeGenBase() {} | 27 virtual ~LCodeGenBase() {} |
28 | 28 |
29 // Simple accessors. | 29 // Simple accessors. |
30 MacroAssembler* masm() const { return masm_; } | 30 MacroAssembler* masm() const { return masm_; } |
31 CompilationInfo* info() const { return info_; } | 31 CompilationInfo* info() const { return info_; } |
32 Isolate* isolate() const { return info_->isolate(); } | 32 Isolate* isolate() const; |
33 Factory* factory() const { return isolate()->factory(); } | 33 Factory* factory() const { return isolate()->factory(); } |
34 Heap* heap() const { return isolate()->heap(); } | 34 Heap* heap() const { return isolate()->heap(); } |
35 Zone* zone() const { return zone_; } | 35 Zone* zone() const { return zone_; } |
36 LPlatformChunk* chunk() const { return chunk_; } | 36 LPlatformChunk* chunk() const { return chunk_; } |
37 HGraph* graph() const; | 37 HGraph* graph() const; |
38 SourcePositionTableBuilder* source_position_table_builder() { | 38 SourcePositionTableBuilder* source_position_table_builder() { |
39 return &source_position_table_builder_; | 39 return &source_position_table_builder_; |
40 } | 40 } |
41 | 41 |
42 void PRINTF_FORMAT(2, 3) Comment(const char* format, ...); | 42 void PRINTF_FORMAT(2, 3) Comment(const char* format, ...); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 // Methods for code dependencies. | 101 // Methods for code dependencies. |
102 void AddDeprecationDependency(Handle<Map> map); | 102 void AddDeprecationDependency(Handle<Map> map); |
103 void AddStabilityDependency(Handle<Map> map); | 103 void AddStabilityDependency(Handle<Map> map); |
104 }; | 104 }; |
105 | 105 |
106 | 106 |
107 } // namespace internal | 107 } // namespace internal |
108 } // namespace v8 | 108 } // namespace v8 |
109 | 109 |
110 #endif // V8_CRANKSHAFT_LITHIUM_CODEGEN_H_ | 110 #endif // V8_CRANKSHAFT_LITHIUM_CODEGEN_H_ |
OLD | NEW |