Commit graph

110 commits

Author SHA1 Message Date
Josh Soref aee77b9a33 Spelling tools
Closes https://github.com/dart-lang/sdk/pull/50880

TEST=ci

GitOrigin-RevId: ea8ecf4b7b921de0549df325be1a1f7879e86b72
Change-Id: I39315609a8390b012196a08c9ce4a9a6a50b1558
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278061
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2023-01-09 15:48:57 +00:00
Alexander Thomas 248de89e8c [3xH] Use gclient wrapper script to invoke gclient correctly
gclient now needs to be run with vpython3. Using the wrapper script will
always give us the right wrapper. Running gclient.py directly means that
python3 would be invoked and gclient's dependencies are assumed to be
installed already.

Fixes: https://github.com/dart-lang/sdk/issues/48486
Change-Id: Id62507965ac4f2d18e26dbc7907fcbc563af8e98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234721
Reviewed-by: William Hesse <whesse@google.com>
2022-03-01 09:39:45 +00:00
Alexander Aprelev b7ecafe495 [infra] Ensure that only git dependencies are pulled/updated via git.
There could be also 'cipd' dependencies which are not compatible with git cloning/checking-out logic

Change-Id: I25243a07e119e73176857e19a83b3e9e632346c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199560
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2021-05-12 22:31:40 +00:00
Alexander Thomas b5c63ce757 [infra] Migrate scripts to python3
* Migrate to python3; drop python support.
* Update Windows toolchain support.
* Remove some unused methods.
* Python 2.7 is still needed on Windows.
* Update gsutil to a version that supports python3.

Fixes: https://github.com/dart-lang/sdk/issues/28793

TEST=Manually tested common user journeys.

Change-Id: I663a22b237a548bb82dc2e601e399e3bc3649211
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192182
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-04-15 10:10:20 +00:00
Jake Macdonald 85174e4d8c Revert "Reland "update Glob in the sdk, also adds package:file to the sdk""
This reverts commit c62709e87b.

Reason for revert: Still breaking flutter HHH bots

Original change's description:
> Reland "update Glob in the sdk, also adds package:file to the sdk"
>
> This reverts commit ce614d33c4.
>
> Original change's description:
> > Revert "update Glob in the sdk, also adds package:file to the sdk"
> >
> > This reverts commit 18b19db300.
> >
> > Reason for revert: Breaks Flutter 3H/Golem. Tried making an appropriate patch for 3H that would pull file into its dependencies (see https://dart-review.googlesource.com/c/sdk/+/173960/), but that still failed, so reverting.
> >
> > Original change's description:
> > > update Glob in the sdk, also adds package:file to the sdk
> > >
> > > Change-Id: Ia8628c28bfaf6343c19eecfef391339968cd57e9
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172063
> > > Commit-Queue: Jake Macdonald <jakemac@google.com>
> > > Reviewed-by: Nate Bosch <nbosch@google.com>
> >
> > TBR=jakemac@google.com,nbosch@google.com
> >
> > Change-Id: I0616e3df7505f348edeefee40cbaf4adc59487cd
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173963
> > Reviewed-by: Tess Strickland <sstrickl@google.com>
> > Commit-Queue: Tess Strickland <sstrickl@google.com>
>
> TBR=jakemac@google.com,nbosch@google.com,sstrickl@google.com
>
> # Not skipping CQ checks because this is a reland.
>
> Change-Id: Ia85fe3b81214ca4ef2bed8e08ecc1b617927a579
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173981
> Reviewed-by: Nate Bosch <nbosch@google.com>
> Commit-Queue: Jake Macdonald <jakemac@google.com>

TBR=jakemac@google.com,nbosch@google.com,sstrickl@google.com

Change-Id: Iaff06dcbc3ef813ee9edb5ca8de163fdcc2041e2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174060
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-11-26 00:11:11 +00:00
Jake Macdonald c62709e87b Reland "update Glob in the sdk, also adds package:file to the sdk"
This reverts commit ce614d33c4.

Original change's description:
> Revert "update Glob in the sdk, also adds package:file to the sdk"
>
> This reverts commit 18b19db300.
>
> Reason for revert: Breaks Flutter 3H/Golem. Tried making an appropriate patch for 3H that would pull file into its dependencies (see https://dart-review.googlesource.com/c/sdk/+/173960/), but that still failed, so reverting.
>
> Original change's description:
> > update Glob in the sdk, also adds package:file to the sdk
> >
> > Change-Id: Ia8628c28bfaf6343c19eecfef391339968cd57e9
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172063
> > Commit-Queue: Jake Macdonald <jakemac@google.com>
> > Reviewed-by: Nate Bosch <nbosch@google.com>
>
> TBR=jakemac@google.com,nbosch@google.com
>
> Change-Id: I0616e3df7505f348edeefee40cbaf4adc59487cd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173963
> Reviewed-by: Tess Strickland <sstrickl@google.com>
> Commit-Queue: Tess Strickland <sstrickl@google.com>

TBR=jakemac@google.com,nbosch@google.com,sstrickl@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: Ia85fe3b81214ca4ef2bed8e08ecc1b617927a579
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173981
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-11-25 19:52:08 +00:00
Daco Harkes d9d0cc61c4 [vm] Remove old flutter_engine patches
Dart has rolled beyond these Dart SDK hashes in flutter/engine/DEPS.

Change-Id: Ib7dc7b7f746b8485348cef09d30f67bf3b965bac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170426
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2020-11-05 11:34:13 +00:00
Daco Harkes 5278383736 [vm] Native API: Make Dart_NewWeakPersistentHandle not auto delete
Changes Dart_NewWeakPersistentHandle to no longer auto delete the
weak persistent handle.

Changes the signatures of WeakPersistentHandleFinalizers to no longer
have access to the handle.

Flutter PR: https://github.com/flutter/engine/pull/19843
g3 presubmit: cl/318028238

Issue: https://github.com/dart-lang/sdk/issues/42312

TEST=runtime/vm/dart_api_impl_test.cc

Change-Id: I3f77db9954d9486759f903b78c03a494f73c68ba
Cq-Include-Trybots:dart/try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-msan-linux-release-x64-try,vm-kernel-precomp-msan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-mac-debug-x64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-nnbd-linux-debug-x64-try,analyzer-nnbd-linux-release-try,front-end-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151525
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-11-03 10:27:44 +00:00
Karl Klose 7af5788a5f [infra] Call create_updated_flutter deps from patches/flutter-engine/apply.sh
Change-Id: I2396539662212f15f8115ec8c5df522d35520d7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158902
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-18 09:32:10 +00:00
William Hesse 08663c20ab Change flutter patch to match existing DEPS on master branch
Change-Id: Idb0fd43ed680839f24e8be03e6703e3be31b8802
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155445
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-07-22 15:48:22 +00:00
William Hesse ba20edd7be Add patch for flutter-engine when changing to version 2.10
Change-Id: I4e17161abd7d8c390821a5e19a102a45de01a2ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155442
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-22 14:22:39 +00:00
William Hesse c54f38f2c1 [build] Change flutter-engine patch for async to use updated Dart SDK hash
Change-Id: Ied50a96ba3bf7c1d9ca7bdf06f793822cb86167d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154011
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-14 09:32:07 +00:00
Jacob MacDonald 05c7980fff update async in the sdk, add flutter engine patch
Change-Id: I17e088df3024992c4ea19a6dc2bcd63ba0dbb11b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153620
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2020-07-14 08:40:34 +00:00
Jacob MacDonald 51ac86c753 update collection dep, and add flutter-engine patch
Change-Id: I5e8b0eb2b161b71734feebb6e13d039082ad6bc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152860
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-07-01 20:50:38 +00:00
Jacob MacDonald 25d8ae53c1 add fixnum deps patch for flutter hhh bots
Change-Id: Ib028d99923c52d06a7b43f223d3abfe469820b20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152611
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2020-06-26 19:16:10 +00:00
Ryan Macnak df5036eb6e [vm] Require only an isolate group, not an isolate, in Dart_Delete[Weak]PersistentHandle.
Remove the now-misleading isolate parameter of Dart_DeleteWeakPersistentHandle.

Bug: https://github.com/dart-lang/sdk/issues/40836
Change-Id: I784f1ecf564484b59f60ebef53ddb975aff1bd23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138015
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-03-04 18:56:16 +00:00
Alexander Markov 070f67a05b [gardening] Remove obsolete Flutter HHH patch
This change was submitted into Flutter/flutter already
(6f9ed76faf),
so removing this patch as it cannot be applied anymore and causes
Flutter HHH to fail.

Change-Id: Ic1b44f0ec0c85b9d343079f8a067cd59ebf37170
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137040
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-02-24 20:34:46 +00:00
Samir Jindel 17ec4a8433 [vm] Fix 3xH bot.
The corresponding Flutter change is made in https://github.com/flutter/flutter/pull/51330.

Change-Id: Ib3f233cd4153c04b22ba10e30eb532186fc9fb97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136961
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2020-02-24 11:37:37 +00:00
Lasse R.H. Nielsen 3f28a3496c Change SDK to use package_config v1.9 (unreleased).
Change-Id: I405ac5e59d0b330c6fc6c63fab48d2d303734e59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136123
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-18 10:56:59 +00:00
Vyacheslav Egorov c096f9d6e5 [gardening] Fix 3H patching logic with respect to newly added dependencies.
Dependency might reside in path with one name but come from a repository
with completely different name.

Change-Id: Ic96ba2d5e32a8a5eeb3fdc44cae732ae35eac22d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135643
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-13 09:05:36 +00:00
Jens Johansen 0a8484ca20 [CFE/VM] Add patch after 'Use package config v2'
After 81d4ac07d4 ([CFE] Use package config v2)
landed the HHH bot hasn't been able to compile.
Hopefully this CL fixes that issue.

Change-Id: Ia3bb983f5a2ccf2539e59452b58058970bb6af1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135641
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-13 08:19:57 +00:00
Ryan Macnak 635c47b1c9 Reland "Update BoringSSL to 4dfd5af70191b068aebe567b8e29ce108cee85ce."
This reverts commit 7eeaeade6b.

Change-Id: I6e2d9f5b3f9a43b70db321d15c81e568857f303e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122488
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-23 18:08:16 +00:00
Ryan Macnak 6a65ea9cad [vm] Remove shared snapshot and reused instructions features.
Shared snapshots have been disused by Fuchsia deduping.
Reused instruction has been disused by Flutter code push.

Change-Id: Ia4cb570935c233a9365d521ca04a477c5550ef83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122421
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-22 19:02:26 +00:00
Alexander Aprelev 9293e26fc9 [gardening] Fix flutter hhh patch.
This is follow-up to https://dart-review.googlesource.com/c/sdk/+/120321.

Change-Id: If05df96d68ddecc1d4a6acc64e376ee720755fdd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120632
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-10-08 06:21:40 +00:00
jonahwilliams 13fbf569f6 [flutter] split frontend_server from vm package
To support JavaScript compilation, the frontend_server will require a dependency on the dev_compiler. To avoid conflating this with the vm specific functionality, the frontend server will be split from its current location.

This change will require a small corresponding update in flutter/engine, documented in the patches directory
Change-Id: I47923765546f7f6fa43e36ef38f8f466d3a7b2fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120321
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-10-08 05:32:59 +00:00
Jens Johansen 2a94546f94 Fix flutter-frontend bot and future problems in flutter HHH bot
Two things before this CL was wrong:
* The script didn't apply paches
* The patch we needed to apply wasn't applied because a dart roll in the
  engine was done basically at the same time that the change requiring
  the patch was landed. The dart-roll did not include it, but the change
  applied the patch the the before-dart-roll-dart-version.

This CL fixes it by applying patches in the flutter-frontend script,
and copying the patch to apply to both dart-revisions.

Change-Id: If3187090778c59cf0ebdf7ab4858189c6b8904b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117941
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-19 06:59:21 +00:00
asiva 7c1821c4aa [NNBD/VM] Restructure VM patch files for the NNBD dart sdk split
- Move all VM patch files from the lib directory to
sdk/lib/_internal/vm/lib
- Move all VM patch files from the bin directory to
sdk/lib/_internal/vm/bin
- Fixed paths for above patch files in libraries.yaml file.
- Created copies of these patch files in sdk_nnbd directory
- Cleaned up *.gni files by removing the unused dart patch files lists.

Change-Id: I3109d22f3b729a073a6b40175a0d29162a455830
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117685
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-09-19 03:57:30 +00:00
Jens Johansen fc16f8aa58 Apply flutter-engine patch to dump dart_package_config_tag version
Change-Id: Ie877cb35e9784804a4d7a39ef7bc95a6bb7bcf06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113823
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-20 14:22:40 +00:00
Alexander Aprelev 00ec685089 [gardening] Fix flutter hhh apply.sh so it clones dependencies added in patch files
Change-Id: Ib63d2cbaececda336c805651a38b88bc086117b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111343
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-07-30 17:43:35 +00:00
Alexander Aprelev 6e48c00c46 [gardening] Fix hhh patch apply.sh so it skips newly added, non-existent dependency folders
Change-Id: Ia2e4639294b5cfb0a33c672c4eb8beea16ce677f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111121
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-07-30 17:12:49 +00:00
Alexander Aprelev 0b9668d3c5 [gardening] Follow-up to 038250d99e - fix patch file
Change-Id: Idd6736f578034d4ed60e673aba8b9f75c73f7e56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111306
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-07-30 16:47:58 +00:00
Alexander Aprelev 038250d99e [gardening] Fix flutter hhh with patch for 5d5a0c0164
Change-Id: I332c00726ea58b045b2ded59a0c500b11e41c8f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111304
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-07-30 16:11:55 +00:00
Martin Kustermann e3b3c6fa28 [vm] Rename 3head flutter patch after re-land of concurrency change
Change-Id: Ie36a2a9f33d9f39e8b8ef14197c9f02476f3e031
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108402
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-07-09 09:16:39 +00:00
Alexander Aprelev 0425997b31 Second attempt to reland "[vm/concurrency] Introduce concept of Isolate Groups"
This reverts commit 3d14b75f97.

An Isolate Group (IG) is a collection of isolates which were spawned from the
same source. This allows the VM to:

  * have a guarantee that all isolates within one IG can safely exchange
    structured objects (currently we rely on embedder for this
    guarantee)

  * hot-reload all isolates together (currently we only reload one
    isolate, leaving same-source isolates in inconsistent state)

  * make a shared heap for all isolates from the same IG, which paves
    the way for faster communication and sharing of immutable objects.

All isolates within one IG will share the same IsolateGroupSource.

**Embedder changes**

This change makes breaking embedder API changes to support this new
concept of Isolate Groups: The existing isolate lifecycle callbacks
given to Dart_Initialize will become Isolate Group lifecycle callbacks.
A new callback `initialize_isolate` callback will be added which can
initialize a new isolate within an existing IG.

Existing embedders can be updated by performing the following renames

  Dart_CreateIsolate -> Dart_CreateIsolateGroup
  Dart_IsolateCreateCallback -> Dart_IsolateGroupCreateCallback
  Dart_IsolateCleanupCallback -> Dart_IsolateGroupShutdownCallback
  Dart_CreateIsolateFromKernel -> Dart_CreateIsolateGroupFromKernel
  Dart_CurrentIsolateData -> Dart_CurrentIsolateGroupData
  Dart_IsolateData -> Dart_IsolateGroupData
  Dart_GetNativeIsolateData -> Dart_GetNativeIsolateGroupData
  Dart_InitializeParams.create -> Dart_InitializeParams.create_group
  Dart_InitializeParams.cleanup -> Dart_InitializeParams.shutdown_group
  Dart_InitializeParams.shutdown -> Dart_InitializeParams.shutdown_isolate

By default `Isolate.spawn` will cause the creation of a new IG.

Though an embedder can opt-into supporting multiple isolates within one IG by
providing a callback to the newly added `Dart_InitializeParams.initialize_isolate`.
The responsibility of this new callback is to initialize an existing
isolate (which was setup by re-using source code from the spawning
isolate - i.e. the one which used `Isolate.spawn`) by setting native
resolvers, initializing global state, etc.

Issue https://github.com/dart-lang/sdk/issues/36648
Issue https://github.com/dart-lang/sdk/issues/36097

Original review: https://dart-review.googlesource.com/c/sdk/+/105241

Difference to original review:

  * Give each isolate it's own [Loader] (for now)
  * Sort classes during initialization for spawned isolates if app-jit is used (to match main isolate)
  * Fix IsolateData memory leak if isolate startup fails

Difference to first reland(Patchset 2):

  * Fix typo where memory was freed twice.

Change-Id: Ib1c83fe83b629cd50ae6af90ee99fdd44da882d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108367
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-07-08 23:49:05 +00:00
Vyacheslav Egorov 372bcae536 [gardening] Fix 3xHEAD Flutter build after revert
Change-Id: I2ec9d048465d641b33554e15fc9a76fde4abf848
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108141
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-07-03 16:23:09 +00:00
Vyacheslav Egorov 3d14b75f97 Revert "Reland "[vm/concurrency] Introduce concept of Isolate Groups""
This reverts commit 67ab3be10d.

Reason for revert: Causes non-deterministic failures on front-end bots on Windows with "Isolate creation failed" error. See https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8909292129328681248/+/steps/unit_tests/0/stdout

Original change's description:
> Reland "[vm/concurrency] Introduce concept of Isolate Groups"
> 
> An Isolate Group (IG) is a collection of isolates which were spawned from the
> same source. This allows the VM to:
> 
>   * have a guarantee that all isolates within one IG can safely exchange
>     structured objects (currently we rely on embedder for this
>     guarantee)
> 
>   * hot-reload all isolates together (currently we only reload one
>     isolate, leaving same-source isolates in inconsistent state)
> 
>   * make a shared heap for all isolates from the same IG, which paves
>     the way for faster communication and sharing of immutable objects.
> 
> All isolates within one IG will share the same IsolateGroupSource.
> 
> **Embedder changes**
> 
> This change makes breaking embedder API changes to support this new
> concept of Isolate Groups: The existing isolate lifecycle callbacks
> given to Dart_Initialize will become Isolate Group lifecycle callbacks.
> A new callback `initialize_isolate` callback will be added which can
> initialize a new isolate within an existing IG.
> 
> Existing embedders can be updated by performing the following renames
> 
>   Dart_CreateIsolate -> Dart_CreateIsolateGroup
>   Dart_IsolateCreateCallback -> Dart_IsolateGroupCreateCallback
>   Dart_IsolateCleanupCallback -> Dart_IsolateGroupShutdownCallback
>   Dart_CreateIsolateFromKernel -> Dart_CreateIsolateGroupFromKernel
>   Dart_CurrentIsolateData -> Dart_CurrentIsolateGroupData
>   Dart_IsolateData -> Dart_IsolateGroupData
>   Dart_GetNativeIsolateData -> Dart_GetNativeIsolateGroupData
>   Dart_InitializeParams.create -> Dart_InitializeParams.create_group
>   Dart_InitializeParams.cleanup -> Dart_InitializeParams.shutdown_group
>   Dart_InitializeParams.shutdown -> Dart_InitializeParams.shutdown_isolate
> 
> By default `Isolate.spawn` will cause the creation of a new IG.
> 
> Though an embedder can opt-into supporting multiple isolates within one IG by
> providing a callback to the newly added `Dart_InitializeParams.initialize_isolate`.
> The responsibility of this new callback is to initialize an existing
> isolate (which was setup by re-using source code from the spawning
> isolate - i.e. the one which used `Isolate.spawn`) by setting native
> resolvers, initializing global state, etc.
> 
> Issue https://github.com/dart-lang/sdk/issues/36648
> Issue https://github.com/dart-lang/sdk/issues/36097
> 
> Original review: https://dart-review.googlesource.com/c/sdk/+/105241
> 
> Difference to original review:
> 
>   * Give each isolate it's own [Loader] (for now)
>   * Sort classes during initialization for spawned isolates if app-jit is used (to match main isolate)
>   * Fix IsolateData memory leak if isolate startup fails
> 
> Change-Id: I98277d3d10fe275aa9b8a16b6bdd446bbea0b100
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107506
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=kustermann@google.com,aam@google.com,rmacnak@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ia4e0f4f9fc317499d3570a371c5bdf9aed799e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108101
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2019-07-03 12:19:15 +00:00
Martin Kustermann 67ab3be10d Reland "[vm/concurrency] Introduce concept of Isolate Groups"
An Isolate Group (IG) is a collection of isolates which were spawned from the
same source. This allows the VM to:

  * have a guarantee that all isolates within one IG can safely exchange
    structured objects (currently we rely on embedder for this
    guarantee)

  * hot-reload all isolates together (currently we only reload one
    isolate, leaving same-source isolates in inconsistent state)

  * make a shared heap for all isolates from the same IG, which paves
    the way for faster communication and sharing of immutable objects.

All isolates within one IG will share the same IsolateGroupSource.

**Embedder changes**

This change makes breaking embedder API changes to support this new
concept of Isolate Groups: The existing isolate lifecycle callbacks
given to Dart_Initialize will become Isolate Group lifecycle callbacks.
A new callback `initialize_isolate` callback will be added which can
initialize a new isolate within an existing IG.

Existing embedders can be updated by performing the following renames

  Dart_CreateIsolate -> Dart_CreateIsolateGroup
  Dart_IsolateCreateCallback -> Dart_IsolateGroupCreateCallback
  Dart_IsolateCleanupCallback -> Dart_IsolateGroupShutdownCallback
  Dart_CreateIsolateFromKernel -> Dart_CreateIsolateGroupFromKernel
  Dart_CurrentIsolateData -> Dart_CurrentIsolateGroupData
  Dart_IsolateData -> Dart_IsolateGroupData
  Dart_GetNativeIsolateData -> Dart_GetNativeIsolateGroupData
  Dart_InitializeParams.create -> Dart_InitializeParams.create_group
  Dart_InitializeParams.cleanup -> Dart_InitializeParams.shutdown_group
  Dart_InitializeParams.shutdown -> Dart_InitializeParams.shutdown_isolate

By default `Isolate.spawn` will cause the creation of a new IG.

Though an embedder can opt-into supporting multiple isolates within one IG by
providing a callback to the newly added `Dart_InitializeParams.initialize_isolate`.
The responsibility of this new callback is to initialize an existing
isolate (which was setup by re-using source code from the spawning
isolate - i.e. the one which used `Isolate.spawn`) by setting native
resolvers, initializing global state, etc.

Issue https://github.com/dart-lang/sdk/issues/36648
Issue https://github.com/dart-lang/sdk/issues/36097

Original review: https://dart-review.googlesource.com/c/sdk/+/105241

Difference to original review:

  * Give each isolate it's own [Loader] (for now)
  * Sort classes during initialization for spawned isolates if app-jit is used (to match main isolate)
  * Fix IsolateData memory leak if isolate startup fails

Change-Id: I98277d3d10fe275aa9b8a16b6bdd446bbea0b100
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107506
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-06-29 18:45:11 +00:00
Martin Kustermann b2171f16f1 Revert "[vm/concurrency] Introduce concept of Isolate Groups"
This reverts commit b75057b687.

Reason for revert: Caused some failures on app-jit builders

Original change's description:
> [vm/concurrency] Introduce concept of Isolate Groups
> 
> An Isolate Group (IG) is a collection of isolates which were spawned from the
> same source. This allows the VM to:
> 
>   * have a guarantee that all isolates within one IG can safely exchange
>     structured objects (currently we rely on embedder for this
>     guarantee)
> 
>   * hot-reload all isolates together (currently we only reload one
>     isolate, leaving same-source isolates in inconsistent state)
> 
>   * make a shared heap for all isolates from the same IG, which paves
>     the way for faster communication and sharing of immutable objects.
> 
> All isolates within one IG will share the same IsolateGroupSource.
> 
> **Embedder changes**
> 
> This change makes breaking embedder API changes to support this new
> concept of Isolate Groups: The existing isolate lifecycle callbacks
> given to Dart_Initialize will become Isolate Group lifecycle callbacks.
> A new callback `initialize_isolate` callback will be added which can
> initialize a new isolate within an existing IG.
> 
> Existing embedders can be updated by performing the following renames
> 
>   Dart_CreateIsolate -> Dart_CreateIsolateGroup
>   Dart_IsolateCreateCallback -> Dart_IsolateGroupCreateCallback
>   Dart_IsolateCleanupCallback -> Dart_IsolateGroupShutdownCallback
>   Dart_CreateIsolateFromKernel -> Dart_CreateIsolateGroupFromKernel
>   Dart_CurrentIsolateData -> Dart_CurrentIsolateGroupData
>   Dart_IsolateData -> Dart_IsolateGroupData
>   Dart_GetNativeIsolateData -> Dart_GetNativeIsolateGroupData
>   Dart_InitializeParams.create -> Dart_InitializeParams.create_group
>   Dart_InitializeParams.cleanup -> Dart_InitializeParams.shutdown_group
>   Dart_InitializeParams.shutdown -> Dart_InitializeParams.shutdown_isolate
> 
> By default `Isolate.spawn` will cause the creation of a new IG.
> 
> Though an embedder can opt-into supporting multiple isolates within one IG by
> providing a callback to the newly added `Dart_InitializeParams.initialize_isolate`.
> The responsibility of this new callback is to initialize an existing
> isolate (which was setup by re-using source code from the spawning
> isolate - i.e. the one which used `Isolate.spawn`) by setting native
> resolvers, initializing global state, etc.
> 
> Issue https://github.com/dart-lang/sdk/issues/36648
> Issue https://github.com/dart-lang/sdk/issues/36097
> 
> Change-Id: I82437ac017ca33018d45e02f353b0672db155f6a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105241
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Alexander Aprelev <aam@google.com>

TBR=kustermann@google.com,aam@google.com,rmacnak@google.com

Change-Id: Ibd90992a01d61188f27b445c21532e0c46f996ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107405
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-06-26 16:04:27 +00:00
Martin Kustermann b75057b687 [vm/concurrency] Introduce concept of Isolate Groups
An Isolate Group (IG) is a collection of isolates which were spawned from the
same source. This allows the VM to:

  * have a guarantee that all isolates within one IG can safely exchange
    structured objects (currently we rely on embedder for this
    guarantee)

  * hot-reload all isolates together (currently we only reload one
    isolate, leaving same-source isolates in inconsistent state)

  * make a shared heap for all isolates from the same IG, which paves
    the way for faster communication and sharing of immutable objects.

All isolates within one IG will share the same IsolateGroupSource.

**Embedder changes**

This change makes breaking embedder API changes to support this new
concept of Isolate Groups: The existing isolate lifecycle callbacks
given to Dart_Initialize will become Isolate Group lifecycle callbacks.
A new callback `initialize_isolate` callback will be added which can
initialize a new isolate within an existing IG.

Existing embedders can be updated by performing the following renames

  Dart_CreateIsolate -> Dart_CreateIsolateGroup
  Dart_IsolateCreateCallback -> Dart_IsolateGroupCreateCallback
  Dart_IsolateCleanupCallback -> Dart_IsolateGroupShutdownCallback
  Dart_CreateIsolateFromKernel -> Dart_CreateIsolateGroupFromKernel
  Dart_CurrentIsolateData -> Dart_CurrentIsolateGroupData
  Dart_IsolateData -> Dart_IsolateGroupData
  Dart_GetNativeIsolateData -> Dart_GetNativeIsolateGroupData
  Dart_InitializeParams.create -> Dart_InitializeParams.create_group
  Dart_InitializeParams.cleanup -> Dart_InitializeParams.shutdown_group
  Dart_InitializeParams.shutdown -> Dart_InitializeParams.shutdown_isolate

By default `Isolate.spawn` will cause the creation of a new IG.

Though an embedder can opt-into supporting multiple isolates within one IG by
providing a callback to the newly added `Dart_InitializeParams.initialize_isolate`.
The responsibility of this new callback is to initialize an existing
isolate (which was setup by re-using source code from the spawning
isolate - i.e. the one which used `Isolate.spawn`) by setting native
resolvers, initializing global state, etc.

Issue https://github.com/dart-lang/sdk/issues/36648
Issue https://github.com/dart-lang/sdk/issues/36097

Change-Id: I82437ac017ca33018d45e02f353b0672db155f6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105241
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-06-26 11:34:48 +00:00
Alexander Markov 250f3d2e56 [gardening] Attempt to repair red HHH bot, take 3
OK, this time the patch was applied.

However, there are still compile-time errors as HttpClientResponseCompressionState
was not imported into create_test.dart:

org-dartlang-app:///test/commands/create_test.dart:1176:3: Error: Type 'HttpClientResponseCompressionState' not found.
  HttpClientResponseCompressionState get compressionState {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:///test/commands/create_test.dart:1177:12: Error: Getter not found: 'HttpClientResponseCompressionState'.
    return HttpClientResponseCompressionState.decompressed;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:///test/commands/create_test.dart:1177:12: Error: The getter 'HttpClientResponseCompressionState' isn't defined for the class 'MockHttpClientResponse'.
 - 'MockHttpClientResponse' is from 'org-dartlang-app:///test/commands/create_test.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'HttpClientResponseCompressionState'.
    return HttpClientResponseCompressionState.decompressed;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This change should fix these errors.

Change-Id: I58b7ca97b2181fe04b4169a11a47173e63c3b865
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104381
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 22:00:39 +00:00
Alexander Markov 0e07987ccd [gardening] Attempt to repair red HHH bot, take 2
This is the 2nd attempt to repair HHH bot after
https://dart.googlesource.com/sdk/+/aa2ce7cfbfaca5439b86b6ee4ad503691b8ce0ac

Patch is renamed to the pinned Dart SDK hash, and flutter-flutter/apply.sh
script is changed to pick up patches using both engine and dart hashes.

Change-Id: I5cfbe65aeacb48eb76bcfbcb1eaa97795601c9fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104340
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 19:49:13 +00:00
Alexander Markov 7ae22b9394 [gardening] Attempt to repair red HHH bot
Moving corresponding patch file from engine hash to Dart SDK hash
as engine gets rolled into Flutter and engine hash becomes outdated.

Change-Id: I910427b8ee2e4ee5356234a7fd94155ea66d7dd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104285
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 17:42:04 +00:00
Todd Volkert dc7fa3bae7 Add patch to fix Flutter
This patch file updates Flutter's mocks of HttpClientResponse to add
a new `compressionState` getter that was added in
aa2ce7cfbf

Bug: dartbug.com/36971
Change-Id: I69296ab7a9365f74402975875048cc8d1fec965c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104262
Commit-Queue: Todd Volkert <tvolkert@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-05-31 02:28:04 +00:00
Alexander Aprelev 436c8d8a79 [gardening] Remove flutter patch as the original cl was indeed identified as a culprit and will be reverted.
Change-Id: I79788eb6e42ea14e7ed0d26acd9e70d07485fd80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104181
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-05-29 23:44:01 +00:00
Alexander Aprelev ebe6146781 [gardening] Fix patch name so it matches dart sdk hash.
Change-Id: I51852a003b43b127c0754d5a730c8deac8663514
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104163
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-05-29 22:16:34 +00:00
Alexander Aprelev 19a8886a8a [gardening] Attempt to troubleshoot failing hhh buildbot.
Create a patch that reverts https://github.com/flutter/engine/pull/9085 from which redness started.

Change-Id: Id975eb3023cf6c2634a81e4e81eab30e21851581
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104120
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-05-29 20:37:40 +00:00
Vyacheslav Egorov 00ed6b21fb [gardening] Update 3xHEAD apply script.
It is currently failing because it is trying to cd in non-existent directory.

Change-Id: I29f3947db6aa0e34d747309b310da565dc0c010d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103137
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
2019-05-21 14:35:32 +00:00
Vyacheslav Egorov b08397c658 [gardening] Fix Flutter 3xHEAD build
Change-Id: Ie8fb3abe542db6432bd4e862010c714cd7126c8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103135
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
2019-05-21 12:23:22 +00:00
Vyacheslav Egorov f4bc1c12e7 [gardening] Update 3xHEAD patch after DEPS update
Change-Id: Ic1ca7d3fa208b7ed7b2ea423a38affa339608694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98853
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-04-09 12:44:18 +00:00
Alexander Aprelev 2ebdb0890f [gardening] Update flutter engine patch as DART_CHECK_VALID change is no longer needed.
Change-Id: If1c8f42d8c27c9fa38cb2863d1a411b9c519838b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98605
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-04-03 17:49:20 +00:00