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

Unified Diff: pkg/front_end/lib/src/fasta/fasta.dart

Issue 2918623004: Use backend targets to run Kernel transformations in Fasta (Closed)
Patch Set: Remove some overrides of performModularTransformationsOnProgram 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 side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/lib/src/fasta/fasta.dart
diff --git a/pkg/front_end/lib/src/fasta/fasta.dart b/pkg/front_end/lib/src/fasta/fasta.dart
index 2d6acf9fd789c5619487c8d4c533c61b16ddafff..b586e72e2681594d44a895338d35265af4eb3d4e 100644
--- a/pkg/front_end/lib/src/fasta/fasta.dart
+++ b/pkg/front_end/lib/src/fasta/fasta.dart
@@ -184,7 +184,7 @@ Future<CompilationResult> parseScript(
Future<CompilationResult> parseScriptInFileSystem(
Uri fileName, FileSystem fileSystem, Uri packages, Uri patchedSdk,
{bool verbose: false, bool strongMode: false, String backendTarget}) async {
- backendTarget ??= "vm";
+ backendTarget ??= "vm_fasta";
try {
if (!await fileSystem.entityForUri(fileName).exists()) {
return new CompilationResult.error(
@@ -201,8 +201,9 @@ Future<CompilationResult> parseScriptInFileSystem(
TranslateUri uriTranslator =
await TranslateUri.parse(fileSystem, patchedSdk, packages: packages);
final Ticker ticker = new Ticker(isVerbose: verbose);
- final DillTarget dillTarget =
- new DillTarget(ticker, uriTranslator, backendTarget);
+ final DillTarget dillTarget = new DillTarget(
+ ticker, uriTranslator, backendTarget,
+ flags: new TargetFlags(strongMode: strongMode));
_appendDillForUri(dillTarget, patchedSdk.resolve('platform.dill'));
final KernelTarget kernelTarget =
new KernelTarget(fileSystem, dillTarget, uriTranslator, strongMode);
@@ -223,8 +224,8 @@ Future<CompilationResult> parseScriptInFileSystem(
}
// Perform target-specific transformations.
- Target target = getTarget("vm", new TargetFlags(strongMode: false));
- target.performModularTransformations(coreTypes, program);
+ Target target = getTarget("vm_fasta", new TargetFlags(strongMode: false));
+ target.performModularTransformationsOnProgram(coreTypes, program);
Siggi Cherem (dart-lang) 2017/06/01 18:29:31 dbc - do we still need this call? (I'm thinking th
Dmitry Stefantsov 2017/06/02 07:52:52 Good catch! I've added backendTarget.performGlobal
target.performGlobalTransformations(coreTypes, program);
// Write the program to a list of bytes and return it. Do not include
@@ -245,9 +246,14 @@ Future<CompilationResult> parseScriptInFileSystem(
}
Future compilePlatform(Uri patchedSdk, Uri fullOutput,
- {Uri outlineOutput, Uri packages, bool verbose: false}) async {
+ {Uri outlineOutput,
+ Uri packages,
+ bool verbose: false,
+ String backendTarget}) async {
+ backendTarget ??= "vm_fasta";
Ticker ticker = new Ticker(isVerbose: verbose);
await CompilerCommandLine.withGlobalOptions("", [""], (CompilerContext c) {
+ c.options.options["--target"] = backendTarget;
c.options.options["--packages"] = packages;
if (verbose) {
c.options.options["--verbose"] = true;
@@ -264,7 +270,7 @@ Future writeDepsFile(Uri script, Uri depsFile, Uri output,
Iterable<Uri> extraDependencies,
bool verbose: false,
String backendTarget}) async {
- backendTarget ??= "vm";
+ backendTarget ??= "vm_fasta";
Ticker ticker = new Ticker(isVerbose: verbose);
await CompilerCommandLine.withGlobalOptions("", [""],
(CompilerContext c) async {
@@ -277,8 +283,8 @@ Future writeDepsFile(Uri script, Uri depsFile, Uri output,
TranslateUri uriTranslator = await TranslateUri.parse(c.fileSystem, sdk,
packages: c.options.packages);
ticker.logMs("Read packages file");
- DillTarget dillTarget =
- new DillTarget(ticker, uriTranslator, backendTarget);
+ DillTarget dillTarget = new DillTarget(ticker, uriTranslator, backendTarget,
+ flags: new TargetFlags(strongMode: false));
_appendDillForUri(dillTarget, platform);
KernelTarget kernelTarget = new KernelTarget(PhysicalFileSystem.instance,
dillTarget, uriTranslator, false, c.uriToSource);

Powered by Google App Engine
This is Rietveld 408576698