Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 library dart2js.ir_builder_task; | 5 library dart2js.ir_builder_task; |
| 6 | 6 |
| 7 import '../closure.dart' as closure; | 7 import '../closure.dart' as closure; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../common/names.dart' show | 9 import '../common/names.dart' show |
| 10 Names, | 10 Names, |
| (...skipping 2892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2903 NativeBehavior.PURE); | 2903 NativeBehavior.PURE); |
| 2904 | 2904 |
| 2905 case 'JS_SET_STATIC_STATE': | 2905 case 'JS_SET_STATIC_STATE': |
| 2906 validateArgumentCount(exactly: 1); | 2906 validateArgumentCount(exactly: 1); |
| 2907 | 2907 |
| 2908 ir.Primitive value = visit(argumentNodes.single); | 2908 ir.Primitive value = visit(argumentNodes.single); |
| 2909 String isolateName = backend.namer.staticStateHolder; | 2909 String isolateName = backend.namer.staticStateHolder; |
| 2910 return irBuilder.buildForeignCode( | 2910 return irBuilder.buildForeignCode( |
| 2911 js.js.parseForeignJS("$isolateName = #"), | 2911 js.js.parseForeignJS("$isolateName = #"), |
| 2912 <ir.Primitive>[value], | 2912 <ir.Primitive>[value], |
| 2913 NativeBehavior.PURE); | 2913 NativeBehavior.CHANGES_STATIC_PROPERTY); |
|
asgerf
2016/01/20 19:09:55
I would argue that this should use the "other" fla
| |
| 2914 | 2914 |
| 2915 case 'JS_CALL_IN_ISOLATE': | 2915 case 'JS_CALL_IN_ISOLATE': |
| 2916 validateArgumentCount(exactly: 2); | 2916 validateArgumentCount(exactly: 2); |
| 2917 | 2917 |
| 2918 if (!compiler.hasIsolateSupport) { | 2918 if (!compiler.hasIsolateSupport) { |
| 2919 ir.Primitive closure = visit(argumentNodes.tail.head); | 2919 ir.Primitive closure = visit(argumentNodes.tail.head); |
| 2920 return irBuilder.buildCallInvocation(closure, CallStructure.NO_ARGS, | 2920 return irBuilder.buildCallInvocation(closure, CallStructure.NO_ARGS, |
| 2921 const <ir.Primitive>[]); | 2921 const <ir.Primitive>[]); |
| 2922 } | 2922 } |
| 2923 return buildIsolateHelperInvocation(helpers.callInIsolate, | 2923 return buildIsolateHelperInvocation(helpers.callInIsolate, |
| (...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3553 } | 3553 } |
| 3554 | 3554 |
| 3555 Element get closureConverter { | 3555 Element get closureConverter { |
| 3556 return _backend.helpers.closureConverter; | 3556 return _backend.helpers.closureConverter; |
| 3557 } | 3557 } |
| 3558 | 3558 |
| 3559 void addNativeMethod(FunctionElement function) { | 3559 void addNativeMethod(FunctionElement function) { |
| 3560 _backend.emitter.nativeEmitter.nativeMethods.add(function); | 3560 _backend.emitter.nativeEmitter.nativeMethods.add(function); |
| 3561 } | 3561 } |
| 3562 } | 3562 } |
| OLD | NEW |