OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_CODE_ASSEMBLER_H_ |
6 #define V8_COMPILER_CODE_ASSEMBLER_H_ | 6 #define V8_COMPILER_CODE_ASSEMBLER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 // | 183 // |
184 // The CodeAssembler itself is stateless (and instances are expected to be | 184 // The CodeAssembler itself is stateless (and instances are expected to be |
185 // temporary-scoped and short-lived); all its state is encapsulated into | 185 // temporary-scoped and short-lived); all its state is encapsulated into |
186 // a CodeAssemblerState instance. | 186 // a CodeAssemblerState instance. |
187 class V8_EXPORT_PRIVATE CodeAssembler { | 187 class V8_EXPORT_PRIVATE CodeAssembler { |
188 public: | 188 public: |
189 explicit CodeAssembler(CodeAssemblerState* state) : state_(state) {} | 189 explicit CodeAssembler(CodeAssemblerState* state) : state_(state) {} |
190 | 190 |
191 virtual ~CodeAssembler(); | 191 virtual ~CodeAssembler(); |
192 | 192 |
193 static Handle<Code> GenerateCode(CodeAssemblerState* state); | 193 static Handle<Code> GenerateCode(CodeAssemblerState* state, |
| 194 bool verify_graph = false); |
194 | 195 |
195 bool Is64() const; | 196 bool Is64() const; |
196 bool IsFloat64RoundUpSupported() const; | 197 bool IsFloat64RoundUpSupported() const; |
197 bool IsFloat64RoundDownSupported() const; | 198 bool IsFloat64RoundDownSupported() const; |
198 bool IsFloat64RoundTiesEvenSupported() const; | 199 bool IsFloat64RoundTiesEvenSupported() const; |
199 bool IsFloat64RoundTruncateSupported() const; | 200 bool IsFloat64RoundTruncateSupported() const; |
200 | 201 |
201 // Shortened aliases for use in CodeAssembler subclasses. | 202 // Shortened aliases for use in CodeAssembler subclasses. |
202 typedef CodeAssemblerLabel Label; | 203 typedef CodeAssemblerLabel Label; |
203 typedef CodeAssemblerVariable Variable; | 204 typedef CodeAssemblerVariable Variable; |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 ZoneSet<CodeAssemblerVariable::Impl*> variables_; | 562 ZoneSet<CodeAssemblerVariable::Impl*> variables_; |
562 | 563 |
563 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); | 564 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); |
564 }; | 565 }; |
565 | 566 |
566 } // namespace compiler | 567 } // namespace compiler |
567 } // namespace internal | 568 } // namespace internal |
568 } // namespace v8 | 569 } // namespace v8 |
569 | 570 |
570 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ | 571 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ |
OLD | NEW |