diff --git a/DEPS b/DEPS index 553cdf58eab8f..78c63a98aef5c 100644 --- a/DEPS +++ b/DEPS @@ -34,7 +34,7 @@ vars = { # Dart is: https://github.com/dart-lang/sdk/blob/master/DEPS. # You can use //tools/dart/create_updated_flutter_deps.py to produce # updated revision list of existing dependencies. - 'dart_revision': '06c3d7ad3a33b7c4d42067c1a24c9279c321071f', + 'dart_revision': '7acecda2cc220965d4129e1794e933514aad56c8', # WARNING: DO NOT EDIT MANUALLY # The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py @@ -364,7 +364,7 @@ deps = { Var('dart_git') + '/package_resolver.git' + '@' + Var('dart_package_resolver_tag'), 'src/third_party/dart/tools/sdks': - {'packages': [{'version': 'version:2.3.3-dev.0.0', 'package': 'dart/dart-sdk/${{platform}}'}], 'dep_type': 'cipd'}, + {'packages': [{'version': 'version:2.4.0', 'package': 'dart/dart-sdk/${{platform}}'}], 'dep_type': 'cipd'}, # WARNING: end of dart dependencies list that is cleaned up automatically - see create_updated_flutter_deps.py. diff --git a/ci/licenses_golden/licenses_third_party b/ci/licenses_golden/licenses_third_party index fa63f985175c1..2dfe8c2b3add5 100644 --- a/ci/licenses_golden/licenses_third_party +++ b/ci/licenses_golden/licenses_third_party @@ -1,4 +1,4 @@ -Signature: f5fe7081d04877d56a90cf48e34de6c6 +Signature: 74e3d32179e3937fa393e59647d8eedb UNUSED LICENSES: diff --git a/runtime/dart_isolate.cc b/runtime/dart_isolate.cc index 96ac6facd333a..a985bbfb75bba 100644 --- a/runtime/dart_isolate.cc +++ b/runtime/dart_isolate.cc @@ -163,7 +163,7 @@ bool DartIsolate::Initialize(Dart_Isolate dart_isolate, bool is_root_isolate) { } auto* isolate_data = static_cast*>( - Dart_IsolateData(dart_isolate)); + Dart_IsolateGroupData(dart_isolate)); if (isolate_data->get() != this) { return false; } @@ -174,7 +174,7 @@ bool DartIsolate::Initialize(Dart_Isolate dart_isolate, bool is_root_isolate) { // We are entering a new scope (for the first time since initialization) and // we want to restore the current scope to null when we exit out of this // method. This balances the implicit Dart_EnterIsolate call made by - // Dart_CreateIsolate (which calls the Initialize). + // Dart_CreateIsolateGroup (which calls the Initialize). Dart_ExitIsolate(); tonic::DartIsolateScope scope(isolate()); @@ -636,8 +636,8 @@ Dart_Isolate DartIsolate::DartCreateAndStartServiceIsolate( return service_isolate->isolate(); } -// |Dart_IsolateCreateCallback| -Dart_Isolate DartIsolate::DartIsolateCreateCallback( +// |Dart_IsolateGroupCreateCallback| +Dart_Isolate DartIsolate::DartIsolateGroupCreateCallback( const char* advisory_script_uri, const char* advisory_script_entrypoint, const char* package_root, @@ -720,14 +720,16 @@ DartIsolate::CreateDartVMAndEmbedderObjectPair( } // Create the Dart VM isolate and give it the embedder object as the baton. - Dart_Isolate isolate = Dart_CreateIsolate( + Dart_Isolate isolate = Dart_CreateIsolateGroup( advisory_script_uri, // advisory_script_entrypoint, // (*embedder_isolate)->GetIsolateSnapshot()->GetDataMapping(), (*embedder_isolate)->GetIsolateSnapshot()->GetInstructionsMapping(), (*embedder_isolate)->GetSharedSnapshot()->GetDataMapping(), (*embedder_isolate)->GetSharedSnapshot()->GetInstructionsMapping(), flags, - embedder_isolate.get(), error); + embedder_isolate.get(), // isolate_group_data + embedder_isolate.get(), // isolate_data + error); if (isolate == nullptr) { FML_DLOG(ERROR) << *error; @@ -775,10 +777,10 @@ void DartIsolate::DartIsolateShutdownCallback( isolate_group_data->get()->OnShutdownCallback(); } -// |Dart_IsolateCleanupCallback| -void DartIsolate::DartIsolateCleanupCallback( - std::shared_ptr* isolate_data) { - delete isolate_data; +// |Dart_IsolateGroupCleanupCallback| +void DartIsolate::DartIsolateGroupCleanupCallback( + std::shared_ptr* embedder_isolate) { + delete embedder_isolate; } fml::RefPtr DartIsolate::GetIsolateSnapshot() const { diff --git a/runtime/dart_isolate.h b/runtime/dart_isolate.h index 60412972abc93..b1222254e13a0 100644 --- a/runtime/dart_isolate.h +++ b/runtime/dart_isolate.h @@ -156,8 +156,8 @@ class DartIsolate : public UIDartState { void OnShutdownCallback(); - // |Dart_IsolateCreateCallback| - static Dart_Isolate DartIsolateCreateCallback( + // |Dart_IsolateGroupCreateCallback| + static Dart_Isolate DartIsolateGroupCreateCallback( const char* advisory_script_uri, const char* advisory_script_entrypoint, const char* package_root, @@ -189,8 +189,8 @@ class DartIsolate : public UIDartState { std::shared_ptr* isolate_group_data, std::shared_ptr* isolate_data); - // |Dart_IsolateCleanupCallback| - static void DartIsolateCleanupCallback( + // |Dart_IsolateGroupCleanupCallback| + static void DartIsolateGroupCleanupCallback( std::shared_ptr* embedder_isolate); FML_DISALLOW_COPY_AND_ASSIGN(DartIsolate); diff --git a/runtime/dart_vm.cc b/runtime/dart_vm.cc index 903e74b1591f7..555d0c9ee17e2 100644 --- a/runtime/dart_vm.cc +++ b/runtime/dart_vm.cc @@ -366,12 +366,13 @@ DartVM::DartVM(std::shared_ptr vm_data, params.vm_snapshot_data = vm_data_->GetVMSnapshot().GetDataMapping(); params.vm_snapshot_instructions = vm_data_->GetVMSnapshot().GetInstructionsMapping(); - params.create = reinterpret_cast( - DartIsolate::DartIsolateCreateCallback); - params.shutdown = reinterpret_cast( - DartIsolate::DartIsolateShutdownCallback); - params.cleanup = reinterpret_cast( - DartIsolate::DartIsolateCleanupCallback); + params.create_group = reinterpret_cast( + DartIsolate::DartIsolateGroupCreateCallback); + params.shutdown_isolate = + reinterpret_cast( + DartIsolate::DartIsolateShutdownCallback); + params.cleanup_group = reinterpret_cast( + DartIsolate::DartIsolateGroupCleanupCallback); params.thread_exit = ThreadExitCallback; params.get_service_assets = GetVMServiceAssetsArchiveCallback; params.entropy_source = dart::bin::GetEntropy; diff --git a/shell/platform/fuchsia/dart/dart_component_controller.cc b/shell/platform/fuchsia/dart/dart_component_controller.cc index 1c4f71050594d..4a09055412618 100644 --- a/shell/platform/fuchsia/dart/dart_component_controller.cc +++ b/shell/platform/fuchsia/dart/dart_component_controller.cc @@ -324,12 +324,12 @@ bool DartComponentController::CreateIsolate( auto state = new std::shared_ptr(new tonic::DartState( namespace_fd, [this](Dart_Handle result) { MessageEpilogue(result); })); - isolate_ = Dart_CreateIsolate( + isolate_ = Dart_CreateIsolateGroup( url_.c_str(), label_.c_str(), isolate_snapshot_data, isolate_snapshot_instructions, shared_snapshot_data, shared_snapshot_instructions, nullptr /* flags */, state, &error); if (!isolate_) { - FX_LOGF(ERROR, LOG_TAG, "Dart_CreateIsolate failed: %s", error); + FX_LOGF(ERROR, LOG_TAG, "Dart_CreateIsolateGroup failed: %s", error); return false; } diff --git a/shell/platform/fuchsia/dart/dart_runner.cc b/shell/platform/fuchsia/dart/dart_runner.cc index 200500d2c90f6..68010a62cd1b6 100644 --- a/shell/platform/fuchsia/dart/dart_runner.cc +++ b/shell/platform/fuchsia/dart/dart_runner.cc @@ -61,13 +61,13 @@ const char* kDartVMArgs[] = { // clang-format on }; -Dart_Isolate IsolateCreateCallback(const char* uri, - const char* name, - const char* package_root, - const char* package_config, - Dart_IsolateFlags* flags, - void* callback_data, - char** error) { +Dart_Isolate IsolateGroupCreateCallback(const char* uri, + const char* name, + const char* package_root, + const char* package_config, + Dart_IsolateFlags* flags, + void* callback_data, + char** error) { if (std::string(uri) == DART_VM_SERVICE_ISOLATE_NAME) { #if defined(DART_PRODUCT) *error = strdup("The service isolate is not implemented in product mode"); @@ -92,7 +92,7 @@ void IsolateShutdownCallback(void* callback_data) { } } -void IsolateCleanupCallback(void* callback_data) { +void IsolateGroupCleanupCallback(void* callback_data) { delete static_cast*>(callback_data); } @@ -167,9 +167,9 @@ DartRunner::DartRunner() : context_(sys::ComponentContext::Create()) { params.vm_snapshot_data = vm_snapshot_data_.address(); params.vm_snapshot_instructions = vm_snapshot_instructions_.address(); #endif - params.create = IsolateCreateCallback; - params.shutdown = IsolateShutdownCallback; - params.cleanup = IsolateCleanupCallback; + params.create_group = IsolateGroupCreateCallback; + params.shutdown_isolate = IsolateShutdownCallback; + params.cleanup_group = IsolateGroupCleanupCallback; params.entropy_source = EntropySource; #if !defined(DART_PRODUCT) params.get_service_assets = GetVMServiceAssetsArchiveCallback; diff --git a/shell/platform/fuchsia/dart/service_isolate.cc b/shell/platform/fuchsia/dart/service_isolate.cc index 2e6eda2659de4..7186d3dad17b5 100644 --- a/shell/platform/fuchsia/dart/service_isolate.cc +++ b/shell/platform/fuchsia/dart/service_isolate.cc @@ -123,14 +123,14 @@ Dart_Isolate CreateServiceIsolate(const char* uri, #endif auto state = new std::shared_ptr(new tonic::DartState()); - Dart_Isolate isolate = Dart_CreateIsolate( + Dart_Isolate isolate = Dart_CreateIsolateGroup( uri, DART_VM_SERVICE_ISOLATE_NAME, mapped_isolate_snapshot_data.address(), mapped_isolate_snapshot_instructions.address(), mapped_shared_snapshot_data.address(), mapped_shared_snapshot_instructions.address(), nullptr /* flags */, state, error); if (!isolate) { - FX_LOGF(ERROR, LOG_TAG, "Dart_CreateIsolate failed: %s", *error); + FX_LOGF(ERROR, LOG_TAG, "Dart_CreateIsolateGroup failed: %s", *error); return nullptr; }