Needed to type nullability for List parameters correctly.
Change-Id: I55732a34f9e221324a15312985cb83b49a6811a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142211
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
It combines the "branch" and "copy" steps (which are still supported if
you want to do things manually) and also automatically commits the
change.
Just trying to make things a little less manual.
Change-Id: Ibf48759c486998251710244ade3355e59451cb7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142206
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Bug: https://github.com/dart-lang/sdk/issues/41275
insertAll should be unimplemented. It was previously relying
on a call to ChildrenElementList.length in the List mixin to
throw an UnsupportedError.
Change-Id: Ie8e5b126ea75a538e9db8b939bff0be012814efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142201
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Pre-nnbd, add and toggle were allowed to return null, but with the
change in the Set interface, they must return a non-nullable bool.
Change-Id: I1dfcb43d8c816f46f847d22d6f62507c6a77e4a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141500
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
There are several instances where there are non-nullable
variables with null checks associated with them that should
be converted back to nullable. Attribute functions in Element
are clarified as well.
Change-Id: I23cf020f02f3d4b512e041f0339daafb46fdd7f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140909
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Derive whether legacy and nullable types are emitted based on the
provided sdk libraries and only enable the non-nullable experiment
when building the platform files.
The test matrix continues to enable the experiment temporarily
because test_runner currently doesn't support running with the
ReleaseX64NNBD configuration if it is not enabled in test.py
Change-Id: I7322906e928c68acab77087bcba76f06ef4bf983
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141850
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Change-Id: Ie1f5a6e887ad527bfaf2f69bc210e05b4686f621
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141883
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Allows it to be used as a boolean expression.
Change-Id: Id638eba4d1b0f745bfabc038f92fe930b5f454f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141641
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Changes types of return values depending on if the
call allows a Null type.
Change-Id: Id9b3d69eee1008d46a6b3b16f217a6b9c892fc6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141260
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
When multiple experiments are specified, we need to compile the sdk from sources
and the default libraries.json points to the legacy sdk.
Change-Id: I92904e422eb5225372e109ccb4f06b4a54030496
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141161
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
This changes to the homebrew tooling to modify instead of replace the
formulas. The formulas can now be changed by editing them in the
dart-lang/homebrew-dart repo, rather than in the release tooling.
Also adds a dry-run mode for local testing.
https://github.com/dart-lang/sdk/issues/40990
Change-Id: Ibed90894800e4d84fac3c4558e6f08d629baed62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141244
Reviewed-by: William Hesse <whesse@google.com>
initMouseEvent uses this conversion to call the native function,
and it is allowed for the EventTarget to be null in the native
call.
Change-Id: I345e82fa00f4cca72e15f713cd7a271d306b7d37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141040
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Related to DOM clobbering of previousSibling
Change-Id: Ib4ed1cdba4217c351804b0689a999b73713f79ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140622
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Dev and beta version strings will look very look very similar, so adding
the channel name will make it easy for users to see if they are on be,
dev, beta, or stable. This will change both the output of
`dart --version` as well as the value of `Platform.version`.
This also removes the Flutter stable release version hack.
Fixes https://github.com/dart-lang/sdk/issues/40993
Change-Id: Iceb8e84a9cf4d0bfb7659669878e42d0a59febc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140287
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
- Defined initial interface
- Currently can spawn an HTTP server and forward websocket and HTTP
requests to the VM service
- Simple smoke tests
- Initial documentation in dds_protocol.md and other book keeping
- Enabled analysis on bots
Change-Id: Ia11e9e33fd10b0b4700b704a29e2977341441cec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139542
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Fix all warnings/errors when running with --enable-experiment=non-nullable flag
Change-Id: I7673aa34466273d623f7a429d96b0ccd6b612dae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139980
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
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>
The regular test shards run in about half the time. Therefore, we can
use less shards for overall efficiency without sacrificing cycle time.
TBR=asiva@google.com
Change-Id: Ib8b58a03f9c40d0e8f288cde6e148a54fc1ed1e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138300
Reviewed-by: Alexander Thomas <athom@google.com>
On 1/27/20, the nnbd specification changed weak and strong mode instance checks
to make them behave uniformly across legacy and opted-in libraries.
Therefore, it is not necessary anymore to propagate the library mode in
generated code to the runtime.
Change-Id: I42d3ddc6e9a921899aeac21be6374c7893a6d27c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138111
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
Previously, each top level key/value pair in the file represented a
feature, so in order to make room for the new field, these were all
moved under a "features:" header.
Code generators have been updated to produce the same result as they
did before; in future CLs I'll update them to generate code based on
the new field.
Change-Id: Ia2266dd0d92796f15460127742eb2b56f64438e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Since we transitioned to natives for dart:html, manually written native
fields should be rewritten. Similarly, if there are fields in abstract
classes that represent interfaces, they should be converted. Fields in
abstract classes that are used in that class are left alone.
Change-Id: I924363639a4430b88b810b7348815bbc3f040e7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137642
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
New analyzer errors are reported for dart:html around nullability.
Non-nullable fields are translated to native getters and setters if part
of a concrete class and normal getters and setters if abstract.
Change-Id: I2fd87803a08872b2a7eae4de0af704f184997c7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137481
Reviewed-by: Stephen Adams <sra@google.com>
NNBD fields that were non-nullable or final were transformed to getters
so that they were compilable. They need to be transformed to natives now
for performance.
Change-Id: Ice0082f9468c542098a6d12083a826438d15eba4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135860
Reviewed-by: Stephen Adams <sra@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>
[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>
This changes how we used String.fromEnvironment to enable tracing.
With null-safety http://dartbug.com/40678 means that these constants are
never null, so we were accidentally enabling tracing by default.
I was only able to see this when running dart2js from source
(which affects the hostasserts configuration), but I wasn't seeing this
when running from snapshot. We need to investigate that separately.
Change-Id: Ic362967d2f0daf5f9c0e1659c6a024ca9a44358f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137286
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This change adds --null-safety option to the front-end server and
gen_kernel tools. This option is forwarded to CFE via
CompilerOptions.nnbdMode.
Issue: https://github.com/dart-lang/sdk/issues/38845
Change-Id: I410b1d5466d93d9514cb7571bf37b32c848f136c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137106
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Running tools/test.py locally behaves differently than on the bots
because the bots will have special environment variables set.
=> We want also local runs of tools/test.py to report ASAN errors, so
this CL moves the setting of environment variables to tools/test.py
Furthermore we enable "additional check_initialization_order=true" asan
option to detect ordering issues when initializing global state.
Make the IsolateGroup::isolate_group_random_ heap allocated on VM
startup to avoid initialization ordering issue (turns out our `Random`
can depend on embedder entropy source callback being available)
Also add locking around assigning of isolate group ids -- without it we
could have two threads racing and possibly getting the same id.
See b/149978682
Change-Id: I41b9a34c66934dcc0d3804233f5acf09004ba3bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136630
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Run this test on the dart2js patched SDK too until the CFE
starts reporting all errors.
Change-Id: Ib943d6516382a3edc5dfe9906d4d0d6fb97fe076
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136808
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
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>
These assertions need to be added back into the nnbd sdk in order to be
compatible with weak mode.
Change-Id: Ie774fffda1fb0e79dbc7fe13cb75b9d28e4268fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136720
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Change-Id: If285e4a43b57fa3ef27dcc46be31e7982fc11f2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136713
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
* Fix formatting and sharding for the VM JIT NNBD builders.
Change-Id: Iaf11da2e4acf906cdf0908e1bff771366dc3a083
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136640
Reviewed-by: Régis Crelier <regis@google.com>
Only write out the tests if the source files changed, so editors
don't reload files that didn't actually change.
Change-Id: Ifd8621e36aab88b6f0740881a6289bc392a0f52f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134841
Reviewed-by: Bob Nystrom <rnystrom@google.com>
CSSStyleDeclaration.getPropertyValue returns a non-nullable string.
It will also return an empty string if the property is not found. Since
getPropertyValue returns the value of the native getPropertyValue, the
null check should be removed.
Change-Id: I9846553d3f9fcd68cbd15b9c39d2104cab594b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136413
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Change-Id: I893d47262947492d743a2079d82d59c0e9e4e1f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136707
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Preexisting comments on multi-line errors modify the length of the error
reported from the analyzer since it includes the comments in between. So
the error length increases every time you run this script, making the
error comments unwieldly.
Change-Id: Iaeab9118710738f3ebf534d85b7fd08be0bf302f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136526
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Found via `brew audit --strict --online dart`
Change-Id: Ib38873f51b169526bf10253422ddf79804930984
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136703
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
In the legacy SDK these two methods in ListMixin take Object, not E.
When I migrated them to NNBD, I changed them to E to match the
declaration of the methods in List. This was an unintended breaking
change.
Fix that by changing them to "Object?", which is the NNBD equivalent of
the declarations in the legacy SDK.
Change-Id: I2a75e9f26a8198e4f51cb32a55055d5e64a69ed1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136412
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Several method bodies did not return a value conditionally or at all.
Change-Id: I01ca87e2e0501597bacb49bcddd10668b59026b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135626
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Sets a threshold of five continuations determining if the old
if-else or the new igoto-based implementation will be used.
Informal benchmarking on x64 and arm_x64 point towards the overhead
of the igoto-based impl. dropping off around this point.
Benchmarks of this CL (threshold=5) show drastic improvement in
Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.
Note: This is a second revision of a CL landed and reverted from:
https://dart-review.googlesource.com/c/sdk/+/133586
The fix for the previous revert was swapping the parameters to
BuildIndirectEntry(int, int) in kernel_binary_flowgraph.cc.
Bug: https://github.com/dart-lang/sdk/issues/37754
Change-Id: If035235ce8aa660af2ea7f8cfbc8066cde6329b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136126
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
This reverts commit 7ed1690b4e.
Reason for revert: Crashes precomp.
Original change's description:
> [SDK] Adds IndirectGoto implementation of sync-yield.
>
> Sets a threshold of five continuations determining if the old
> if-else or the new igoto-based implementation will be used.
> Informal benchmarking on x64 and arm_x64 point towards the overhead
> of the igoto-based impl. dropping off around this point.
>
> Benchmarks of this CL (threshold=5) show drastic improvement in
> Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
> across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.
>
> Bug: https://github.com/dart-lang/sdk/issues/37754
> Change-Id: I6e113f1f98e9ab0f994cf93004227d616e9e4d07
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133586
> Commit-Queue: Clement Skau <cskau@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
TBR=kustermann@google.com,cskau@google.com
Change-Id: Ie212fae88bc1977e34e4d791c644b77783a8deb1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37754
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136125
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
Original change is in Patchset 1. I erroneously assumed DART_PRECOMPILER
was only used AOT compilation (it is also used for JIT snapshots).
Change-Id: I77f6c463db7f2b482c9b098f353dc28f0676ea0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135900
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Sets a threshold of five continuations determining if the old
if-else or the new igoto-based implementation will be used.
Informal benchmarking on x64 and arm_x64 point towards the overhead
of the igoto-based impl. dropping off around this point.
Benchmarks of this CL (threshold=5) show drastic improvement in
Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.
Bug: https://github.com/dart-lang/sdk/issues/37754
Change-Id: I6e113f1f98e9ab0f994cf93004227d616e9e4d07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133586
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Now that they're farther along, there's little need to keep them
separate.
Change-Id: I3dedcf34b97cf5f0645fe429b357a459850d65d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135740
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
This will allow us to see whether any legacy co19 tests are expected
to fail when we unfork the SDK.
Change-Id: If3c1b86a86094e4754e0cff44238edd6d0c5f752
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135623
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
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>
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>
Change-Id: I7a06dbeacbf389ecfb343528652c9ec2ba545745
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: I16f1be4e17fa87aa94b294f281dfe14ea0129eb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134904
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
We have seen scaling issues when processing many pub/sub messages
in cloud functions simultaneously, so we will limit the results messages
from a builder to 1 every 2 seconds.
Change-Id: I31fd9da24d2d5c3bc0afe30b3b165ee65494f29d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135312
Reviewed-by: Alexander Thomas <athom@google.com>
This turns on lib_2, corelib_2m language_2 and ffi_2
Change-Id: I0bf018cde6bfd8fafcf3df5bd40f5560be3cb93e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135361
Reviewed-by: Alexander Thomas <athom@google.com>
This temporarily:
* sets back to opt-out all libraries in the sdk_nnbd folder until
the migration is further along
* changes the bot to use the check_nnbd_sdk script with a different libraries
file that tracks the migration progress.
Change-Id: I096df232d23e2fb41265b6a51c486fb44f9b228c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135221
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
Addresses discrepancies between IDL and template files for some
operations. There's probably more I'm missing since this was
from a cursory check through all the templates.
Change-Id: Id79710b343f4a5fe0b5529f64c341d4f63d69b9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135222
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Fixes tests lib_2/html/event_customerevent_test
co19_2/LibtTest/html/Document/window_A01_t01
JS inline incorrectly uses the converted html name for attributes for
getters. Similarly, dynamics do not need to be marked as nullable as
they are already nullable. This also fixes some of the nullability logic
for conversion input and output.
Change-Id: I77efde95a4e5d52461b3412f8650578e967ca5cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135201
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Optionals were being ignored for some methods and for optionals that
have a default of Undefined or None, they should be marked nullable in
Dart syntax regardless of whether they are in the IDL.
Change-Id: Icc71300dc7d8e06fef640a5ca8d502b093c0580c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134765
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Bug: b/149075352
Event.path should call composedPath if the result of the inline is
True. As it is, it only calls it if the result is null, which is
erroneous.
Change-Id: Idacc9ccddafc4374aca10de84265bf82cfbd0ab9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134887
Reviewed-by: Sigmund Cherem <sigmund@google.com>
This allows us to do both:
tools/build.py -a ia32
and
tools/build.py -a IA32,ARMx64,x64
Also fixes missing arch option in utils.py.
Change-Id: I6f911397dbf52437f5347d41d71cdd3254a29476
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134700
Reviewed-by: Teagan Strickland <sstrickl@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
Auto-Submit: Clement Skau <cskau@google.com>
-Adds field for type nullability for IDL operations
-Adds field for conversions to reflect input and output type nullability
--based on implementation
-Corrects generic object types to include nullability
-Changes 'any' types to dynamics
-Adds nullability to types in various operations
-Converts finals and non-initialized non-nullable fields to getters and
setters
--TODO: convert these to native instead of JS inline
-Modifies nullability for annotations and removes annotations from
setters
Change-Id: Iab19830fd1d7f37b170a4da8672f922c3f9b0863
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132967
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
99th percentile execution time is at 20s, so with twice as many results
we should still be well below the 60s timeout.
This should reduce the likelihood of lock contention on updating the
chunk count resulting in fewer builds failing to get test results.
Change-Id: I4eff0c854ca1fa091431d47017ce995110178e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134331
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
The constructor was wrapping the onData handler to hide the type-mismatch. This
copies the same logic to the onData handler.
In non-nnbd code this code was not exercised. The migration of dart:async
made this code reachable on our tests. That's because Stream.first used to
do:
var subscription;
this.listen(() => ... cancel subscription here, ...)
it now avoids making subscription nullable by registering the onData handler
later:
var subscrition = stream.listen(null, ...);
subscription.onData(() => ... cancel subscription here);
This change fixes the following 6 html tests under nnbd:
html/history_test/history/history
html/transferables_test
html/transition_event_test
html/websocket_test
html/worker_test/functional/functional
html/xhr_test
Change-Id: I095ea8d545e65b047504af0367586884bba84d72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134120
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
We were printing groups of builder names, not configurations
Change-Id: Ia9a6791fbd25939f71a1aa227bc288197c838bd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133991
Reviewed-by: Martin Kustermann <kustermann@google.com>
Turn on the dart:cli tests in the nnbd bot.
Change-Id: I2c521b217300839deb7ad47a820768172b8f0e26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133866
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Several functions did not override their parents' function signatures
correctly for nnbd.
Change-Id: Ibd935ffa39b3175db65bb43d15396134700d2f78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129143
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Copies over the files from tools/dom/src to tools/dom/nnbd_src and
excludes _chrome.
Change-Id: I18c58c0adcbaddc97e72fef6b5e75442c9f5550e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130129
Reviewed-by: Sigmund Cherem <sigmund@google.com>
NNBD will require explicit casts in various locations in the dart:html
libraries. To avoid taking on this overhead in the pre-nnbd dart:html
library, syntax is introduced in the emitter to allow tokens with
arguments.
Test: emitter_test.py
Change-Id: Ie6de714f491e0cda654f33ee389a91b765cacc9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133333
Reviewed-by: Stephen Adams <sra@google.com>
Closes: https://github.com/dart-lang/sdk/issues/40233
This CL creates nnbd versions of the tests and runs them on the nnbd sdk.
This CL does not (1) migrate sdk_nnbd/lib/ffi fully yet, and does not (2) fix all the tests/ffi (which is NNBD tests) yet.
Uncovered new issues:
Issue: https://github.com/dart-lang/sdk/issues/40234 nullptr should have type Pointer<Never>.
Issue: https://github.com/dart-lang/sdk/issues/40247 Structs need external fields.
Issue: https://github.com/dart-lang/sdk/issues/40271 Callbacks hit assert in debug.
Change-Id: Icb1b83577e03ed283165eb17703fc8dfc7fa5960
Cq-Include-Trybots: luci.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-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-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,analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132604
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
This reduces the likelihood of timeouts due to slow tryjob results
processing.
TBR=sortie
Change-Id: I9155c12da286c634394a9bc40d99d6d3bacab85a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133581
Reviewed-by: Alexander Thomas <athom@google.com>
Make the offsets extracted reflect changes in classes that have
fields that do not exist in product mode, since it affects the
entity size.
Change-Id: I0ec277663ba3ddc956ca651ccc0395e39ba185f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133229
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
Some raw objects have fields that do not exist in
dart_precompiled_runtime, making the instance size of such objects
smaller. The offsets extractor should therefore generate different
offsets for the precompiled runtime in order to reflect those
differences.
Change-Id: I367e20744fe5b2f8ffaba03bd19b2c74a422c750
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133064
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
This works on all browsers, in d8, and supports both dartdevk and
dart2js. In the case of dart2js, this also expands minified names and
inlined data.
The result is presented to users as a separate section, so the original
JS stack trace is printed as is, and a second deobfuscated stack trace
is printed afterwards.
Change-Id: I10af5e0241a8c87ad8db48234ce52cfb51a27411
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132966
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Change-Id: I8b9c83e216dd713afeef8a1c1cf93c36c8de3792
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132840
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
- fixes check_nnbd_sdk.dart to run on dart2js patch files
- splits golden file used by that script by target
- adds it to the old-rti bot (until we get the new nnbd bot)
- adds a suite that runs legacy tests in nnbd weak mode
Change-Id: I0a89534dcd1cf7338849d59ab3e5d989d2ecf3d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131885
Reviewed-by: Vijay Menon <vsm@google.com>
Fixing the bug on windows felt more trivial than forking the testbot
configurations to avoid running the test on windows.
Change-Id: Ib4cbe72a226aee0083682197a69b2178eea8bea4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132100
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
This reverts commit dbc23399d4.
Reason for revert: The test crashes on the windows bot which uses the same test configuration as the linux bot.
Original change's description:
> [tests] Copy test for dart:* nnbd static errors to analyzer bot
>
> The DDC bot is no longer triggered on changes to the analyzer package.
> The analyzer team would naturally like to know if they are breaking this test so
> it makes more sense to move it to their bot.
>
> In a discussion with our team we opted to leave the test on our bot as well since
> runs so quickly and makes it easier to notice errors earlier for some of our
> workflows.
>
> Change-Id: I0157fdc5a957239f432a448b546531487895da7d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131717
> Reviewed-by: Paul Berry <paulberry@google.com>
> Commit-Queue: Nicholas Shahan <nshahan@google.com>
TBR=paulberry@google.com,nshahan@google.com
Change-Id: I6a12241b98dcc5120e3f71040091a0baed60bfeb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132024
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Initially, this will just do the build. The dart2js team will add
testing in a separate CL.
Change-Id: If06fb6e639194a4c80d1f2a6f437c76d5bfc029f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131827
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
The DDC bot is no longer triggered on changes to the analyzer package.
The analyzer team would naturally like to know if they are breaking this test so
it makes more sense to move it to their bot.
In a discussion with our team we opted to leave the test on our bot as well since
runs so quickly and makes it easier to notice errors earlier for some of our
workflows.
Change-Id: I0157fdc5a957239f432a448b546531487895da7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131717
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
There were multiple builders using the same unittest-asserts-linux
configuration, which caused confusion on the results feed. Analyzer unit
tests will now use the analyzer-unittest-asserts configuration and
front-end builders will use the cfe-unittest-asserts configuration.
Other front-end builder configurations starting with fasta- are renamed
to start with cfe-.
Before landing this change, the results.json files on the builders will have
duplicate results, showing the current test results under the new configuration
names, added to them. This will avoid "new test" and "new failing test"
messages for the new configurations. These must be added to the results.json
on GCS that is picked up by the first new run, but can safely be added to
earlier ones on GCS as well.
Change-Id: I947814e8c82eef84f79334e6871f1cd3b1d8af0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131821
Reviewed-by: Alexander Thomas <athom@google.com>
* Correct mistake in the named configuration.
* Add missing test directories to the fileset.
* Add configurations for all operating systems (for local testing).
* Avoid duplicate experiments specified by both configuration and test.
* Pass experiment flags also to VM running the batch runner.
Change-Id: I47f2c1b07e91e2f8120a2712ce362689b68e9ce4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130900
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Change-Id: I7769c21c357df9c9d6584638921bcc2afeff8d6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130841
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
Change-Id: I0dc03d6dd58c672c843936dc78fd958608ddef35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130701
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
This CL changes test.dart to
- improve errors reporting with multiple configurations and builders
by tracking the builders for each configuration separately
- improve output of which configurations and which builders are
tested
- fix a missing check for the case that at least one invalid and
one valid configuration was used
- remove a class and some type annotations
Change-Id: If91e3033c3892c39243327101d3017a5f8e710c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130369
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
Change-Id: I72fe74e1052c9c82eaf12e8c510501b037aa00a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130361
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
This change:
* adds the `--use-old-rti` flag to revert to the old behavior
* enables the new behavior by default
* changes the -rti- builders to run the old rti instead of the new rti
* documents the change in CHANGELOG.md
I've kept around the logic as `useNewRti` to avoid swapping all the conditions
in the compiler.
Change-Id: I773ac33b658cb60f72e0b6beef83375abec31bad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127492
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
This continues the work started in https://dart-review.googlesource.com/c/sdk/+/124105
The nnbd mode is now part of the type arguments instantiation cache,
since the resulting vector depends on the mode.
Change-Id: I803c07fa9473024557db8585e87286f16681169a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128307
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Change-Id: I6d95286de986d28dcf54858724fb8394bff5583c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129002
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: If0f6c839ddd0032640f023855f5163368802a794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128700
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
All of these tests are now running under the regular test infrastructure.
The only reason they were created as modular tests was because we wanted more
control over the SDK sources used.
Change-Id: I2ad5aa616ff8bccd10cfac2d49bfaa39ab50c192
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128801
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Newer versions of xcode no longer support the i386 architecture which
caused this builder to fail on macOS.
Change-Id: I02c457b7fe198c0438a5058288dc9116ff598ff8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128580
Reviewed-by: Jonas Termansen <sortie@google.com>
Change-Id: I417a65cd8dd0046e78b9c4dac1079e086e3547b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128408
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Bug: https://github.com/dart-lang/sdk/issues/39627
Lists in a future should be typed with dynamic since they come from JS
interop.
Results from running tools/dom/scripts/go.sh
Change-Id: I4ed37d6f5fa570beef71652dcad17c3bcf7560ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128300
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
It's pretty bare bones right now, but it helps automate some of the
steps.
Change-Id: I64280751870f1cb0d34ac464879c9c0edfc75d1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128280
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
This will be used by the new approval workflow to mark a builder
as succeeded or failed (green or red) on the build console, depending
on approvals.
Change-Id: I47bddb1f964d5f5b7c06923660f86f6eb7a5e247
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125667
Reviewed-by: Jonas Termansen <sortie@google.com>
Also change the script to use gsutil.py, which is usually in the path
because it's in depot tools.
Closes#39672
Change-Id: If434b4ebc4c0cb6054f6eb6d15f85a221a9ab1e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127894
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
The results were sent to pubsub with a num_messages attribute, but
the receiver was expecting it to be called num_chunks.
Change-Id: I924386137006367773bcace91578e3dfedd3763c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127881
Reviewed-by: Alexander Thomas <athom@google.com>
This is the first step in deleting legacy DDC!
* Default all invocations of DDC to run the kernel version.
* Disable all tests that run analyzer DDC.
* Detect the most likely case when invoked with an analyzer
summary and print instruction to update build_web_compilers
dependency.
I will follow up with deletions, and a rename of the test configurations/
builders to reclaim the names (ddc vs ddk, dartdevc vs dartdevk).
Issue #38777
Change-Id: I1477f0274b6b7f345a5e19d2b3f93797c454a09e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127067
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Legacy types are considered equal to their non-nullable variant.
Type hash is modified to be consistent with the new definition.
Change-Id: If90f7f13cf77e519d5b90b57d9dbf4988f71be13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126283
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This was a case missed when fixing #33891, and fixes#36798
Change-Id: I96e177a7d8020635e191d829afdec45f888658a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127500
Reviewed-by: Alan Knight <alanknight@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
The logic only worked on the 'be' branch but if Flutter uses a dev branch hash
they would get a dev release version rather than the hardcoded 2.7.0 version.
Change-Id: I6be3b3a115a10dfb6e2a6d1407d27f96c6d88396
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126823
Reviewed-by: Siva Annamalai <asiva@google.com>
This change updates tools/bots/try_benchmarks.sh to exclude the front_end
testcases directory, which contains very large binary files (186 MB) that
are not needed to run benchmarks. It also fixes the exclusion pattern for
the very large tensorflow language models (116 MB) that moved to another
directory.
While here, also synchronize back the removal of the profile tarball step
which was removed 3 months ago.
Change-Id: I76260eaf8db95d59be3b57eaecc86548c9d21b9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126723
Reviewed-by: Martin Kustermann <kustermann@google.com>
Change-Id: Ib6f63726dea188114131aae0b406c77c59c8f767
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125966
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: I0672163cb355b06dbd970d744955816b6d43ee0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125766
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Currently we bundle only one platform file, which dart2native uses as
well as other tools. Since the platform file has annotations already
evaluated, our AOT compiler ends up including service related
functionality in the AOT snapshot.
This CL bundles the product-mode vm_platform.dill as well, which will
reduce dart2native-created apps slightly.
Change-Id: I223811b30704cde1739739d97a8ea2d34a681292
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125665
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
Normally we consult /proc to determine the host architecture. However, this
reports the actual host architecture, not the QEMU-simulated one.
Also, GDB cannot debug position-independent executables in QEMU, so we disable
PIE when compiling for execution in QEMU.
Pass '--use-qemu' to 'gn.py' to build for QEMU.
Change-Id: Ib125127ceb0582b66754cfc0da22e09d224ee1e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125267
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
I also added a test for top level late variables (they already worked).
Bug: https://github.com/dart-lang/sdk/issues/38841
Change-Id: I6720e6476a067c7f8b21a34b87b23ab14fc866a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125224
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
The goal of this change is to make it possible to start iterating on nnbd tests
for DDC. This keeps the current philosophy of keeping NNBD and non-NNBD build
configurations separate, except that NNBD builds are allowed to consume library
sources from the non-nnbd sdk.
This change addresses the first set of errors that are encountered when trying
to build a fully NNBD configuration:
* CFE has issues with type promotion, for that reason we remove
`--enable-experiment=non-nullable` in vm build rules, and we use a smaller
training data when creating the dartdevc app-jit snapshot.
* We'd hit compile-time errors with nnbd libraries with inconsistent
patchfiles. To avoid that, the libarries.json points to the non-nnbd SDK
sources for most dart:* libraries.
Change-Id: Ie6226b3bd8a92b4a1632dd84a5db2f04238fd4f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125080
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
This change allow builds to succeed on Arch Linux with python 2.7, 3.7.4
and 3.8. Otherwise it fails with python 3.7.4 and 3.8.
- bin_to_assembly.py
Using ord(byte) here is an error on python 3.x use a conditional
expression instead.
- create_archive.py
Using ord(byte) here is an error on python 3.x use a conditional
expression instead.
Use `as inst` syntax which is required by 3.x
- create_string_literal.py
- gen_library_src_paths.py
Use `as inst` syntax which is required by 3.x
- make_version.py
print >> sys.stderr syntax is not supported by 3.x use file=sys.stderr
and add `from __future__ import print_function`
vmhash.update requires a string use encode('utf-8')
versopm+cc+text.replace requires a str so use `decode`.
Test: No added tests as there are no behavioral changes.
Change-Id: Id9b0a3187d06ad2b2dce3cf2244144393caddc9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124211
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This change allows to run test.dart and pkg/test_runner with multiple arguments
for the -n option to run tests for multiple configurations with one invocation.
Change-Id: If62e0bfc364460fa415c7f700f7e449b0de56987
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122395
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
This implements the logic for initializing, getting, and setting
non-final instance fields that have initializers. It doesn't address
statics, finals, local variables, or the no-initializer case, and is
only implemented for bytecode.
Bug: https://github.com/dart-lang/sdk/issues/38841
Change-Id: I3b9e2772abdc04e3bfede56d2fcf06738f234cbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122489
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This CL
* adds a GN flag "include_dart2native" off by-default (switched on explicitly for our GN build)
* ensures every GN build of the "create_sdk" target has a working dart2native (except ia32)
* removes not-working dart2native script from ia32 dart-sdk (no AOT support in ia32)
* removes the "dartaotruntime" GN target, since it is the same as "dart_precompiled_runtime"
This should ensure every downstream consumer of the "create_sdk" GN target will
have a working version of dart2native.
For the particular "dart-sdk" we create on dart-sdk-{linux,windows,mac}
we will override the default AOT compiler&runtime with the product mode,
which produces smaller AOT snapshots and has smaller AOT runtime (making
the native executables significantly smaller)
Change-Id: Ib5042589297cdb055c41dc56abdff86a4612ef5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123724
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
This prolongs the make_version.py hack for Flutter for the 2.7.0 Dart
release.
Change-Id: Ic8324461b195be65a7c3afd3bb34c7f186b29657
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122501
Reviewed-by: Siva Annamalai <asiva@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Previously such shared code was in the front_end package, but that
created problems because there is a lot of code in front_end that
isn't intended to be shared with the analyzer (including, notably, the
dependency on kernel).
This CL just moves over the flow_analysis logic to the new shared
package. Follow-up CLs will move over other shared logic and tests.
The end goal is that the analyzer package will no longer have a
dependency on front_end.
Change-Id: I5642d6565204422d79808ca47648462db85e442a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123624
Reviewed-by: Jens Johansen <jensj@google.com>
- Adds a temporary modular test suite to prevent regressions on NNBD tests.
- New modular tests build the standard SDK with the dart:_runtime library from
the NNBD fork.
- Unblocks DDC development while the forked SDK is in a state that does not
build.
Change-Id: If422f5d19237f9d11e26aad503f1be960b331c57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123541
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
In order to support Dart annotations (available through dart:mirrors),
bytecode options should include 'annotations' flag.
Several lib_2/mirrors tests start to pass on vm-dartkb-*-simarm64
bots after this change.
There are two new failures on vm-dartkb-*-simarm64 bots which matches
the behavior of other bots (due to https://github.com/dart-lang/sdk/issues/39077).
Change-Id: Ie2dcdc66f7ee95b33537294663eaa96014bf881f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122703
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This also removes the now redundant bytecode testing from the dartkb
builders.
Replace the useKernelBytecode boolean option with a more flexible
genKernelOptions string list option.
See also See also https://dart-review.googlesource.com/c/sdk/+/122321/ for the
corresponding Luci config updates.
Change-Id: Iabb207bc02637b758c42c00ae9175bd52f46559f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122320
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Update spec_parser to enable configurableUri in deferred imports,
make cascade syntax compositional, include `extension` declarations,
add `late` as a built-in identifier, and reorder the lexical rules for
single words such that they are grouped into reserved words, built-in
identifiers, and "other words known by the grammar".
Cf. language issue #615, #627, #628, #638.
Change-Id: If60b2ba2ca0e7d4bbc9b4e886857f657fb14c809
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121991
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
- Copy the strong mode subtype test and change the requirement to weak mode.
Later commits will update the test to add extra weak mode expectations.
- Update the normalization tests to run in both modes.
Change-Id: I5ccff181f12756aab003c2e6db43b52ead257b19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122589
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
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>
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>
Change-Id: I5d8b02df2d2dad6b53e6365a9d004bed07f4c59f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122387
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
- Save the canonical instance of a nullable or legacy types on the canonical
instance of the non-nullable type.
- Add additional normalization when creating nullable and legacy types.
Issue: #38109
Change-Id: I1132917965db3b00f87b891a0800da46e2cc6b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122061
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
* Rely on type promotion instead.
* The is! type promotion isn't working in the CFE yet.
Change-Id: Ia4c8b4bcbac50cd0ab07c60f7440ef3837675b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122179
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Some tests in pkg/frontend/test are actually test suites written using the
pkg/testing framework.
This change runs these suites using a custom test runner instead of simply
running the test file, which makes the individual test results, timings and
logs available to the test system.
Change-Id: Iae5f37d9bd1b3e9b26c66443fe10e5cca6a6b6bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118540
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Before, the front_end tests were run in a step disguised as not using test.py so that the test results would not be analzyed and could not be approved.
This CL uses a blacklist instead to prevent approve_results.dart from appoving failures in these tests.
Change-Id: I9c4d1f236e3cde3143e3092100a5553caf4b1487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116781
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Remove shards from builder configuration for now because there is currently only
one test.
Change-Id: I5dcce5601ed46e36b28f9cab9bede1d81c1a42ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121865
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
This change introduces --no-bytecode gn option. Currently it does
nothing, but when bytecode is enabled by default, this option would
disable it. This option is needed to start setting up bots which would
continue testing of no-bytecode mode when bytecode is enabled by default.
Change-Id: I02ac759d8fe8b0b682115dde971fbd59bfbac917
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121822
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
At this time I have a single test in another cl designed to run with the nnbd
fork of the SDK in strong checking mode so I'm creating this single
configuration for that purpose. As I understand, all other tests that do not
require nnbd-strong will be skipped on this configuration.
I can expand this into more configurations when we have more tests coming online.
I don't think it is important to run these on all OS/browsers at the moment.
Issue: #38665
Change-Id: I284691022c1505d8a6e388fbc1b75f0074cc7164
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121652
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Change-Id: Iace87105cf2a1fa4aacc579b07c9760329c7d160
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119420
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
In order to support obfuscation, string constants are decoupled
from public names in bytecode (names are obfuscated, but string
constants aren't). List of protected names is written in a separate
section in bytecode component.
Obfuscator is extended to support getter and setter
names coming from bytecode.
Change-Id: I8e8d820d1a8b97e32e8ad1b064b827bdb017430b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121261
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>