[io] Provide dart::bin::SetupDartIoLibrary
Instead of requiring embedder to initialize dart:io by bits and pieces by invoking various hooks and setting fields provide a structured C++ API for preparing dart:io for execution. TEST=ci CoreLibraryReviewExempt: VM specific changes only Change-Id: I66e95c0a451d384b4f7582d1df059e506a6a6964 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454062 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>
This commit is contained in:
committed by
Commit Queue
parent
afda7beb42
commit
dec87b98f0
@@ -27,7 +27,7 @@ source_set("engine_jit_set") {
|
||||
|
||||
deps = [
|
||||
"..:libdart_jit",
|
||||
"../bin:dart_io_api",
|
||||
"../bin:common_embedder_dart_io",
|
||||
"../bin:dart_kernel_platform_cc",
|
||||
"../bin:libdart_builtin",
|
||||
]
|
||||
@@ -59,7 +59,7 @@ source_set("engine_aot_set") {
|
||||
|
||||
deps = [
|
||||
"..:libdart_aotruntime",
|
||||
"../bin:dart_io_api",
|
||||
"../bin:common_embedder_dart_io",
|
||||
"../bin:libdart_builtin",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -194,8 +194,9 @@ Dart_Isolate Engine::StartIsolate(DartEngine_SnapshotData snapshot,
|
||||
|
||||
// In fact, this call initializes core libraries, (e.g. `print` doesn't work
|
||||
// without it).
|
||||
Dart_Handle core_libs_result = bin::DartUtils::PrepareForScriptLoading(
|
||||
false, false, /*flag_profile_microtasks=*/false);
|
||||
Dart_Handle core_libs_result = bin::DartUtils::SetupCoreLibraries(
|
||||
/*is_service_isolate=*/false, /*trace_loading=*/false,
|
||||
/*flag_profile_microtasks=*/false, bin::DartIoSettings{});
|
||||
if (Dart_IsError(core_libs_result)) {
|
||||
*error = Utils::StrDup(Dart_GetError(core_libs_result));
|
||||
Dart_ShutdownIsolate();
|
||||
|
||||
Reference in New Issue
Block a user