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

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

Issue 808553004: Revert "cps-ir: Add support for intercepted calls." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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/unsugar.dart
diff --git a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
index d9ef3622df8f4868ecdfd0a563c6f708c4142237..1dc36271993f9d524509042924fcb36f4bda2a09 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
@@ -6,8 +6,6 @@ import '../../cps_ir/cps_ir_nodes.dart';
import '../../cps_ir/optimizers.dart';
import '../../constants/expressions.dart';
import '../../constants/values.dart';
-import '../../elements/elements.dart' show ClassElement;
-import '../../js_backend/codegen/glue.dart';
/// Rewrites the initial CPS IR to make Dart semantics explicit and inserts
/// special nodes that respect JavaScript behavior.
@@ -15,9 +13,7 @@ import '../../js_backend/codegen/glue.dart';
/// Performs the following rewrites:
/// - rewrite [IsTrue] in a [Branch] to do boolean conversion.
class UnsugarVisitor extends RecursiveVisitor {
- Glue _glue;
-
- UnsugarVisitor(this._glue);
+ const UnsugarVisitor();
void rewrite(FunctionDefinition function) {
// Set all parent pointers.
@@ -37,30 +33,6 @@ class UnsugarVisitor extends RecursiveVisitor {
new TrueConstantValue()));
}
- processInvokeMethod(InvokeMethod node) {
- if (!_glue.isInterceptedSelector(node.selector)) return;
- Set<ClassElement> interceptedClasses =
- _glue.getInterceptedClassesOn(node.selector);
- _glue.registerSpecializedGetInterceptor(interceptedClasses);
- InteriorNode parent = node.parent;
- Primitive receiver = node.receiver.definition;
- Primitive intercepted = new Interceptor(receiver, interceptedClasses);
- List<Reference<Primitive>> arguments =
- new List<Reference<Primitive>>.generate(node.arguments.length + 1,
- (int index) {
- return index == 0 ? new Reference<Primitive>(receiver)
- : node.arguments[index - 1];
- });
- LetPrim newNode = new LetPrim(intercepted,
- new InvokeMethod.internal(new Reference<Primitive>(intercepted),
- node.selector,
- new Reference<Continuation>(node.continuation.definition),
- arguments));
- node.continuation.unlink();
- node.receiver.unlink();
- parent.body = newNode;
- }
-
processBranch(Branch node) {
// TODO(karlklose): implement the checked mode part of boolean conversion.
InteriorNode parent = node.parent;
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/task.dart ('k') | pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698