| 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 2521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2532 } | 2532 } |
| 2533 | 2533 |
| 2534 static RangeBoundary ConstantMax(const Range* range) { | 2534 static RangeBoundary ConstantMax(const Range* range) { |
| 2535 if (range == NULL) return RangeBoundary::MaxSmi(); | 2535 if (range == NULL) return RangeBoundary::MaxSmi(); |
| 2536 return range->max().UpperBound().Clamp(); | 2536 return range->max().UpperBound().Clamp(); |
| 2537 } | 2537 } |
| 2538 | 2538 |
| 2539 // Inclusive. | 2539 // Inclusive. |
| 2540 bool IsWithin(intptr_t min_int, intptr_t max_int) const; | 2540 bool IsWithin(intptr_t min_int, intptr_t max_int) const; |
| 2541 | 2541 |
| 2542 // Inclusive. |
| 2543 bool Overlaps(intptr_t min_int, intptr_t max_int) const; |
| 2544 |
| 2542 bool IsUnsatisfiable() const; | 2545 bool IsUnsatisfiable() const; |
| 2543 | 2546 |
| 2544 private: | 2547 private: |
| 2545 RangeBoundary min_; | 2548 RangeBoundary min_; |
| 2546 RangeBoundary max_; | 2549 RangeBoundary max_; |
| 2547 }; | 2550 }; |
| 2548 | 2551 |
| 2549 | 2552 |
| 2550 class ConstraintInstr : public TemplateDefinition<2> { | 2553 class ConstraintInstr : public TemplateDefinition<2> { |
| 2551 public: | 2554 public: |
| (...skipping 4528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7080 ForwardInstructionIterator* current_iterator_; | 7083 ForwardInstructionIterator* current_iterator_; |
| 7081 | 7084 |
| 7082 private: | 7085 private: |
| 7083 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 7086 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 7084 }; | 7087 }; |
| 7085 | 7088 |
| 7086 | 7089 |
| 7087 } // namespace dart | 7090 } // namespace dart |
| 7088 | 7091 |
| 7089 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 7092 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |