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 part of ssa; | |
6 | |
7 /** | 5 /** |
8 * A [Value] represents both symbolic values like the value of a | 6 * A [Value] represents both symbolic values like the value of a |
9 * parameter, or the length of an array, and concrete values, like | 7 * parameter, or the length of an array, and concrete values, like |
10 * constants. | 8 * constants. |
11 */ | 9 */ |
12 abstract class Value { | 10 abstract class Value { |
13 const Value(); | 11 const Value(); |
14 | 12 |
15 Value operator +(Value other); | 13 Value operator +(Value other); |
16 Value operator -(Value other); | 14 Value operator -(Value other); |
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
939 if (instruction is HPhi && !instruction.block.isLoopHeader()) { | 937 if (instruction is HPhi && !instruction.block.isLoopHeader()) { |
940 HInstruction result = unwrap(instruction.inputs[0]); | 938 HInstruction result = unwrap(instruction.inputs[0]); |
941 for (int i = 1; i < instruction.inputs.length; i++) { | 939 for (int i = 1; i < instruction.inputs.length; i++) { |
942 if (result != unwrap(instruction.inputs[i])) return instruction; | 940 if (result != unwrap(instruction.inputs[i])) return instruction; |
943 } | 941 } |
944 return result; | 942 return result; |
945 } | 943 } |
946 return instruction; | 944 return instruction; |
947 } | 945 } |
948 } | 946 } |
OLD | NEW |