When moving the newly spawned isolate from the spawnee group to the main
group we have to ensure to update the cached
`Isolate::mutator_thread_->isolate_group_` pointer (which we do not
reset when descheduling mutator threads (for other threads we do)).
This will fix the ASAN crash in this test:
tools/test.py -n dartk-asan-linux-release-x64 lib_2/isolate/mandel_isolate_test
Fixes https://github.com/dart-lang/sdk/issues/40756
Change-Id: I5a897098106e6748cf4e58bd5d2799ce28b130a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136971
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Code references other objects via object pools. In bare instructions mode
individual objects pool are merged together into a global object pool,
which means that we no longer can clearly see which objects are
referenced by each individual code object.
This CL adds logic into snapshot writer to include these implicit
references into the snapshot profile. We achieve this by keeping
individual object pools around (but avoiding writing them into the
snapshot itself).
R=sjindel@google.com
Change-Id: I35b48fcfc26c0a8c0b66593139fa7ac8e627da6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136626
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
One message is enough.
Change-Id: I0d1b6d98af9f5815f810edc4bd13f46a676ddfda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137780
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Unlike other final fields, late final fields without initializers have a
corresponding implicit setter. Previously, front-end was setting
Field.hasImplicitSetter to false for late final fields.
As a result, ClassHierarchy.getDispatchTarget was not returning such
field as a dispatch target for a setter invocation and TFA was inferring
incorrect types for late final fields (as if all setters for late
final fields disappeared).
Change-Id: I8f55f7ec8afa38e8cc3f54f85bd66c0381ae6318
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137701
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
It is only used in one place and is always passed.
Change-Id: I8bdc46963ee9e10591edb951dc72e065ba5678cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137760
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Got tired of hopping around the lists of tests randomly.
Change-Id: If8e5f915b7871d8ae916e565d9d4e787a44c6a50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137724
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
An empty file is not a failed read. Fixes leak when running tests/standalone_2/io/named_pipe_script_test.dart.
Change-Id: I499c8b1e27038b6da011c74732ce234f43387f80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137652
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Back-porting a breaking change for Null Safety to the existing SDK to
help front load any issues (we expect them to be minimal).
https://github.com/dart-lang/sdk/issues/40633
We are now allowing the type argument bounds in generic function
subtypes to differ if the bounds are mutual subtypes.
Change-Id: I2b093c08f772a1b866dbe1324b605e6143d3a0b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137289
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reverse use of the backing store and transition sentinel as bookkeeping values. Use transition sentinel to mark unused entries, since it has a short object id during clustered serialization. Use the backing store to mark deleted entries; deletion seems to only be used for enum values during a hot reload.
Change-Id: I52f0edcbc7e26f73843500cd378da31ea3b1e0ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137680
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Expose an option to configure the libraries specification path for the frontend_server
Change-Id: Icc50fd79fd1b8a5fd03d616bc2e58679bb0c8032
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137649
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Jonah Williams <jonahwilliams@google.com>
Change-Id: Id66e712eaf52fda2069ce5177aa091e373ad52c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134244
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
* addresses memory issues
* prints stacktraces
* fixes an unsafe cast and adds a null check
This is ripe for refactoring if you want to tweak how we're clearing inheritanceManager or generally address hygiene.
It's better enough to be useful as is though and if anyone wants to analyze a corpus, they'll want these fixes...
Change-Id: Ic3b623cb3915c26f4ba691e5c2ee979d1e41d51c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137683
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Only landing the ones that don't introduce rename failures in this CL.
Change-Id: I052058a0168eaad71c3e10d804bce63d9f52b194
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137647
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Originally I had the permutation map on IsolateGroup where the copy was
needed due to creating the temporary spawn group. Though it moved to
IsolateGroupSource now which is shared even with the temporary spawn
group.
This fixes flakiness in the app-jit tests:
tools/test.py -n app_jitk-linux-release-x64 standalone_2/typed_array_test/0
Fixes https://github.com/dart-lang/sdk/issues/40750
Change-Id: I0611fc98d03950b400ef70fa5127eba9d00742bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137304
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Speed-up ObjectSets.
Fix pointer verification before and after scavenging to set the correct mark expectation being on concurrent marking state.
Bug: https://github.com/dart-lang/sdk/issues/40780
Change-Id: Ic7ce6d5a829e41634083b0c274b9764da3f4b619
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137240
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
[infra] Run fewer tests under TSAN. TSAN has a significantly higher overhead than the other sanitizers.
Change-Id: I92b69923e93fa4634168352bdbe30d6ee7e7f72d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137402
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Also include the generated output.
Change-Id: Ic2818f544972c737f69913122e366ea48375e950
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135795
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Change-Id: I4d53ac27fd347c2d81b1d68d023e1da5abd9e3ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136631
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
The code previously used the target offset directly instead of the
JumpLabel which could cause it to miss multiple indirections, causing
a -1 offset.
This would manifest as a jump to an entry which would be
off-by-minus-one and thus hit the pre-code int3 barrier.
Bug: https://github.com/flutter/flutter/issues/51298
Change-Id: I0ef7d8ed578594bfb5fe9544f9b4aebaabc86275
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137303
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Clement Skau <cskau@google.com>