| 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 3863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3874 void set_overflow(bool overflow) { | 3874 void set_overflow(bool overflow) { |
| 3875 overflow_ = overflow; | 3875 overflow_ = overflow; |
| 3876 } | 3876 } |
| 3877 | 3877 |
| 3878 void PrintTo(BufferFormatter* f) const; | 3878 void PrintTo(BufferFormatter* f) const; |
| 3879 | 3879 |
| 3880 virtual void InferRange(); | 3880 virtual void InferRange(); |
| 3881 | 3881 |
| 3882 virtual Definition* Canonicalize(FlowGraphOptimizer* optimizer); | 3882 virtual Definition* Canonicalize(FlowGraphOptimizer* optimizer); |
| 3883 | 3883 |
| 3884 // Returns true if right is a Smi constant which absolute value is |
| 3885 // a power of two. |
| 3886 bool RightIsPowerOfTwoConstant() const; |
| 3887 |
| 3884 private: | 3888 private: |
| 3885 const Token::Kind op_kind_; | 3889 const Token::Kind op_kind_; |
| 3886 InstanceCallInstr* instance_call_; | 3890 InstanceCallInstr* instance_call_; |
| 3887 bool overflow_; | 3891 bool overflow_; |
| 3888 | 3892 |
| 3889 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr); | 3893 DISALLOW_COPY_AND_ASSIGN(BinarySmiOpInstr); |
| 3890 }; | 3894 }; |
| 3891 | 3895 |
| 3892 | 3896 |
| 3893 // Handles both Smi operations: BIT_OR and NEGATE. | 3897 // Handles both Smi operations: BIT_OR and NEGATE. |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4476 ForwardInstructionIterator* current_iterator_; | 4480 ForwardInstructionIterator* current_iterator_; |
| 4477 | 4481 |
| 4478 private: | 4482 private: |
| 4479 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 4483 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
| 4480 }; | 4484 }; |
| 4481 | 4485 |
| 4482 | 4486 |
| 4483 } // namespace dart | 4487 } // namespace dart |
| 4484 | 4488 |
| 4485 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 4489 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
| OLD | NEW |