| 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 class SsaCodeGeneratorTask extends CompilerTask { | 5 class SsaCodeGeneratorTask extends CompilerTask { |
| 6 SsaCodeGeneratorTask(Compiler compiler) : super(compiler); | 6 SsaCodeGeneratorTask(Compiler compiler) : super(compiler); |
| 7 String get name() => 'SSA code generator'; | 7 String get name() => 'SSA code generator'; |
| 8 | 8 |
| 9 | 9 |
| 10 String generateMethod(WorkItem work, HGraph graph) { | 10 String generateMethod(WorkItem work, HGraph graph) { |
| (...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1637 bailout(node, 'Not a string'); | 1637 bailout(node, 'Not a string'); |
| 1638 } else if (node.isMutableArray()) { | 1638 } else if (node.isMutableArray()) { |
| 1639 buffer.add('if ('); | 1639 buffer.add('if ('); |
| 1640 checkObject(input, '!=='); | 1640 checkObject(input, '!=='); |
| 1641 buffer.add('||'); | 1641 buffer.add('||'); |
| 1642 checkArray(input, '!=='); | 1642 checkArray(input, '!=='); |
| 1643 buffer.add('||'); | 1643 buffer.add('||'); |
| 1644 checkImmutableArray(input); | 1644 checkImmutableArray(input); |
| 1645 buffer.add(') '); | 1645 buffer.add(') '); |
| 1646 bailout(node, 'Not a mutable array'); | 1646 bailout(node, 'Not a mutable array'); |
| 1647 } else if (node.isArray()) { | 1647 } else if (node.isReadableArray()) { |
| 1648 buffer.add('if ('); | 1648 buffer.add('if ('); |
| 1649 checkObject(input, '!=='); | 1649 checkObject(input, '!=='); |
| 1650 buffer.add('||'); | 1650 buffer.add('||'); |
| 1651 checkArray(input, '!=='); | 1651 checkArray(input, '!=='); |
| 1652 buffer.add(') '); | 1652 buffer.add(') '); |
| 1653 bailout(node, 'Not an array'); | 1653 bailout(node, 'Not an array'); |
| 1654 } else if (node.isStringOrArray()) { | 1654 } else if (node.isStringOrArray()) { |
| 1655 buffer.add('if ('); | 1655 buffer.add('if ('); |
| 1656 checkString(input, '!=='); | 1656 checkString(input, '!=='); |
| 1657 buffer.add(' && ('); | 1657 buffer.add(' && ('); |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1935 startBailoutSwitch(); | 1935 startBailoutSwitch(); |
| 1936 } | 1936 } |
| 1937 } | 1937 } |
| 1938 | 1938 |
| 1939 void endElse(HIf node) { | 1939 void endElse(HIf node) { |
| 1940 if (node.elseBlock.hasGuards()) { | 1940 if (node.elseBlock.hasGuards()) { |
| 1941 endBailoutSwitch(); | 1941 endBailoutSwitch(); |
| 1942 } | 1942 } |
| 1943 } | 1943 } |
| 1944 } | 1944 } |
| OLD | NEW |