OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 | 329 |
330 DISALLOW_COPY_AND_ASSIGN(UseVal); | 330 DISALLOW_COPY_AND_ASSIGN(UseVal); |
331 }; | 331 }; |
332 | 332 |
333 | 333 |
334 class ConstantVal: public Value { | 334 class ConstantVal: public Value { |
335 public: | 335 public: |
336 explicit ConstantVal(const Object& value) | 336 explicit ConstantVal(const Object& value) |
337 : value_(value) { | 337 : value_(value) { |
338 ASSERT(value.IsZoneHandle()); | 338 ASSERT(value.IsZoneHandle()); |
| 339 ASSERT(value.IsSmi() || value.IsOld()); |
339 } | 340 } |
340 | 341 |
341 DECLARE_VALUE(Constant) | 342 DECLARE_VALUE(Constant) |
342 | 343 |
343 const Object& value() const { return value_; } | 344 const Object& value() const { return value_; } |
344 | 345 |
345 private: | 346 private: |
346 const Object& value_; | 347 const Object& value_; |
347 | 348 |
348 DISALLOW_COPY_AND_ASSIGN(ConstantVal); | 349 DISALLOW_COPY_AND_ASSIGN(ConstantVal); |
(...skipping 2140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2489 const GrowableArray<BlockEntryInstr*>& block_order_; | 2490 const GrowableArray<BlockEntryInstr*>& block_order_; |
2490 | 2491 |
2491 private: | 2492 private: |
2492 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 2493 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
2493 }; | 2494 }; |
2494 | 2495 |
2495 | 2496 |
2496 } // namespace dart | 2497 } // namespace dart |
2497 | 2498 |
2498 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 2499 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |