Samir Jindel
e1c159d5fe
[vm/ffi] Add missing sharded library dependency to ffi/data_test.dart.
...
Change-Id: I399882d0911b3e5de86b752048a22e96d2415e3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121420
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-10-11 15:52:37 +00:00
Samir Jindel
4ee5ef9f10
[vm/ffi] Use Pointer<Null> as the type of nullptr.
...
Also clean up test/benchmark/sample code using nullptr and fix pubspec.yaml in the SQLite sample.
Fixes https://github.com/dart-lang/sdk/issues/37362
Change-Id: I6fa0522374af28020ef8f096ac22b23712aedb5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121122
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-11 14:39:47 +00:00
Kallen Tu
5098e90de5
Change subtype check for overrides to handle variance.
...
Part of variance subtyping changes, variance handled in
overriden methods.
Change-Id: I23db9c9f8b91bb2ac5634a909da9cf47416f94cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120625
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-10-10 20:04:47 +00:00
Samir Jindel
8859206dba
[vm/ffi] Remove Pointer.offsetBy.
...
Fixes https://github.com/dart-lang/sdk/issues/35883
Change-Id: Idf4b113d655a6cf7063f1ee7732ddd2001247dee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121124
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-10-10 15:44:27 +00:00
Daco Harkes
cba6c8cc3d
[vm/ffi] Fix high memory addresses on 32 bit
...
Issue: https://github.com/dart-lang/sdk/issues/38789
Change-Id: I3227b77c4953dac6aa8b42326539f565eb28ea84
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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-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-mac-debug-simdbc64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try,dart-sdk-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121125
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-10-10 15:35:47 +00:00
Samir Jindel
63d3012e68
[vm/ffi] Deprecate Pointer.allocate/free.
...
Fixes https://dart-review.googlesource.com/c/sdk/+/118442 .
Also updates untested sample code in samples/ffi.
Change-Id: Id40a7b8fbb35c5d989269646ebb22864cebcfcac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118441
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-10 13:17:43 +00:00
Martin Kustermann
628e0434bd
[vm/ffi] Enable analyzer on ffi test suite
...
Issue https://github.com/dart-lang/sdk/issues/35777
Change-Id: Ia8edd9901d52e671a116c7747319fdadd7da4681
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121060
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-10-10 10:38:36 +00:00
Martin Kustermann
1dbfd1f6bc
[vm/ffi] Add high memory test running in 32-bit configurations
...
Issue https://github.com/dart-lang/sdk/issues/37251
Issue https://github.com/dart-lang/sdk/issues/38789
Change-Id: I80b117fa190673400bdf13264ea292444c369ee1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120960
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-10-10 09:43:27 +00:00
Ryan Macnak
71ecb73a2b
[vm] Fix one MSAN failure; add UBSAN configuration.
...
Change-Id: I5b1d43836f3eb09983195fc3792f369aa3f8079f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120750
Reviewed-by: Chinmay Garde <chinmaygarde@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-10-09 23:38:30 +00:00
Zichang Guo
8866cdb8be
[vm] throw exception if directory buffer overflows on Windows
...
According to https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw ,
When using ReadDirectoryChangesW, buffer overflows will still return true. It ends up closing the stream without any notification.
Throw an exception to notify users.
Bug: https://github.com/dart-lang/sdk/issues/37233
Change-Id: I9aebed8b1f30b5e843ad37a51b87d234aa1d8ce6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119524
Commit-Queue: Zichang Guo <zichangguo@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2019-10-09 19:59:52 +00:00
Johnni Winther
72bae7be70
[cfe] Handle all bounds checks on extension methods.
...
Closes #38755
Change-Id: I3d5449950ecb3268436a3033ae16bac590a1e4b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120790
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-10-09 19:50:02 +00:00
Martin Kustermann
55d1c95e08
[vm] Fix instruction deduplication for bare-AOT mode
...
Though we disable deduplication for instance methods because switchable
calls rely on a unique PC -> Code mapping atm.
Change-Id: I80915e97f5e06c3f1251ea3176d5c4f8413a81ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120041
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-10-09 19:45:42 +00:00
Nate Bosch
2ffdc54d24
Handle exported extensions in dill library builder
...
- Add a modular test to demonstrate the bug.
- Handle `Extension` nodes in `finalizeExports`.
Change-Id: Ie16f0c97059d24a122150a607e26fba258d80cfb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120926
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Nate Bosch <nbosch@google.com >
2019-10-09 18:48:54 +00:00
Alexander Thomas
7a6e62332f
[co19] Prepare to roll from pre-nnbd branch
...
The master branch in the co19 repository is now the NNBD fork. For the
time being, we want to roll the legacy variant into co19_2. At a later
stage, we will also depend on the NNBD fork, but it will likely be a
different suite.
Change the script to use dart/try rather than the legacy bucket format.
TBR=whesse@google.com
Change-Id: I9b43d9d4a49f2cfd16b8be9cca025c6d750cf2bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120781
Reviewed-by: William Hesse <whesse@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
2019-10-09 10:36:57 +00:00
asiva
b12bed36a8
[VM] Implement isExtensionMember in MethodMirror and VariableMirror
...
Added ability to recognize a MethodMirror to be a mirror of an extension member
Added ability to recognize a VariableMirror to be a mirror of a static
extension field.
Change-Id: I56715a491bba0d8cafb2796ebb755bd339e147c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120760
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2019-10-09 00:27:30 +00:00
Kallen Tu
e3ca5ee6ba
Check variance of type-parameter use in supertypes.
...
Tests have both correct and erroneous implementations
of variance.
Change-Id: I49dd76f42399015dd6e3f9688e598c271ce7ab1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119722
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-10-08 21:33:40 +00:00
Leaf Petersen
bb04f145b2
Update CFE expectations for extension method tests.
...
Change-Id: I04662433cb031043714d5ad0a1050a5398b1cf95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120740
Reviewed-by: Bob Nystrom <rnystrom@google.com >
2019-10-08 20:16:39 +00:00
Daco Harkes
ee0b1df4a6
[vm/ffi] Migrate tests/samples/benchmarks to extension methods
...
I used the regex replaces documented on the `load` and `store` deprecated methods.
I manually replaced some `.val` to `.ref` when a regex could not detect whether something was a primitive value or a struct.
Issue: https://github.com/dart-lang/sdk/issues/37773
Change-Id: I3534b6dd00d9ac45fa1a11fe75c80fb3cccc07dc
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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-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-mac-debug-simdbc64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118993
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-10-08 16:49:41 +00:00
Daco Harkes
597cd06aec
[vm/ffi] Pointer load and store as extension methods
...
Issue: https://github.com/dart-lang/sdk/issues/37773
Change-Id: I836d6305b613cf05590d872874f4517831be3e08
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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-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-mac-debug-simdbc64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118992
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-08 16:49:41 +00:00
Daco Harkes
d23c824435
Reland "[vm/ffi] Optimize Pointer operations for statically known types"
...
Original CL in patchset 1.
Fix for simdbc in patchset 4.
Fix for arm32 precompiled in: https://dart-review.googlesource.com/c/sdk/+/120660/
This CL optimizes Pointer operations in hot loops for Pointer<NativeInteger/NativeDouble/Pointer> (not for structs).
Design: go/dart-ffi-pointers-il
It provides roughly a 100x speedup for the FfiMemory benchmark. The next 5x speedup is to get rid of allocations due to `load` and `store` not being inlined.
FFI API is changed to enable optimizations:
* Disable dynamic invocations of Pointer.load / Pointer.store.
* Disallow implicit downcast of argument passed to Pointer.store.
* Stop zeroing out Pointer.address on Pointer.free().
Issue: https://github.com/dart-lang/sdk/issues/38172
Related issues:
Closes: https://github.com/dart-lang/sdk/issues/35902 (Disallowing dynamic invocations of Pointer ops.)
Closes: https://github.com/dart-lang/sdk/issues/37385 (Function variance checking)
Change-Id: I3921a595fd05026d6ca565ace496771d7c1d877b
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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-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-mac-debug-simdbc64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120661
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-10-08 13:04:39 +00:00
Ryan Macnak
d5feab0c53
[vm] Create builds for LeakSanitizer, MemorySanitizer and ThreadSanitizer.
...
Change-Id: I65905ec76fcde8b7f4063cb5b80a3d034b453153
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120323
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Chinmay Garde <chinmaygarde@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-10-07 16:24:22 +00:00
Daco Harkes
0eff6b38a9
Revert "[vm/ffi] Optimize Pointer operations for statically known types"
...
This reverts commit 3712ed27ef .
Reason for revert: Breaks Arm32 precompiled.
Issue: https://github.com/dart-lang/sdk/issues/38737
Original change's description:
> [vm/ffi] Optimize Pointer operations for statically known types
>
> This CL optimizes Pointer operations in hot loops for Pointer<NativeInteger/NativeDouble/Pointer> (not for structs).
>
> Design: go/dart-ffi-pointers-il
>
> It provides roughly a 100x speedup for the FfiMemory benchmark. The next 5x speedup is to get rid of allocations due to `load` and `store` not being inlined.
>
> FFI API is changed to enable optimizations:
>
> * Disable dynamic invocations of Pointer.load / Pointer.store.
> * Disallow implicit downcast of argument passed to Pointer.store.
> * Stop zeroing out Pointer.address on Pointer.free().
>
> Issue: https://github.com/dart-lang/sdk/issues/38172
>
> Related issues:
> Closes: https://github.com/dart-lang/sdk/issues/35902 (Disallowing dynamic invocations of Pointer ops.)
> Closes: https://github.com/dart-lang/sdk/issues/37385 (Function variance checking.)
>
> Change-Id: I96058d8b5b49052eb6999f084372e6f08b4f6f17
> 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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117547
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Martin Kustermann <kustermann@google.com >
TBR=kustermann@google.com ,sjindel@google.com ,dacoharkes@google.com
Change-Id: I3b7923ace45beaa9f99119e9ea20c1e52b429ad8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/38172
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-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-x64-try, vm-kernel-win-debug-ia32-try, vm-dartkb-linux-debug-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-dartkb-linux-release-x64-abi-try, vm-kernel-precomp-android-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120582
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-10-07 11:50:43 +00:00
Daco Harkes
3712ed27ef
[vm/ffi] Optimize Pointer operations for statically known types
...
This CL optimizes Pointer operations in hot loops for Pointer<NativeInteger/NativeDouble/Pointer> (not for structs).
Design: go/dart-ffi-pointers-il
It provides roughly a 100x speedup for the FfiMemory benchmark. The next 5x speedup is to get rid of allocations due to `load` and `store` not being inlined.
FFI API is changed to enable optimizations:
* Disable dynamic invocations of Pointer.load / Pointer.store.
* Disallow implicit downcast of argument passed to Pointer.store.
* Stop zeroing out Pointer.address on Pointer.free().
Issue: https://github.com/dart-lang/sdk/issues/38172
Related issues:
Closes: https://github.com/dart-lang/sdk/issues/35902 (Disallowing dynamic invocations of Pointer ops.)
Closes: https://github.com/dart-lang/sdk/issues/37385 (Function variance checking.)
Change-Id: I96058d8b5b49052eb6999f084372e6f08b4f6f17
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-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117547
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-07 09:23:54 +00:00
Kallen Tu
9461df2084
Language tests for variance modifiers.
...
These test basic correct usages of variance modifiers in fields
and methods.
Erroneous usages will come in a future CL, as well as more complex
examples + subclassing.
Change-Id: I05d547ac1db9e22235a0bf64b05fcb3e119e3157
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119169
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2019-10-05 01:18:42 +00:00
Leaf Petersen
7486512634
Update CFE expectations for extension method tests.
...
Change-Id: I673f5187d74cddfe2f2e54774a713713a137b081
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120025
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-10-04 17:55:26 +00:00
Mark Zhou
26b1aca71e
[dartdevc] Canonicalizing partial instantiation constants
...
Fixes #38703
This fixes the last whitelisted DDK test.
Change-Id: I1fd79c2bc361b2a4bf7fce60a406be521408024b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119921
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Commit-Queue: Mark Zhou <markzipan@google.com >
2019-10-03 20:45:13 +00:00
Samir Jindel
b2bf860e56
[vm/ffi] Fix FfiCall on ARM_X64.
...
Fixes https://github.com/dart-lang/sdk/issues/38690
Change-Id: I597361ed611885bcf93584a76f8baaf1108e7026
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119940
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-03 18:51:33 +00:00
Sigmund Cherem
33494de2f9
(ddk modular test) exclude sources from dill files.
...
This fixes the issue we had with shared/diamond depedencies. This also matches
more closely how DDK is invoked internally and externally.
While the change to use `--dart-sdk-summary` is not necessary, this brings the
API closer to how it is used elsewhere. It should be cleaned up in the future to
reuse the `--input-summary` flag instead.
Change-Id: Iec3695b5541ffaf7f5762a3d77f071a596237da1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119723
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2019-10-02 22:22:11 +00:00
Dmitry Stefantsov
bdf6b9505e
[cfe] Ask for subtype checking mode explicitly
...
The interpretation of the subtype check result depends on the mode. In partial
NNBD mode all type errors that wouldn't be errors in non-NNBD programs should
become warnings. In full NNBD mode all such errors are errors. This CL adds
the mode explicitly to the interface of the subtype check as a parameter.
Bug: http://dartbug.com/38673
Change-Id: I14bcdd260618530cfdd8189c01abba7469a16679
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119545
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-10-02 11:30:29 +00:00
Liam Appelbe
26c49d5578
[vm] Wasm memory exports, and emscripten hello world
...
I got the hello world wasm file from the emscripten team and got it
running using a fake implementation of WASI's fd_write function. This
necessitated adding support for memory exports.
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I139a4e868d437e2232bf4260e5cc26d8c598ac2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119061
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-10-01 18:19:56 +00:00
Nicholas Shahan
036c404076
[dartdevc] Copy subtype test into modular framework
...
Create ddc only modular test suite. Serves as the base for upcoming diffs adding
NNBD tests.
Change-Id: I03364a63074173f203a1aee7ef7ae4d6f1be90eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119485
Reviewed-by: Mark Zhou <markzipan@google.com >
Commit-Queue: Nicholas Shahan <nshahan@google.com >
2019-10-01 17:33:06 +00:00
Daco Harkes
1103600280
[vm/ffi] Fix --enable-ffi=false test and bytecode pipeline
...
Closes: https://github.com/dart-lang/sdk/issues/38591
Change-Id: Ice3d7bb2502ef275e7ff65e7ada369111632fdea
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119323
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-10-01 15:17:52 +00:00
Karl Klose
16bb96aa25
[infra] Remove non-essential test expectations with comments from general status files
...
Change-Id: I8aa918b4065eaa9ae8e4501c6a77328659784f9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114848
Commit-Queue: Karl Klose <karlklose@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
2019-10-01 06:18:59 +00:00
Ryan Macnak
8a5e2a688b
[vm, compiler] Consistently produce OutOfMemoryErrors for large variable-length object allocations.
...
Bug: https://github.com/dart-lang/sdk/issues/38575
Change-Id: I3f93488511519ac1dca04f91465efad3d2a0c66d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118886
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
2019-09-30 20:19:03 +00:00
Aart Bik
5f32afdd4c
[vm/compiler] patch up push arguments in environment
...
Rationale:
My great friends PushArguments again! During OSR, the replacement
of a lost PushArgument (due to having this on the expression stack
while OSRing) must also be reflected in the environment. Why? This
is used for the stack depth bookkeeping. Note that I added some logic
for this less-than-obvious assumption in the flow graph checker to
make sure we don't fall into this trap again (currently only for
instance methods, since the IR is not clean for the others, that
is yet TBD). With regression test!
https://github.com/dart-lang/sdk/issues/38412
https://github.com/dart-lang/sdk/issues/38577
https://github.com/dart-lang/sdk/issues/38602
Change-Id: I8e4ff67e3e0926ff3ee6b6ac0af05f7ea0dc5ea1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118913
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2019-09-30 20:05:53 +00:00
Johnni Winther
dd028547ce
[cfe] Support patching of extension methods
...
Change-Id: I453e17e63f97a0ca2477371541c6a9602bee2404
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119322
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-09-30 09:51:31 +00:00
Liam Appelbe
6da8c39c5a
[vm] Small WasmImports API change, and more WASM error tests
...
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I3044d588398ccb19e3ebcebe6cd506b047a37857
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118601
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-09-27 23:36:11 +00:00
Liam Appelbe
d2a0900a50
Reland "[vm] Wasm function imports"
...
This reverts commit a7cb8ee88b .
Reason for revert: Fixed the crash
Original change's description:
> Revert "[vm] Wasm function imports"
>
> This reverts commit 7a24aec8f4 .
>
> Reason for revert: debug-mode gen_snapshot crashes on all programs
>
> Original change's description:
> > [vm] Wasm function imports
> >
> > Bug: https://github.com/dart-lang/sdk/issues/37882
> > Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
> > Commit-Queue: Liam Appelbe <liama@google.com >
> > Reviewed-by: Ryan Macnak <rmacnak@google.com >
> > Reviewed-by: Alexander Markov <alexmarkov@google.com >
>
> TBR=rmacnak@google.com ,alexmarkov@google.com ,liama@google.com
>
> Change-Id: Ib5d348e25854af010b1d8a64a87406da443981df
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/dart-lang/sdk/issues/37882
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119143
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Commit-Queue: Samir Jindel <sjindel@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,sjindel@google.com ,liama@google.com
Change-Id: I4fd073a087eae7bb95c75079446d9111e7bc8c40
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119168
Reviewed-by: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-09-27 21:29:12 +00:00
Liam Appelbe
4aa10d0aeb
Skip all dart:wasm tests
...
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I8f6c3f9b8d69a43ef6382a3d07579ea14d335c35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119173
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-09-27 21:12:32 +00:00
Johnni Winther
05fb7d80dc
[cfe] Update test expectations in static_extension_internal_name_conflict_error_test
...
Change-Id: Iab47b7aa3a493f5aeeed9c58c6b7067ebcdcf068
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119141
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-09-27 18:30:24 +00:00
Samir Jindel
a7cb8ee88b
Revert "[vm] Wasm function imports"
...
This reverts commit 7a24aec8f4 .
Reason for revert: debug-mode gen_snapshot crashes on all programs
Original change's description:
> [vm] Wasm function imports
>
> Bug: https://github.com/dart-lang/sdk/issues/37882
> Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
> Commit-Queue: Liam Appelbe <liama@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,liama@google.com
Change-Id: Ib5d348e25854af010b1d8a64a87406da443981df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119143
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-09-27 12:22:58 +00:00
Liam Appelbe
7a24aec8f4
[vm] Wasm function imports
...
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-09-26 22:08:12 +00:00
Johnni Winther
ee7aae43c0
[cfe] Handle explicit extension index access
...
+ avoid implicit extension for [] or []= when the other is defined on
the receiver.
Change-Id: I99c76a66bfb4f72c396097b2f347aad9f0a42f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118940
Reviewed-by: Jens Johansen <jensj@google.com >
2019-09-26 10:36:51 +00:00
Kallen Tu
c3bbd6a247
Added parser recovery for multiple variance modifiers.
...
New error message for multiple variances and will handle recovery from
more than one variance modifier before a parameter.
Change-Id: I63ed8a7f04dd664e20d72b632b40f723aa43020f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118621
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-09-25 17:12:06 +00:00
Johnni Winther
b03d472e4c
[cfe] Handle default values on extension methods
...
Closes #38541
Change-Id: I078800cc98b5444c2c7f6f87b2d89bcf764bfc23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118582
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-09-25 08:45:27 +00:00
Johnni Winther
f2743fceee
Fix language_2/extension_methods/basic_static_extension_test
...
Change-Id: Idd586013ac8bf0a09209bce738f290c03df806b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118560
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-09-25 07:30:17 +00:00
Liam Appelbe
0fe9634425
Skip wasm tests on dart2js
...
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: Iceccc5805bcdadf003d8e753c7f86f915d72bf39
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118662
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-09-25 00:48:43 +00:00
Aart Bik
78bd9f17a1
[vm/compiler] keep stack depth per block in stack IR
...
Rationale:
This simplifies finding the proper stack depth while
traversing the entries in the DOM tree during OSR.
Also enables asserting stack integrity on all paths
(OSR and non-OSR) more rigidly.
https://github.com/dart-lang/sdk/issues/38459
https://github.com/dart-lang/sdk/issues/38436
https://github.com/dart-lang/sdk/issues/38434
Change-Id: I3bc43def081013357e9a765e9e03fffe4c72dc6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118473
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2019-09-24 21:33:01 +00:00
Liam Appelbe
fd0a89971c
[vm] More wasm cleanup
...
Fix some VM/native transition issues, and add a describe() function that
prints all the imports and exports of a module.
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I68a8860857c3fcb37c49a9e92731629a13fd9449
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118363
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-09-24 21:24:57 +00:00
Kallen Tu
89220fd812
Variance Parsing and Syntax Support
...
With the experiment flag on, will properly parse the `in`/`out`/`inout`
keywords. Without it, will issue an error regarding the flag. First CL
for parsing, syntax support, no AST work yet.
Keywords only parse correctly for classes and mixins.
See test `variance_disabled_syntax_test.dart`.
Change-Id: I37d765804fa0752512abf52fa44456a173087ef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117929
Commit-Queue: Kallen Tu <kallentu@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2019-09-24 17:21:39 +00:00