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

Unified Diff: sdk/lib/_internal/compiler/implementation/tracer.dart

Issue 694353007: Move dart2js from sdk/lib/_internal/compiler to pkg/compiler (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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: sdk/lib/_internal/compiler/implementation/tracer.dart
diff --git a/sdk/lib/_internal/compiler/implementation/tracer.dart b/sdk/lib/_internal/compiler/implementation/tracer.dart
deleted file mode 100644
index cbdbf60555a01a62a9b4b4fb44f08fb1cb7888ce..0000000000000000000000000000000000000000
--- a/sdk/lib/_internal/compiler/implementation/tracer.dart
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library tracer;
-
-import '../compiler.dart' as api;
-import 'dart:async' show EventSink;
-import 'ssa/ssa.dart' as ssa;
-import 'ssa/ssa_tracer.dart' show HTracer;
-import 'cps_ir/cps_ir_nodes.dart' as cps_ir;
-import 'cps_ir/cps_ir_tracer.dart' show IRTracer;
-import 'dart_backend/tree_ir_nodes.dart' as tree_ir;
-import 'dart_backend/tree_ir_tracer.dart' show TreeTracer;
-import 'util/util.dart' show Indentation;
-import 'dart2jslib.dart';
-
-/**
- * If non-null, we only trace methods whose name match the regexp defined by the
- * given pattern.
- */
-const String TRACE_FILTER_PATTERN = const String.fromEnvironment("DUMP_IR");
-
-final RegExp TRACE_FILTER =
- TRACE_FILTER_PATTERN == null ? null : new RegExp(TRACE_FILTER_PATTERN);
-
-/**
- * Dumps the intermediate representation after each phase in a format
- * readable by IR Hydra.
- */
-class Tracer extends TracerUtil {
- final Compiler compiler;
- ItemCompilationContext context;
- bool traceActive = false;
- final EventSink<String> output;
- final bool isEnabled = TRACE_FILTER != null;
-
- Tracer(Compiler compiler, api.CompilerOutputProvider outputProvider)
- : this.compiler = compiler,
- output = TRACE_FILTER != null ? outputProvider('dart', 'cfg') : null;
-
- void traceCompilation(String methodName,
- ItemCompilationContext compilationContext) {
- if (!isEnabled) return;
- traceActive = TRACE_FILTER.hasMatch(methodName);
- if (!traceActive) return;
- this.context = compilationContext;
- tag("compilation", () {
- printProperty("name", methodName);
- printProperty("method", methodName);
- printProperty("date", new DateTime.now().millisecondsSinceEpoch);
- });
- }
-
- void traceGraph(String name, var irObject) {
- if (!traceActive) return;
- if (irObject is ssa.HGraph) {
- new HTracer(output, compiler, context).traceGraph(name, irObject);
- }
- else if (irObject is cps_ir.FunctionDefinition) {
- new IRTracer(output).traceGraph(name, irObject);
- }
- else if (irObject is tree_ir.FunctionDefinition) {
- new TreeTracer(output).traceGraph(name, irObject);
- }
- }
-
- void close() {
- if (output != null) {
- output.close();
- }
- }
-}
-
-
-abstract class TracerUtil {
- EventSink<String> get output;
- final Indentation _ind = new Indentation();
-
- void tag(String tagName, Function f) {
- println("begin_$tagName");
- _ind.indentBlock(f);
- println("end_$tagName");
- }
-
- void println(String string) {
- addIndent();
- add(string);
- add("\n");
- }
-
- void printEmptyProperty(String propertyName) {
- println(propertyName);
- }
-
- String formatPrty(x) {
- if (x is num) {
- return '${x}';
- } else if (x is String) {
- return '"${x}"';
- } else if (x is Iterable) {
- return x.map((s) => formatPrty(s)).join(' ');
- } else {
- throw "invalid property type: ${x}";
- }
- }
-
- void printProperty(String propertyName, value) {
- println("$propertyName ${formatPrty(value)}");
- }
-
- void add(String string) {
- output.add(string);
- }
-
- void addIndent() {
- add(_ind.indentation);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698