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

Unified Diff: runtime/vm/kernel_isolate.cc

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/kernel_isolate.h ('k') | runtime/vm/unit_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/kernel_isolate.cc
diff --git a/runtime/vm/kernel_isolate.cc b/runtime/vm/kernel_isolate.cc
index 75d52b9b5708f249d398bc15b2e59fc46ea8181d..60b2440a994d8e31a2f20486d069ede437b3c723 100644
--- a/runtime/vm/kernel_isolate.cc
+++ b/runtime/vm/kernel_isolate.cc
@@ -299,13 +299,14 @@ class KernelCompilationRequest : public ValueObject {
Dart_KernelCompilationResult SendAndWaitForResponse(
Dart_Port kernel_port,
const char* script_uri,
+ const char* platform_kernel,
int source_files_count,
Dart_SourceFile source_files[],
bool incremental_compile) {
- // Build the [null, send_port, script_uri, incremental_compile, isolate_id,
- // [files]] message for the Kernel isolate: null tag tells it that request
- // came from this code, instead of Loader so that it can given a more
- // informative response.
+ // Build the [null, send_port, script_uri, platform_kernel,
+ // incremental_compile, isolate_id, [files]] message for the Kernel isolate.
+ // null tag tells it that request came from this code, instead of Loader
+ // so that it can given a more informative response.
Dart_CObject tag;
tag.type = Dart_CObject_kNull;
@@ -318,6 +319,14 @@ class KernelCompilationRequest : public ValueObject {
uri.type = Dart_CObject_kString;
uri.value.as_string = const_cast<char*>(script_uri);
+ Dart_CObject dart_platform_kernel;
+ if (platform_kernel != NULL) {
+ dart_platform_kernel.type = Dart_CObject_kString;
+ dart_platform_kernel.value.as_string = const_cast<char*>(platform_kernel);
+ } else {
+ dart_platform_kernel.type = Dart_CObject_kNull;
+ }
+
Dart_CObject dart_incremental;
dart_incremental.type = Dart_CObject_kBool;
dart_incremental.value.as_bool = incremental_compile;
@@ -338,14 +347,15 @@ class KernelCompilationRequest : public ValueObject {
Dart_CObject message;
message.type = Dart_CObject_kArray;
- intptr_t message_len = 5;
+ intptr_t message_len = 6;
Dart_CObject files;
if (source_files_count != 0) {
files = BuildFilesPairs(source_files_count, source_files);
message_len++;
}
Dart_CObject* message_arr[] = {
- &tag, &send_port, &uri, &dart_incremental, &isolate_id, &files};
+ &tag, &send_port, &uri, &dart_platform_kernel, &dart_incremental,
+ &isolate_id, &files};
message.value.as_array.values = message_arr;
message.value.as_array.length = message_len;
// Send the message.
@@ -459,6 +469,7 @@ KernelCompilationRequest* KernelCompilationRequest::requests_ = NULL;
Dart_KernelCompilationResult KernelIsolate::CompileToKernel(
const char* script_uri,
+ const char* platform_kernel,
int source_file_count,
Dart_SourceFile source_files[],
bool incremental_compile) {
@@ -474,8 +485,8 @@ Dart_KernelCompilationResult KernelIsolate::CompileToKernel(
KernelCompilationRequest request;
return request.SendAndWaitForResponse(kernel_port, script_uri,
- source_file_count, source_files,
- incremental_compile);
+ platform_kernel, source_file_count,
+ source_files, incremental_compile);
}
#endif // DART_PRECOMPILED_RUNTIME
« no previous file with comments | « runtime/vm/kernel_isolate.h ('k') | runtime/vm/unit_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698