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 import '../common.dart'; | 5 import '../common.dart'; |
6 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; | 6 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; |
7 import '../common/tasks.dart' show CompilerTask; | 7 import '../common/tasks.dart' show CompilerTask; |
8 import '../compiler.dart' show Compiler; | 8 import '../compiler.dart' show Compiler; |
9 import '../constants/constant_system.dart'; | 9 import '../constants/constant_system.dart'; |
10 import '../constants/values.dart'; | 10 import '../constants/values.dart'; |
(...skipping 1915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1926 | 1926 |
1927 visitLocalSet(HLocalSet node) { | 1927 visitLocalSet(HLocalSet node) { |
1928 use(node.value); | 1928 use(node.value); |
1929 assignVariable( | 1929 assignVariable( |
1930 variableNames.getName(node.receiver), pop(), node.sourceInformation); | 1930 variableNames.getName(node.receiver), pop(), node.sourceInformation); |
1931 } | 1931 } |
1932 | 1932 |
1933 void registerForeignTypes(HForeign node) { | 1933 void registerForeignTypes(HForeign node) { |
1934 native.NativeBehavior nativeBehavior = node.nativeBehavior; | 1934 native.NativeBehavior nativeBehavior = node.nativeBehavior; |
1935 if (nativeBehavior == null) return; | 1935 if (nativeBehavior == null) return; |
1936 nativeEnqueuer.registerNativeBehavior(nativeBehavior, node); | 1936 nativeEnqueuer.registerNativeBehavior( |
| 1937 registry.worldImpact, nativeBehavior, node); |
1937 } | 1938 } |
1938 | 1939 |
1939 visitForeignCode(HForeignCode node) { | 1940 visitForeignCode(HForeignCode node) { |
1940 List<HInstruction> inputs = node.inputs; | 1941 List<HInstruction> inputs = node.inputs; |
1941 if (node.isJsStatement()) { | 1942 if (node.isJsStatement()) { |
1942 List<js.Expression> interpolatedExpressions = <js.Expression>[]; | 1943 List<js.Expression> interpolatedExpressions = <js.Expression>[]; |
1943 for (int i = 0; i < inputs.length; i++) { | 1944 for (int i = 0; i < inputs.length; i++) { |
1944 use(inputs[i]); | 1945 use(inputs[i]); |
1945 interpolatedExpressions.add(pop()); | 1946 interpolatedExpressions.add(pop()); |
1946 } | 1947 } |
(...skipping 1082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3029 registry.registerStaticUse(new StaticUse.staticInvoke( | 3030 registry.registerStaticUse(new StaticUse.staticInvoke( |
3030 helper, new CallStructure.unnamed(argumentCount))); | 3031 helper, new CallStructure.unnamed(argumentCount))); |
3031 return backend.emitter.staticFunctionAccess(helper); | 3032 return backend.emitter.staticFunctionAccess(helper); |
3032 } | 3033 } |
3033 | 3034 |
3034 @override | 3035 @override |
3035 void visitRef(HRef node) { | 3036 void visitRef(HRef node) { |
3036 visit(node.value); | 3037 visit(node.value); |
3037 } | 3038 } |
3038 } | 3039 } |
OLD | NEW |