Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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'},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this change needed for the API change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't appear to be in the reverted isolate group change (64b9eef) but that wasn't a change I made manually. It looks like that was a change made in the Dart SDK DEPS today by Alex.

{'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.

Expand Down
2 changes: 1 addition & 1 deletion ci/licenses_golden/licenses_third_party
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Signature: f5fe7081d04877d56a90cf48e34de6c6
Signature: 74e3d32179e3937fa393e59647d8eedb

UNUSED LICENSES:

Expand Down
22 changes: 12 additions & 10 deletions runtime/dart_isolate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ bool DartIsolate::Initialize(Dart_Isolate dart_isolate, bool is_root_isolate) {
}

auto* isolate_data = static_cast<std::shared_ptr<DartIsolate>*>(
Dart_IsolateData(dart_isolate));
Dart_IsolateGroupData(dart_isolate));
if (isolate_data->get() != this) {
return false;
}
Expand All @@ -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());
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -775,10 +777,10 @@ void DartIsolate::DartIsolateShutdownCallback(
isolate_group_data->get()->OnShutdownCallback();
}

// |Dart_IsolateCleanupCallback|
void DartIsolate::DartIsolateCleanupCallback(
std::shared_ptr<DartIsolate>* isolate_data) {
delete isolate_data;
// |Dart_IsolateGroupCleanupCallback|
void DartIsolate::DartIsolateGroupCleanupCallback(
std::shared_ptr<DartIsolate>* embedder_isolate) {
delete embedder_isolate;
}

fml::RefPtr<const DartSnapshot> DartIsolate::GetIsolateSnapshot() const {
Expand Down
8 changes: 4 additions & 4 deletions runtime/dart_isolate.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -189,8 +189,8 @@ class DartIsolate : public UIDartState {
std::shared_ptr<DartIsolate>* isolate_group_data,
std::shared_ptr<DartIsolate>* isolate_data);

// |Dart_IsolateCleanupCallback|
static void DartIsolateCleanupCallback(
// |Dart_IsolateGroupCleanupCallback|
static void DartIsolateGroupCleanupCallback(
std::shared_ptr<DartIsolate>* embedder_isolate);

FML_DISALLOW_COPY_AND_ASSIGN(DartIsolate);
Expand Down
13 changes: 7 additions & 6 deletions runtime/dart_vm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,13 @@ DartVM::DartVM(std::shared_ptr<const DartVMData> vm_data,
params.vm_snapshot_data = vm_data_->GetVMSnapshot().GetDataMapping();
params.vm_snapshot_instructions =
vm_data_->GetVMSnapshot().GetInstructionsMapping();
params.create = reinterpret_cast<decltype(params.create)>(
DartIsolate::DartIsolateCreateCallback);
params.shutdown = reinterpret_cast<decltype(params.shutdown)>(
DartIsolate::DartIsolateShutdownCallback);
params.cleanup = reinterpret_cast<decltype(params.cleanup)>(
DartIsolate::DartIsolateCleanupCallback);
params.create_group = reinterpret_cast<decltype(params.create_group)>(
DartIsolate::DartIsolateGroupCreateCallback);
params.shutdown_isolate =
reinterpret_cast<decltype(params.shutdown_isolate)>(
DartIsolate::DartIsolateShutdownCallback);
params.cleanup_group = reinterpret_cast<decltype(params.cleanup_group)>(
DartIsolate::DartIsolateGroupCleanupCallback);
params.thread_exit = ThreadExitCallback;
params.get_service_assets = GetVMServiceAssetsArchiveCallback;
params.entropy_source = dart::bin::GetEntropy;
Expand Down
4 changes: 2 additions & 2 deletions shell/platform/fuchsia/dart/dart_component_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -324,12 +324,12 @@ bool DartComponentController::CreateIsolate(
auto state = new std::shared_ptr<tonic::DartState>(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;
}

Expand Down
22 changes: 11 additions & 11 deletions shell/platform/fuchsia/dart/dart_runner.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand All @@ -92,7 +92,7 @@ void IsolateShutdownCallback(void* callback_data) {
}
}

void IsolateCleanupCallback(void* callback_data) {
void IsolateGroupCleanupCallback(void* callback_data) {
delete static_cast<std::shared_ptr<tonic::DartState>*>(callback_data);
}

Expand Down Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions shell/platform/fuchsia/dart/service_isolate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,14 @@ Dart_Isolate CreateServiceIsolate(const char* uri,
#endif

auto state = new std::shared_ptr<tonic::DartState>(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;
}

Expand Down