-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure correct child isolate initialization in enable-isolate-groups dart vm configuration. #26011
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
cc @mkustermann regarding changes to isolate loading for ltw isolates: avoid loading kernel for children isolates |
Just curious about progress on this patch. Is there some blocker? |
This change will be required iff We could land the PR now (despite being the flag off atm) by guarding the changes via |
@aam Could you update this PR to guard the changes under the |
Done, but I left the code in dart_vm.cc that enables the flag too. |
@aam Could you limit this change to only avoid the kernel loading (i.e. not enable the flag, not roll DEPS and all the other changes)? I think we will avoid flipping the flag here in the embedder and instead turn it on by-default in the VM instead, which will transparently make us use the right code path here. |
There should be only four files changed in this PR(runtime/dart_isolate.cc, runtime/dart_isolate.h, runtime/dart_vm.cc, runtime/isolate_configuration.cc). |
Done. |
I did. Not sure why, but after your latest push the |
…-groups dart vm configuration. (flutter/engine#26011)
…-groups dart vm configuration. (flutter/engine#26011)
…dart vm configuration. (flutter#26011) * Ensure child isolate doesn't load kernel * Guard changes to isolate initialization by enable-isolate-groups flag check
…dart vm configuration. (flutter#26011) * Ensure child isolate doesn't load kernel * Guard changes to isolate initialization by enable-isolate-groups flag check
Dart_SetRootLibrary and LoadKernel needs to be done only for a root isolate in the isolate group. When in
--enable-isolate-groups
dart vm mode child isolates will reuse kernel and object store set up by root isolate.