| 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; | 5 part of ssa; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * A special element for the extra parameter taken by intercepted | 8 * A special element for the extra parameter taken by intercepted |
| 9 * methods. We need to override [Element.computeType] because our | 9 * methods. We need to override [Element.computeType] because our |
| 10 * optimizers may look at its declared type. | 10 * optimizers may look at its declared type. |
| (...skipping 2979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2990 } else if (name == const SourceString('JS_CALL_IN_ISOLATE')) { | 2990 } else if (name == const SourceString('JS_CALL_IN_ISOLATE')) { |
| 2991 handleForeignJsCallInIsolate(node); | 2991 handleForeignJsCallInIsolate(node); |
| 2992 } else if (name == const SourceString('DART_CLOSURE_TO_JS')) { | 2992 } else if (name == const SourceString('DART_CLOSURE_TO_JS')) { |
| 2993 handleForeignDartClosureToJs(node, 'DART_CLOSURE_TO_JS'); | 2993 handleForeignDartClosureToJs(node, 'DART_CLOSURE_TO_JS'); |
| 2994 } else if (name == const SourceString('RAW_DART_FUNCTION_REF')) { | 2994 } else if (name == const SourceString('RAW_DART_FUNCTION_REF')) { |
| 2995 handleForeignRawFunctionRef(node, 'RAW_DART_FUNCTION_REF'); | 2995 handleForeignRawFunctionRef(node, 'RAW_DART_FUNCTION_REF'); |
| 2996 } else if (name == const SourceString('JS_SET_CURRENT_ISOLATE')) { | 2996 } else if (name == const SourceString('JS_SET_CURRENT_ISOLATE')) { |
| 2997 handleForeignSetCurrentIsolate(node); | 2997 handleForeignSetCurrentIsolate(node); |
| 2998 } else if (name == const SourceString('JS_CREATE_ISOLATE')) { | 2998 } else if (name == const SourceString('JS_CREATE_ISOLATE')) { |
| 2999 handleForeignCreateIsolate(node); | 2999 handleForeignCreateIsolate(node); |
| 3000 } else if (name == const SourceString('JS_OPERATOR_IS_PREFIX')) { |
| 3001 stack.add(addConstantString(node, backend.namer.operatorIsPrefix())); |
| 3000 } else { | 3002 } else { |
| 3001 throw "Unknown foreign: ${selector}"; | 3003 throw "Unknown foreign: ${selector}"; |
| 3002 } | 3004 } |
| 3003 } | 3005 } |
| 3004 | 3006 |
| 3005 generateSuperNoSuchMethodSend(Send node) { | 3007 generateSuperNoSuchMethodSend(Send node) { |
| 3006 Selector selector = elements.getSelector(node); | 3008 Selector selector = elements.getSelector(node); |
| 3007 SourceString name = selector.name; | 3009 SourceString name = selector.name; |
| 3008 | 3010 |
| 3009 ClassElement cls = work.element.getEnclosingClass(); | 3011 ClassElement cls = work.element.getEnclosingClass(); |
| (...skipping 1933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4943 new HSubGraphBlockInformation(elseBranch.graph)); | 4945 new HSubGraphBlockInformation(elseBranch.graph)); |
| 4944 | 4946 |
| 4945 HBasicBlock conditionStartBlock = conditionBranch.block; | 4947 HBasicBlock conditionStartBlock = conditionBranch.block; |
| 4946 conditionStartBlock.setBlockFlow(info, joinBlock); | 4948 conditionStartBlock.setBlockFlow(info, joinBlock); |
| 4947 SubGraph conditionGraph = conditionBranch.graph; | 4949 SubGraph conditionGraph = conditionBranch.graph; |
| 4948 HIf branch = conditionGraph.end.last; | 4950 HIf branch = conditionGraph.end.last; |
| 4949 assert(branch is HIf); | 4951 assert(branch is HIf); |
| 4950 branch.blockInformation = conditionStartBlock.blockFlow; | 4952 branch.blockInformation = conditionStartBlock.blockFlow; |
| 4951 } | 4953 } |
| 4952 } | 4954 } |
| OLD | NEW |