This brings it in sync with the existing implementation in Cider.
In Cider we cannot enfore no-putGet-when-data-exists because of possible
race condition, when data did not exist during `get` by isolate1, but
was put shortly after by isolate2, before isolate1 computed data and
attempted to `putGet`.
Change-Id: I36d9083f204be48e529e675a3f046784375f6fbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
It turns out that some time ago I got rid of the logic that depends on
this; the associated functionality is still there, but it's tracked
automatically by flow analysis via
`_PatternContext._matchedValueInfo`, so we no longer need to track it
in the shared analysis logic.
Change-Id: Ia38e0baf5f599c929aa2000aade41473b997f80a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284480
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
The bucket indexing can be made more complex but for now this simple change of processing CallSiteTypeInformations separately has shown an improvement in inference execution time (~5% on a big program).
Change-Id: If029906ca0c51d67939776732e0a25dcab7f6af1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284400
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
It looks like the error is currently truncated after the 100 root children and
approximately 170 reader URIs. Trimming to 50 root children and 50 reader URIs
seems quite safe. I can't claim that I foresee situations that could only be
solved by seeing the 50th URI, but I don't see any reason to pick a smaller
number.
Bug: b/267353400
Change-Id: I12ddcd7c89cfdc95faaef9feab56b6c22eee459f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284281
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
Without sound null safety result of int.parse is inferred as nullable,
making the IL test vm/dart/records_allocation_sinking_il_test dependent on
the sound null safety mode.
The test is changed so the argument 'x' of 'test' is always non-nullable
and always unboxed.
Follow-up to the unboxing fix
https://github.com/dart-lang/sdk/commit/85d1a7752eb0196ceff40f8d3a9db843db5205c2
TEST=vm/dart/records_allocation_sinking_il_test
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-nnbd-linux-release-x64-try
Change-Id: I9c532a644d03e0fdb7b70875c323fcbbb5238948
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284382
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This CL updates the VM Service spec to v4.2 and adds the
`getInstancesAsList` service procedure.
This CL also adds `pkg/vm_service/test/get_instances_as_list_rpc_test.dart`
which was based on
`runtime/observatory/tests/service/get_instances_as_array_rpc_test.dart`
and `pkg/vm_service/test/get_instances_as_list_rpc_expression_evaluation_on_internal_test.dart`
which was based on
`runtime/observatory/tests/service/get_instances_as_array_rpc_expression_evaluation_on_internal_test.dart`
TEST=CI
Fixes https://github.com/dart-lang/sdk/issues/51393
Fixes https://github.com/dart-lang/sdk/issues/51003
Change-Id: I0faae80553ec397a1e89be0a714aab30e7854fec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/283380
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
"evaluateNames" are returned to the client along with any variables, so the client can provide the user an expression that evaluates to that variable (used by "copy expression" or "add to watch".
DAP doesn't round-trip these as you expand variables, so we have to track them ourselves, but we were only doing so for map values. This fixes that to handle lists, getters, fields correctly too.
Fixes https://github.com/Dart-Code/Dart-Code/issues/4352.
Change-Id: Id57e46a1cecf8bd22473911340b649ac05da65fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284223
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Before this CL kernel tags had specialized tags that was marked by the
single high bit, then using the three lowest bits for a value:
128 + value = 0b10000xxx
136 + value = 0b10001xxx
144 + value = 0b10010xxx
So the numbers from 128 to 151 is taken by this scheme, but because of
the high bit marking stuff being special we can't really use 152-256.
This CL shifts the specialized tags up so it instead uses the 3 highest
bits as a marker while still using the lower 3 bits for the value:
224 + value = 0b11100xxx
232 + value = 0b11101xxx
240 + value = 0b11110xxx
This takes up 224-247 and leave 248-255 unused. It would let us use
128-223 though.
(If we eventually need more we can probably remove one of the
specialized ranges (SpecializedVariableSet isn't used very much in
previously sampled dill files) and use 4 bits for tagging).
Additionally, a tool to print free tags has been added (via binary.md),
and the "binary version is in sync with VM" test has been prepared
for version > 99.
TEST=Existing tests.
Change-Id: If77b12cee6fc3801628dd67dc40afbb018ec8a61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284302
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
When computing representation of a class with implementers, use the
representation of implementers, rather than implementer classes.
New passing test: lib/math/implement_rectangle_test
Fixes#51406
Change-Id: I495353a00e3379e04123a77c270374b82c97a90a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284301
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
Avoid quadratic behavior when multiple chunks fail to
have a line break, and the carry-over string gets repeatedly extended.
In the original chunked conversion code, the chunk handling code retained the trailing, non-line-terminated text of the previous chunk, then eagerly concatenated it with the next chunk in order to continue looking for lines. That's moderately effective when lines are shorter than chunks, and neither are too large.
However, a very long line spread across many chunks would perform repeated string concatenation with quadratic time complexity.
This change gives `LineSplitter` the option of using a `StringBuffer` to collect multiple carry-over line parts.
The buffer is needed whenever a chunk does not contain a line break, and needs to be combined with a previous chunk's carry-over. This avoids ever directly concatenating any more than two strings.
The `StringBuffer` is not allocated until it's first needed, so if lines are generally shorter than chunks, the buffer won't be used. Once allocated, the buffer is retained in case a buffer will be needed again, but cleared when its contents are used.
The code optimizes for the simple case of each chunk having a line break.
Fixes#51167
Bug: https://github.com/dart-lang/sdk/issues/51167
Change-Id: I600a011e02aa9f1ad6f88e45764df5b2e8eccfa3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280100
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
The VM can read native asset mappings from kernel.
Previous CLs already added support to embed native asset mappings for
one-shot compilation.
This CL adds support for adding native assets mappings to kernel files
created by the frontend_server with the incremental compiler.
The frontend_server accepts a `--native-assets=<uri>` at startup and
accepts a `native-assets <uri>` message on stdin as compilation
command.
The frontend_server caches the compiled native assets library.
When a `reset` command is sent to request a full dill from the
incremental compiler, the native assets mapping is taken from the
cache and added to the final dill file.
Split of DartSDK & flutter_tools prototype to land separately.
TEST=pkg/frontend_server/test/native_assets_test.dart
Bug: https://github.com/dart-lang/sdk/issues/49803
Bug: https://github.com/dart-lang/sdk/issues/50565
Change-Id: I6e15f177564b8a962e81261815e951e7c9525513
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282101
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Revisions updated by `dart tools/rev_sdk_deps.dart`.
args (https://github.com/dart-lang/args/compare/b08471e..9305d5a):
9305d5a 2023-02-15 Naoto Kaneko Update README.md (#236)
characters (https://github.com/dart-lang/characters/compare/29f3a3e..3281cc7):
3281cc7 2023-02-16 Devon Carew blast_repo fixes (#75)
dartdoc (https://github.com/dart-lang/dartdoc/compare/3931595..dba6f94):
dba6f946 2023-02-16 Janice Collins Preserve type aliases for records in output (#3340)
96e61903 2023-02-16 Sam Rawlins Remove unused additionalOptions parameter, other little refactorings (#3339)
f64290e1 2023-02-13 Devon Carew remove an unused css attribute (#3335)
c055526a 2023-02-13 Devon Carew fix an issue where we created a temporary directory when performing a dry run (#3334)
1f6c8db5 2023-02-13 dependabot[bot] Bump github/codeql-action from 2.2.1 to 2.2.4 (#3337)
f1fa0efc 2023-02-13 dependabot[bot] Bump actions/cache from 3.2.4 to 3.2.5 (#3338)
ffi (https://github.com/dart-lang/ffi/compare/69d7596..32f5eef):
32f5eef 2023-02-20 Daco Harkes Bump SDK constraint to 4.0.0 (#185)
http (https://github.com/dart-lang/http/compare/f4b365e..c13a3f8):
c13a3f8 2023-02-17 Alex Li ✨ Add Cronet embedded tool (#853)
markdown (https://github.com/dart-lang/markdown/compare/f51c24c..4befe66):
4befe66 2023-02-16 Zhiguang Chen Do not generate heading IDs for headings with no content in `HeaderWithIdSyntax` (#522)
cae08af 2023-02-15 Kevin Moore Prepare to release v7.0.1 (#520)
bdbaf76 2023-02-15 Zhiguang Chen Remove lookarounds from autolink extension patterns (#519)
eb09fac 2023-02-14 Kevin Moore Move to pkg:dart_flutter_team_lints (#518)
51a6389 2023-02-15 Zhiguang Chen Add line endings to HTML blocks (#512)
a4cd7a0 2023-02-14 Kevin Moore Label tests that only run on the VM: allows running tests with browser (#516)
6788042 2023-02-14 Kevin Moore CI: add publish and response workflows (#517)
mockito (https://github.com/dart-lang/mockito/compare/d2a8df1..ed5bd84):
ed5bd84 2023-01-09 Ross Wang Relax mixin criteria
781752c 2023-02-13 Sam Rawlins Change `void` to `dynamic` when overriding method arguments
71e41b9 2023-02-10 Sam Rawlins Add `ignore_for_file: use_of_void_result`
d5a25f8 2023-02-08 Sam Rawlins Fix violations of `unnecessary_parenthesis` lint
path (https://github.com/dart-lang/path/compare/a95f1e9..24b58a2):
24b58a2 2023-02-20 Kevin Moore Move to team lints, require Dart 2.19 (#138)
8ec8ca0 2023-02-18 Kevin Moore blast_repo fixes (#137)
pool (https://github.com/dart-lang/pool/compare/51f1131..694cfd8):
694cfd8 2023-02-20 Kevin Moore move to package:dart_flutter_team_lints, require Dart 2.19 (#65)
40bf2af 2023-02-20 Kevin Moore blast_repo fixes (#64)
source_maps (https://github.com/dart-lang/source_maps/compare/cf44db3..a112e98):
a112e98 2023-02-16 Devon Carew configure publishing automation (#74)
test (https://github.com/dart-lang/test/compare/b5e70db..e56c643):
e56c6439 2023-02-17 Jacob MacDonald Add exe compiler, supports running tests compiled to native executables (#1941)
f80dfa00 2023-02-16 Nate Bosch Add note about why we are replacing matcher (#1940)
732ae1de 2023-02-15 Nate Bosch Add `because` usage in examples (#1939)
f6df9756 2023-02-15 Jacob MacDonald Fix typo in readme (#1937)
aca53419 2023-02-14 Nate Bosch Add a caret constraint for matcher (#1927)
f7f3a019 2023-02-14 Jacob MacDonald use test_api/backend.dart instead of test_core/backend.dart (#1936)
de40c1c0 2023-02-14 Jacob MacDonald Add support for `--compiler` flag (#1903)
1f42db8c 2023-02-13 Devon Carew updates to package:checks docs (#1933)
tools (https://github.com/dart-lang/tools/compare/48a544b..a53933c):
a53933c 2023-02-17 Elias Yishak [package:dash_analytics] Tests for conforming to GA4 Measurement Protocol limitations (#9)
c54430b 2023-02-17 Devon Carew add some clarification to the top-level readme (#8)
webdev (https://github.com/dart-lang/webdev/compare/0bae2be..ae7eb80):
ae7eb80 2023-02-17 Anna Gringauze Add tests for object inspection (#1973)
7d80a2c 2023-02-17 Elliott Brooks (she/her) Ignore offset / count if an instance has no `length` (#1972)
cd66172 2023-02-17 Elliott Brooks (she/her) [MV3 Debug Extension] User can reload app and continue to debug (#1968)
8b7f9d3 2023-02-16 Anna Gringauze Re-enable weak webdev tests (#1960)
83d8e47 2023-02-16 Elliott Brooks (she/her) [MV3 Debug Extension] Variables in panel.dart should be private (#1969)
4e85e74 2023-02-16 Elliott Brooks (she/her) [MV3 Debug Extension] The new debug extension can be run on Manifest V3 or Manifest V2 (#1966)
3982f5f 2023-02-15 Elliott Brooks (she/her) [MV3 Debug Extension] Clean up tests in preparation for supporting compiling to MV2 (#1964)
3ad544e 2023-02-15 Elliott Brooks (she/her) [MV3 Debug Extension] Remove isMV3Extension field from DevtoolsRequest (#1963)
c77043e 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Fix isDevMode getter (#1962)
a761125 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Print `console` messages on test failure (#1961)
41e92be 2023-02-14 Anna Gringauze Create test_common package (#1945)
443f820 2023-02-14 Anna Gringauze Re-enable skipped reload test (#1958)
a7bc3fc 2023-02-14 Anna Gringauze Make dart-uri-file-uri test use sound null safety (#1959)
464a8eb 2023-02-14 Elliott Brooks (she/her) [MV3 Debug Extension] Compile extension with Dart instead of shell script (#1954)
7cf8fe2 2023-02-13 Anna Gringauze Fix asset handler tests (#1956)
c371ad7 2023-02-13 Anna Gringauze Fix chrome_proxy_service tests broken after switch to null safety by default (#1957)
d6ec127 2023-02-13 Anna Gringauze Move test-only code from the SdkLayout (#1955)
35fa34b 2023-02-13 Elliott Brooks (she/her) [MV3 Debug Extension] Update Chrome APIs to be backwards compatible with MV2 (#1951)
Change-Id: I4250594d0fa775d07cb3a0f8594e634552de452b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284240
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>