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

Unified Diff: utils/kernel-service/kernel-service.dart

Issue 3001013002: Pass path to platform kernel binary to kernel-service. (Closed)
Patch Set: Fix filenames, add comment regarding null platform_binary Created 3 years, 4 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
« no previous file with comments | « runtime/vm/unit_test.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/kernel-service/kernel-service.dart
diff --git a/utils/kernel-service/kernel-service.dart b/utils/kernel-service/kernel-service.dart
index 5115b9a484aedd0dc2b6e6083f1e0612bcb04cf1..2bc724205cf3272e8e5c8c821afe6ad76465c976 100644
--- a/utils/kernel-service/kernel-service.dart
+++ b/utils/kernel-service/kernel-service.dart
@@ -45,23 +45,16 @@ abstract class Compiler {
CompilerOptions options;
- Compiler(this.fileSystem) {
+ Compiler(this.fileSystem, Uri platformKernel) {
Uri packagesUri = (Platform.packageConfig != null)
? Uri.parse(Platform.packageConfig)
: null;
- Uri sdkSummary = Uri.base
- .resolveUri(new Uri.file(Platform.resolvedExecutable))
- .resolveUri(new Uri.directory("patched_sdk"))
- // TODO(sigmund): use outline.dill when the mixin transformer is
- // modular.
- .resolve('platform.dill');
-
if (verbose) {
print("DFE: Platform.packageConfig: ${Platform.packageConfig}");
print("DFE: packagesUri: ${packagesUri}");
print("DFE: Platform.resolvedExecutable: ${Platform.resolvedExecutable}");
- print("DFE: sdkSummary: ${sdkSummary}");
+ print("DFE: platformKernel: ${platformKernel}");
}
options = new CompilerOptions()
@@ -69,7 +62,7 @@ abstract class Compiler {
..fileSystem = fileSystem
..target = new VmFastaTarget(new TargetFlags(strongMode: strongMode))
..packagesFileUri = packagesUri
- ..sdkSummary = sdkSummary
+ ..sdkSummary = platformKernel
..verbose = verbose
..throwOnErrors = false
..reportMessages = true
@@ -88,7 +81,8 @@ abstract class Compiler {
class IncrementalCompiler extends Compiler {
IncrementalKernelGenerator generator;
- IncrementalCompiler(FileSystem fileSystem) : super(fileSystem);
+ IncrementalCompiler(FileSystem fileSystem, Uri platformKernel)
+ : super(fileSystem, platformKernel);
@override
Future<Program> compile(Uri script) async {
@@ -109,8 +103,9 @@ class IncrementalCompiler extends Compiler {
class SingleShotCompiler extends Compiler {
final bool requireMain;
- SingleShotCompiler(FileSystem fileSystem, this.requireMain)
- : super(fileSystem);
+ SingleShotCompiler(
+ FileSystem fileSystem, Uri platformKernel, this.requireMain)
+ : super(fileSystem, platformKernel);
@override
Future<Program> compile(Uri script) async {
@@ -123,7 +118,7 @@ class SingleShotCompiler extends Compiler {
final Map<int, Compiler> isolateCompilers = new Map<int, Compiler>();
Future<Compiler> lookupOrBuildNewIncrementalCompiler(
- int isolateId, List sourceFiles) async {
+ int isolateId, List sourceFiles, Uri platformKernel) async {
IncrementalCompiler compiler;
if (isolateCompilers.containsKey(isolateId)) {
compiler = isolateCompilers[isolateId];
@@ -146,7 +141,7 @@ Future<Compiler> lookupOrBuildNewIncrementalCompiler(
// destroyed when corresponding isolate is shut down. To achieve that kernel
// isolate needs to receive a message indicating that particular
// isolate was shut down. Message should be handled here in this script.
- compiler = new IncrementalCompiler(fileSystem);
+ compiler = new IncrementalCompiler(fileSystem, platformKernel);
isolateCompilers[isolateId] = compiler;
}
return compiler;
@@ -161,9 +156,18 @@ Future _processLoadRequest(request) async {
final SendPort port = request[1];
final String inputFileUri = request[2];
final Uri script = Uri.base.resolve(inputFileUri);
- final bool incremental = request[3];
+ final Uri platformKernel = request[3] != null
+ ? Uri.base.resolveUri(new Uri.file(request[3]))
+ : Uri.base
+ .resolveUri(new Uri.file(Platform.resolvedExecutable))
+ .resolveUri(new Uri.directory("patched_sdk"))
+ // TODO(sigmund): use outline.dill when the mixin transformer is
+ // modular.
+ .resolve('platform.dill');
+
+ final bool incremental = request[4];
- final List sourceFiles = request.length > 5 ? request[5] : null;
+ final List sourceFiles = request.length > 6 ? request[6] : null;
Compiler compiler;
// TODO(aam): There should be no need to have an option to choose
@@ -171,15 +175,15 @@ Future _processLoadRequest(request) async {
// compiler as its functionality is a super set of the other one. We need to
// watch the performance though.
if (incremental) {
- final int isolateId = request[4];
- compiler =
- await lookupOrBuildNewIncrementalCompiler(isolateId, sourceFiles);
+ final int isolateId = request[5];
+ compiler = await lookupOrBuildNewIncrementalCompiler(
+ isolateId, sourceFiles, platformKernel);
} else {
final FileSystem fileSystem = sourceFiles == null
? PhysicalFileSystem.instance
: _buildFileSystem(sourceFiles);
compiler = new SingleShotCompiler(
- fileSystem, sourceFiles == null /* requireMain */);
+ fileSystem, platformKernel, sourceFiles == null /* requireMain */);
}
CompilationResult result;
@@ -262,8 +266,9 @@ train(String scriptUri) {
tag,
responsePort.sendPort,
scriptUri,
- 1 /* isolateId chosen randomly */,
- false /* incremental */
+ null /* platformKernel */,
+ false /* incremental */,
+ 1 /* isolateId chosen randomly */
];
_processLoadRequest(request);
}
« no previous file with comments | « runtime/vm/unit_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698