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

Side by Side Diff: pkg/compiler/lib/src/ssa/rasta_ssa_builder_task.dart

Issue 2905623002: Extract type inference queries from KernelAstAdapter to KernelToTypeInferenceMap (Closed)
Patch Set: 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 import '../elements/elements.dart'; 4 import '../elements/elements.dart';
5 import '../io/source_information.dart'; 5 import '../io/source_information.dart';
6 import '../js_backend/backend.dart' show JavaScriptBackend; 6 import '../js_backend/backend.dart' show JavaScriptBackend;
7 import '../js_backend/element_strategy.dart' show ElementCodegenWorkItem; 7 import '../js_backend/element_strategy.dart' show ElementCodegenWorkItem;
8 import '../kernel/kernel.dart'; 8 import '../kernel/kernel.dart';
9 import '../world.dart'; 9 import '../world.dart';
10 import 'builder.dart'; 10 import 'builder.dart';
(...skipping 14 matching lines...) Expand all
25 return measure(() { 25 return measure(() {
26 if (handleConstantField(work)) { 26 if (handleConstantField(work)) {
27 // No code is generated for `work.element`. 27 // No code is generated for `work.element`.
28 return null; 28 return null;
29 } 29 }
30 MemberElement element = work.element.implementation; 30 MemberElement element = work.element.implementation;
31 ResolvedAst resolvedAst = work.resolvedAst; 31 ResolvedAst resolvedAst = work.resolvedAst;
32 Kernel kernel = backend.kernelTask.kernel; 32 Kernel kernel = backend.kernelTask.kernel;
33 KernelAstAdapter astAdapter = new KernelAstAdapter(kernel, backend, 33 KernelAstAdapter astAdapter = new KernelAstAdapter(kernel, backend,
34 work.resolvedAst, kernel.nodeToAst, kernel.nodeToElement); 34 work.resolvedAst, kernel.nodeToAst, kernel.nodeToElement);
35 KernelAstTypeInferenceMap typeInferenceMap =
36 new KernelAstTypeInferenceMap(astAdapter);
35 KernelSsaBuilder builder = new KernelSsaBuilder( 37 KernelSsaBuilder builder = new KernelSsaBuilder(
36 element, 38 element,
37 backend.compiler, 39 backend.compiler,
38 astAdapter, 40 astAdapter,
41 typeInferenceMap,
39 closedWorld, 42 closedWorld,
40 work.registry, 43 work.registry,
41 sourceInformationFactory.createBuilderForContext(resolvedAst), 44 sourceInformationFactory.createBuilderForContext(resolvedAst),
42 resolvedAst.kind == ResolvedAstKind.PARSED ? resolvedAst.node : null); 45 resolvedAst.kind == ResolvedAstKind.PARSED ? resolvedAst.node : null);
43 HGraph graph = builder.build(); 46 HGraph graph = builder.build();
44 47
45 if (backend.tracer.isEnabled) { 48 if (backend.tracer.isEnabled) {
46 String name; 49 String name;
47 if (element.isClassMember) { 50 if (element.isClassMember) {
48 String className = element.enclosingClass.name; 51 String className = element.enclosingClass.name;
49 String memberName = element.name; 52 String memberName = element.name;
50 name = "$className.$memberName"; 53 name = "$className.$memberName";
51 if (element.isGenerativeConstructorBody) { 54 if (element.isGenerativeConstructorBody) {
52 name = "$name (body)"; 55 name = "$name (body)";
53 } 56 }
54 } else { 57 } else {
55 name = "${element.name}"; 58 name = "${element.name}";
56 } 59 }
57 backend.tracer.traceCompilation(name); 60 backend.tracer.traceCompilation(name);
58 backend.tracer.traceGraph('builder', graph); 61 backend.tracer.traceGraph('builder', graph);
59 } 62 }
60 63
61 return graph; 64 return graph;
62 }); 65 });
63 } 66 }
64 } 67 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698