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

Side by Side Diff: pkg/compiler/lib/src/dump_info.dart

Issue 2893293002: Share more logic between the Ssa(Ast)Builder and SsaKernelBuilder (Closed)
Patch Set: Rebased Created 3 years, 7 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 unified diff | Download patch
OLDNEW
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 dump_info; 5 library dump_info;
6 6
7 import 'dart:convert' 7 import 'dart:convert'
8 show ChunkedConversionSink, JsonEncoder, StringConversionSink; 8 show ChunkedConversionSink, JsonEncoder, StringConversionSink;
9 9
10 import 'package:dart2js_info/info.dart'; 10 import 'package:dart2js_info/info.dart';
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 <ConstantValue, jsAst.Node>{}; 408 <ConstantValue, jsAst.Node>{};
409 // A mapping from Javascript AST Nodes to the size of their 409 // A mapping from Javascript AST Nodes to the size of their
410 // pretty-printed contents. 410 // pretty-printed contents.
411 final Map<jsAst.Node, int> _nodeToSize = <jsAst.Node, int>{}; 411 final Map<jsAst.Node, int> _nodeToSize = <jsAst.Node, int>{};
412 412
413 final Map<Element, int> inlineCount = <Element, int>{}; 413 final Map<Element, int> inlineCount = <Element, int>{};
414 // A mapping from an element to a list of elements that are 414 // A mapping from an element to a list of elements that are
415 // inlined inside of it. 415 // inlined inside of it.
416 final Map<Element, List<Element>> inlineMap = <Element, List<Element>>{}; 416 final Map<Element, List<Element>> inlineMap = <Element, List<Element>>{};
417 417
418 final Map<Element, WorldImpact> impacts = <Element, WorldImpact>{}; 418 final Map<MemberEntity, WorldImpact> impacts = <MemberEntity, WorldImpact>{};
419 419
420 /// Register the size of the generated output. 420 /// Register the size of the generated output.
421 void reportSize(int programSize) { 421 void reportSize(int programSize) {
422 _programSize = programSize; 422 _programSize = programSize;
423 } 423 }
424 424
425 void reportInlined(Element element, Element inlinedFrom) { 425 void reportInlined(Element element, Element inlinedFrom) {
426 element = element.declaration; 426 element = element.declaration;
427 inlinedFrom = inlinedFrom.declaration; 427 inlinedFrom = inlinedFrom.declaration;
428 428
429 inlineCount.putIfAbsent(element, () => 0); 429 inlineCount.putIfAbsent(element, () => 0);
430 inlineCount[element] += 1; 430 inlineCount[element] += 1;
431 inlineMap.putIfAbsent(inlinedFrom, () => new List<Element>()); 431 inlineMap.putIfAbsent(inlinedFrom, () => new List<Element>());
432 inlineMap[inlinedFrom].add(element); 432 inlineMap[inlinedFrom].add(element);
433 } 433 }
434 434
435 void registerImpact(Element element, WorldImpact impact) { 435 void registerImpact(MemberEntity element, WorldImpact impact) {
436 if (compiler.options.dumpInfo) { 436 if (compiler.options.dumpInfo) {
437 impacts[element] = impact; 437 impacts[element] = impact;
438 } 438 }
439 } 439 }
440 440
441 void unregisterImpact(var impactSource) { 441 void unregisterImpact(var impactSource) {
442 impacts.remove(impactSource); 442 impacts.remove(impactSource);
443 } 443 }
444 444
445 /** 445 /**
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 612
613 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion( 613 ChunkedConversionSink<Object> sink = encoder.startChunkedConversion(
614 new StringConversionSink.fromStringSink(buffer)); 614 new StringConversionSink.fromStringSink(buffer));
615 sink.add(new AllInfoJsonCodec().encode(result)); 615 sink.add(new AllInfoJsonCodec().encode(result));
616 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, { 616 compiler.reporter.reportInfo(NO_LOCATION_SPANNABLE, MessageKind.GENERIC, {
617 'text': "View the dumped .info.json file at " 617 'text': "View the dumped .info.json file at "
618 "https://dart-lang.github.io/dump-info-visualizer" 618 "https://dart-lang.github.io/dump-info-visualizer"
619 }); 619 });
620 } 620 }
621 } 621 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_backend/backend.dart » ('j') | pkg/compiler/lib/src/ssa/builder_kernel.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698