| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
| 6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
| 10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 static CompileType FromAbstractType(const AbstractType& type, | 295 static CompileType FromAbstractType(const AbstractType& type, |
| 296 bool is_nullable = kNullable); | 296 bool is_nullable = kNullable); |
| 297 | 297 |
| 298 // Create a new CompileType representing an value with the given class id. | 298 // Create a new CompileType representing an value with the given class id. |
| 299 // Resulting CompileType is nullable only if cid is kDynamicCid or kNullCid. | 299 // Resulting CompileType is nullable only if cid is kDynamicCid or kNullCid. |
| 300 static CompileType FromCid(intptr_t cid); | 300 static CompileType FromCid(intptr_t cid); |
| 301 | 301 |
| 302 // Create None CompileType. It is the bottom of the lattice and is used to | 302 // Create None CompileType. It is the bottom of the lattice and is used to |
| 303 // represent type of the phi that was not yet inferred. | 303 // represent type of the phi that was not yet inferred. |
| 304 static CompileType None() { | 304 static CompileType None() { |
| 305 return CompileType(true, kIllegalCid, NULL); | 305 return CompileType(kNullable, kIllegalCid, NULL); |
| 306 } | 306 } |
| 307 | 307 |
| 308 // Create Dynamic CompileType. It is the top of the lattice and is used to | 308 // Create Dynamic CompileType. It is the top of the lattice and is used to |
| 309 // represent unknown type. | 309 // represent unknown type. |
| 310 static CompileType Dynamic(); | 310 static CompileType Dynamic(); |
| 311 | 311 |
| 312 static CompileType Null(); | 312 static CompileType Null(); |
| 313 | 313 |
| 314 // Create non-nullable Bool type. | 314 // Create non-nullable Bool type. |
| 315 static CompileType Bool(); | 315 static CompileType Bool(); |
| (...skipping 6737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7053 ForwardInstructionIterator* current_iterator_; | 7053 ForwardInstructionIterator* current_iterator_; |
| 7054 | 7054 |
| 7055 private: | 7055 private: |
| 7056 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 7056 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 7057 }; | 7057 }; |
| 7058 | 7058 |
| 7059 | 7059 |
| 7060 } // namespace dart | 7060 } // namespace dart |
| 7061 | 7061 |
| 7062 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 7062 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |