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_LITHIUM_CODEGEN_H_ | 5 #ifndef V8_LITHIUM_CODEGEN_H_ |
6 #define V8_LITHIUM_CODEGEN_H_ | 6 #define V8_LITHIUM_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 CompilationInfo* info() const { return info_; } | 29 CompilationInfo* info() const { return info_; } |
30 Isolate* isolate() const { return info_->isolate(); } | 30 Isolate* isolate() const { return info_->isolate(); } |
31 Factory* factory() const { return isolate()->factory(); } | 31 Factory* factory() const { return isolate()->factory(); } |
32 Heap* heap() const { return isolate()->heap(); } | 32 Heap* heap() const { return isolate()->heap(); } |
33 Zone* zone() const { return zone_; } | 33 Zone* zone() const { return zone_; } |
34 LPlatformChunk* chunk() const { return chunk_; } | 34 LPlatformChunk* chunk() const { return chunk_; } |
35 HGraph* graph() const; | 35 HGraph* graph() const; |
36 | 36 |
37 void FPRINTF_CHECKING Comment(const char* format, ...); | 37 void FPRINTF_CHECKING Comment(const char* format, ...); |
38 void DeoptComment(const Deoptimizer::DeoptInfo& deopt_info); | 38 void DeoptComment(const Deoptimizer::DeoptInfo& deopt_info); |
| 39 static Deoptimizer::DeoptInfo MakeDeoptInfo( |
| 40 LInstruction* instr, Deoptimizer::DeoptReason deopt_reason); |
39 | 41 |
40 bool GenerateBody(); | 42 bool GenerateBody(); |
41 virtual void GenerateBodyInstructionPre(LInstruction* instr) {} | 43 virtual void GenerateBodyInstructionPre(LInstruction* instr) {} |
42 virtual void GenerateBodyInstructionPost(LInstruction* instr) {} | 44 virtual void GenerateBodyInstructionPost(LInstruction* instr) {} |
43 | 45 |
44 virtual void EnsureSpaceForLazyDeopt(int space_needed) = 0; | 46 virtual void EnsureSpaceForLazyDeopt(int space_needed) = 0; |
45 virtual void RecordAndWritePosition(int position) = 0; | 47 virtual void RecordAndWritePosition(int position) = 0; |
46 | 48 |
47 int GetNextEmittedBlock() const; | 49 int GetNextEmittedBlock() const; |
48 | 50 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 | 83 |
82 // Methods for code dependencies. | 84 // Methods for code dependencies. |
83 void AddDeprecationDependency(Handle<Map> map); | 85 void AddDeprecationDependency(Handle<Map> map); |
84 void AddStabilityDependency(Handle<Map> map); | 86 void AddStabilityDependency(Handle<Map> map); |
85 }; | 87 }; |
86 | 88 |
87 | 89 |
88 } } // namespace v8::internal | 90 } } // namespace v8::internal |
89 | 91 |
90 #endif // V8_LITHIUM_CODEGEN_H_ | 92 #endif // V8_LITHIUM_CODEGEN_H_ |
OLD | NEW |