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

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

Issue 2899983003: Create KernelSsaBuilder from KernelSsaBuilderTask (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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4 import '../elements/elements.dart';
5 import '../io/source_information.dart';
6 import '../js_backend/backend.dart' show JavaScriptBackend;
7 import '../js_backend/element_strategy.dart' show ElementCodegenWorkItem;
8 import '../kernel/kernel.dart';
9 import '../world.dart';
10 import 'builder.dart';
11 import 'kernel_ast_adapter.dart';
12 import 'nodes.dart';
13 import 'builder_kernel.dart';
14
15 /// Task for building SSA kernel IR generated from rasta.
16 class RastaSsaBuilderTask extends SsaAstBuilderBase {
17 final SourceInformationStrategy sourceInformationFactory;
18
19 String get name => 'SSA kernel builder';
20
21 RastaSsaBuilderTask(JavaScriptBackend backend, this.sourceInformationFactory)
22 : super(backend);
23
24 HGraph build(ElementCodegenWorkItem work, ClosedWorld closedWorld) {
25 return measure(() {
26 if (handleConstantField(work)) {
27 // No code is generated for `work.element`.
28 return null;
29 }
30 MemberElement element = work.element.implementation;
31 ResolvedAst resolvedAst = work.resolvedAst;
32 Kernel kernel = backend.kernelTask.kernel;
33 KernelAstAdapter astAdapter = new KernelAstAdapter(kernel, backend,
34 work.resolvedAst, kernel.nodeToAst, kernel.nodeToElement);
35 KernelSsaBuilder builder = new KernelSsaBuilder(
36 element,
37 //work.resolvedAst,
Siggi Cherem (dart-lang) 2017/05/23 21:23:31 delete
Johnni Winther 2017/05/24 08:07:09 Done.
38 backend.compiler,
39 astAdapter,
40 closedWorld,
41 work.registry,
42 sourceInformationFactory.createBuilderForContext(resolvedAst),
43 resolvedAst.kind == ResolvedAstKind.PARSED ? resolvedAst.node : null);
44 HGraph graph = builder.build();
45
46 if (backend.tracer.isEnabled) {
47 String name;
48 if (element.isClassMember) {
49 String className = element.enclosingClass.name;
50 String memberName = element.name;
51 name = "$className.$memberName";
52 if (element.isGenerativeConstructorBody) {
53 name = "$name (body)";
54 }
55 } else {
56 name = "${element.name}";
57 }
58 backend.tracer.traceCompilation(name);
59 backend.tracer.traceGraph('builder', graph);
60 }
61
62 return graph;
63 });
64 }
65 }
OLDNEW
« pkg/compiler/lib/src/ssa/builder_kernel.dart ('K') | « pkg/compiler/lib/src/ssa/builder_kernel.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698