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

Unified Diff: pkg/compiler/lib/src/js_backend/codegen/codegen.dart

Issue 1571433002: dart2js cps: Compute intercepted classes in optimize_interceptors. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: JSArray and JSInt are special Created 4 years, 11 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
Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
index 8f3819f465407ec06aa6dc9a2cfcb502cb0dbc70..efcd8bab332780da43c25661d66e50e215f73ab1 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
@@ -863,8 +863,12 @@ class CodeGenerator extends tree_ir.StatementVisitor
@override
js.Expression visitInterceptor(tree_ir.Interceptor node) {
registry.registerUseInterceptor();
- registry.registerSpecializedGetInterceptor(node.interceptedClasses);
- js.Name helperName = glue.getInterceptorName(node.interceptedClasses);
+ // Default to all intercepted classes if they have not been computed.
sra1 2016/01/08 03:24:04 Does the lack of a recomputed result is mean somet
asgerf 2016/01/08 17:17:48 Just to decouple passes. Added comment.
+ Set<ClassElement> interceptedClasses = node.interceptedClasses.isEmpty
+ ? glue.interceptedClasses
+ : node.interceptedClasses;
+ registry.registerSpecializedGetInterceptor(interceptedClasses);
+ js.Name helperName = glue.getInterceptorName(interceptedClasses);
js.Expression globalHolder = glue.getInterceptorLibrary();
return js.js('#.#(#)',
[globalHolder, helperName, visitExpression(node.input)])

Powered by Google App Engine
This is Rietveld 408576698