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); | |
195 | 194 |
196 bool Is64() const; | 195 bool Is64() const; |
197 bool IsFloat64RoundUpSupported() const; | 196 bool IsFloat64RoundUpSupported() const; |
198 bool IsFloat64RoundDownSupported() const; | 197 bool IsFloat64RoundDownSupported() const; |
199 bool IsFloat64RoundTiesEvenSupported() const; | 198 bool IsFloat64RoundTiesEvenSupported() const; |
200 bool IsFloat64RoundTruncateSupported() const; | 199 bool IsFloat64RoundTruncateSupported() const; |
201 | 200 |
202 // Shortened aliases for use in CodeAssembler subclasses. | 201 // Shortened aliases for use in CodeAssembler subclasses. |
203 typedef CodeAssemblerLabel Label; | 202 typedef CodeAssemblerLabel Label; |
204 typedef CodeAssemblerVariable Variable; | 203 typedef CodeAssemblerVariable Variable; |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 ZoneSet<CodeAssemblerVariable::Impl*> variables_; | 561 ZoneSet<CodeAssemblerVariable::Impl*> variables_; |
563 | 562 |
564 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); | 563 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); |
565 }; | 564 }; |
566 | 565 |
567 } // namespace compiler | 566 } // namespace compiler |
568 } // namespace internal | 567 } // namespace internal |
569 } // namespace v8 | 568 } // namespace v8 |
570 | 569 |
571 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ | 570 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ |
OLD | NEW |