Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart

Issue 1237573002: Remove functions white-listed for use of try-finally and switch, add JS_SET_CURRENT_ISOLATE. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Change CURRENT_ISOLATE to STATIC_STATE. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/codegen/task.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
index 2c4fa8edf7c115c5065b881114174ca169c2e5d5..3ecb2745ff0ca6199dc76d99e6324a4351623e6e 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
@@ -3207,7 +3207,7 @@ class JsIrBuilderVisitor extends IrBuilderVisitor {
}
return irBuilder.buildForeignCode(
js.js.expressionTemplateYielding(
- backend.emitter.staticFunctionAccess(function)),
+ backend.emitter.staticFunctionAccess(closure)),
<ir.Primitive>[],
NativeBehavior.PURE,
dependency: closure);
@@ -3309,6 +3309,16 @@ class JsIrBuilderVisitor extends IrBuilderVisitor {
const <ir.Primitive>[],
NativeBehavior.PURE);
+ case 'JS_SET_STATIC_STATE':
+ validateArgumentCount(exactly: 1);
+
+ ir.Primitive value = visit(argumentNodes.single);
+ String isolateName = backend.namer.staticStateHolder;
+ return irBuilder.buildForeignCode(
+ js.js.parseForeignJS("$isolateName = #"),
+ <ir.Primitive>[value],
+ NativeBehavior.PURE);
+
case 'JS_CALL_IN_ISOLATE':
validateArgumentCount(exactly: 2);
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/codegen/task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698