| 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 Interceptors { | 5 class Interceptors { |
| 6 Compiler compiler; | 6 Compiler compiler; |
| 7 Interceptors(Compiler this.compiler); | 7 Interceptors(Compiler this.compiler); |
| 8 | 8 |
| 9 SourceString mapOperatorToMethodName(Operator op) { | 9 SourceString mapOperatorToMethodName(Operator op) { |
| 10 String name = op.source.stringValue; | 10 String name = op.source.stringValue; |
| (...skipping 2713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2724 push(new HInvokeSuper(inputs)); | 2724 push(new HInvokeSuper(inputs)); |
| 2725 } else if (element.isFunction() || element.isGenerativeConstructor()) { | 2725 } else if (element.isFunction() || element.isGenerativeConstructor()) { |
| 2726 // TODO(5347): Try to avoid the need for calling [implementation] before | 2726 // TODO(5347): Try to avoid the need for calling [implementation] before |
| 2727 // calling [addStaticSendArgumentsToList]. | 2727 // calling [addStaticSendArgumentsToList]. |
| 2728 bool succeeded = addStaticSendArgumentsToList(selector, node.arguments, | 2728 bool succeeded = addStaticSendArgumentsToList(selector, node.arguments, |
| 2729 element.implementation, | 2729 element.implementation, |
| 2730 inputs); | 2730 inputs); |
| 2731 if (!succeeded) { | 2731 if (!succeeded) { |
| 2732 // TODO(ngeoffray): Match the VM behavior and throw an | 2732 // TODO(ngeoffray): Match the VM behavior and throw an |
| 2733 // exception at runtime. | 2733 // exception at runtime. |
| 2734 compiler.cancel('Unimplemented non-matching static call', node); | 2734 compiler.cancel('Unimplemented non-matching static call', node: node); |
| 2735 } | 2735 } |
| 2736 push(new HInvokeSuper(inputs)); | 2736 push(new HInvokeSuper(inputs)); |
| 2737 } else { | 2737 } else { |
| 2738 target = new HInvokeSuper(inputs); | 2738 target = new HInvokeSuper(inputs); |
| 2739 add(target); | 2739 add(target); |
| 2740 inputs = <HInstruction>[target]; | 2740 inputs = <HInstruction>[target]; |
| 2741 addDynamicSendArgumentsToList(node, inputs); | 2741 addDynamicSendArgumentsToList(node, inputs); |
| 2742 push(new HInvokeClosure(selector, inputs)); | 2742 push(new HInvokeClosure(selector, inputs)); |
| 2743 } | 2743 } |
| 2744 } | 2744 } |
| (...skipping 1737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4482 new HSubGraphBlockInformation(elseBranch.graph)); | 4482 new HSubGraphBlockInformation(elseBranch.graph)); |
| 4483 | 4483 |
| 4484 HBasicBlock conditionStartBlock = conditionBranch.block; | 4484 HBasicBlock conditionStartBlock = conditionBranch.block; |
| 4485 conditionStartBlock.setBlockFlow(info, joinBlock); | 4485 conditionStartBlock.setBlockFlow(info, joinBlock); |
| 4486 SubGraph conditionGraph = conditionBranch.graph; | 4486 SubGraph conditionGraph = conditionBranch.graph; |
| 4487 HIf branch = conditionGraph.end.last; | 4487 HIf branch = conditionGraph.end.last; |
| 4488 assert(branch is HIf); | 4488 assert(branch is HIf); |
| 4489 branch.blockInformation = conditionStartBlock.blockFlow; | 4489 branch.blockInformation = conditionStartBlock.blockFlow; |
| 4490 } | 4490 } |
| 4491 } | 4491 } |
| OLD | NEW |