Martin Kustermann
51bc367806
[VM/AOT] Ensure we set flags from snapshot very early in the VM initialization
...
There are uses of flags before the VM snapshot gets read, so we need to
move the "snapshot sniffing" code to the very beginning of Dart::Init().
Due to the fact that FullSnapshotReader/Deserializer assume there is a
[Thread] available - and we don't have a [Thread] yet when we should
process the flags - this CL moves version/feature logic into a new
[SnapshotHeaderReader] class which does not depend on Thread/...
Change-Id: I38a45041f0696b96e44fc2b294e3442a5fba1a81
Reviewed-on: https://dart-review.googlesource.com/c/90941
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-01-25 10:31:48 +00:00
Samir Jindel
85515884c2
[vm] Fix inference of shifts' RHS in range analysis for nullable SMIs.
...
Change-Id: I9b84c751b7a148ec9c0196b99dd78ab8f70ee66c
Reviewed-on: https://dart-review.googlesource.com/c/90225
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2019-01-22 11:44:24 +00:00
Régis Crelier
38a7f0097f
[vm/finalizer] Stop background compiler before sorting classes.
...
Prevent background compiler from adding deferred classes or canonicalizing
new types while classes are being sorted and type hashes are modified.
This should fix issue #34627 and its duplicate #35690 .
Change-Id: I3e52602e77ad6b80b58f5292721c01eea22abfb0
Reviewed-on: https://dart-review.googlesource.com/c/90300
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-01-18 23:08:21 +00:00
Martin Kustermann
cf24135753
[Gardening] Skip vm/dart/bare_instructions_trampolines_test on android
...
Change-Id: I406755f6e7519593711c737cf0d1bd8fb4cfa023
Reviewed-on: https://dart-review.googlesource.com/c/90041
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
Auto-Submit: Martin Kustermann <kustermann@google.com >
2019-01-17 15:56:34 +00:00
Martin Kustermann
16ddc23a57
[VM/Compiler/AOT] Bare instructions 7: Trampolines for out-of-range calls
...
This CL adds support to the ImageWriter to write opaque blocks of
trampoline bytes
The AOT code relocator is adapted to allow limited range calls and
inserts trampolines if need be. The algorithm tries to minimize the
number of trampolines added, which for small applications will be 0.
The unconditional pc-relative calls have limited range:
* on ARM (+/-32 MB)
* on ARM64 (+/-128 MB)
To avoid verbose code for doubly-linked list, this CL adds double_list.h
Issue https://github.com/dart-lang/sdk/issues/33274
Change-Id: I0354cf4b2dd58ed5de25d67fc818f0603a2ec501
Reviewed-on: https://dart-review.googlesource.com/c/89283
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-01-17 12:32:38 +00:00
Samir Jindel
b58e8d7307
[vm] Use TFA to remove explicit type-checks (including keyword-covariant parameters).
...
- Also allow using the unchecked entry-point for invocations of generic functions where
there are no bounds or the bounds don't require dynamic checks.
Change-Id: I6ca1ebec777ecf2989c4fb77425d65d542d5adf2
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/87181
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-01-08 08:36:58 +00:00
Stevie Strickland
38829df284
[VM/Compiler] Fix binds replaced with statements.
...
In some cases, we could replace a binding instruction like a
InstanceCall with a subgraph that would end with a non-binding
instruction like a StoreInstanceFieldExpr. When the inliner attempted
to replace the uses of the former, the lack of an SSA temp in the latter
would cause weird results.
Change the code to check that the new replacement has an SSA temp, and
if it doesn't, use the temp assigned to the null constant in the flow
graph.
Closes https://github.com/dart-lang/sdk/issues/35481
Change-Id: Id90717b6a906703fb442f9cd0cacc3bc14fb4887
Reviewed-on: https://dart-review.googlesource.com/c/88321
Commit-Queue: Stevie Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-01-03 13:11:36 +00:00
Régis Crelier
a94137136f
[vm] Propagate failure to instantiate bogus signature to optimizing compiler.
...
This is a follow up to change https://dart-review.googlesource.com/c/sdk/+/87500
The regression test is expanded to cover the new case.
Unrelated change: properly recognize TypeRef as function type.
Change-Id: Ibfb4c18825f70433766a1151f087db5fab52a1ca
Reviewed-on: https://dart-review.googlesource.com/c/87704
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2018-12-19 21:47:34 +00:00
Régis Crelier
8535d0641a
[vm] Workaround for failure to instantiate bogus type in optimizing compiler.
...
This temporarily fixes issue 35432, but a more permanent fix should be applied
to the optimizing compiler.
Change-Id: Ibb43b180ea74f2693c48128e90badbb6b411f5b5
Reviewed-on: https://dart-review.googlesource.com/c/87500
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-12-18 18:13:50 +00:00
Vyacheslav Egorov
2e3788898a
[vm] Remove Dart_CreateNativeWrapperClass API.
...
This API does not work in CFE world because CFE does not see classes
created dynamically.
Fix UseDartAPI benchmark that was using this API and was broken as a result.
Change-Id: If691373d32ac5b8ff23e350ce2eb5ed44045b1f1
Reviewed-on: https://dart-review.googlesource.com/c/87183
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Auto-Submit: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2018-12-14 15:25:53 +00:00
Samir Jindel
ae3a33bd79
[vm/aot] Fix issues with multiple entry-points.
...
- We can now skip checks on tearoffs of functions called only via tearoffs.
- We don't always insert a check when intrinsifying the an unchecked call to set indexed.
- We only build the unchecked entry-point of regular methods when inlining to reduce code size.
Change-Id: I2e6a647409130385cda03906e734a3c161d56ab4
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try, vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/86562
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-12-13 16:13:50 +00:00
Martin Kustermann
f9e5cfe07a
[Gardening] Remove flakyness marker for dart/appjit_determinism_test
...
Issue https://github.com/dart-lang/sdk/issues/35092
Change-Id: I84a3a79953e7b1d7d658712117fed092ccf45f69
Reviewed-on: https://dart-review.googlesource.com/c/87071
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Auto-Submit: Martin Kustermann <kustermann@google.com >
2018-12-13 11:14:55 +00:00
Samir Jindel
921e62f1bf
[vm] Introduce multiple entrypoints to AOT.
...
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try, vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-win-release-x64-try
Change-Id: I8643033febf9bdc57c8298dca5f43346fb8bf6d1
Reviewed-on: https://dart-review.googlesource.com/c/80304
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-12-07 13:19:24 +00:00
Samir Jindel
96dda6a516
Re-land "[vm/aot] Fill in names of properties in snapshot profile."
...
This reverts commit dc346e6fdd .
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Change-Id: I1b9181683757cf47f917274d21c8fc1c463218c7
Reviewed-on: https://dart-review.googlesource.com/c/85709
Commit-Queue: Samir Jindel <sjindel@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-12-03 19:11:42 +00:00
Alexander Aprelev
dc346e6fdd
Revert "[vm/aot] Fill in names of properties in snapshot profile."
...
This reverts commit 465f8595ec as it
breaks windows and mac bots.
Change-Id: I94a939d711f69a28f405ee32680315ad6677b09e
Reviewed-on: https://dart-review.googlesource.com/c/85722
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2018-11-30 19:52:23 +00:00
Samir Jindel
465f8595ec
[vm/aot] Fill in names of properties in snapshot profile.
...
Change-Id: Ic709a3dc40390463ffb5fd76fd8eb63ebd87acc0
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/85292
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-30 18:38:05 +00:00
Vyacheslav Egorov
040ef6aabb
[gardening] Lower core rlimit to 0 if test is expected to crash.
...
We do not archive core dumps generated by tests that are expected
to crash - so there is no need to generate those dumps.
It seems that generating core dumps is very slow on Mac and causes
timeouts.
Fixes #35275
Remove Timeout expectations from Crashing tests
Change-Id: I36c89fd583a6a94521560544163f02414cbbf41a
Reviewed-on: https://dart-review.googlesource.com/c/85680
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2018-11-30 11:15:06 +00:00
Martin Kustermann
d93c19acb9
[Gardening] Update status file to extend test markers from Crash to Timeout (on MacOS)
...
Issue https://github.com/dart-lang/sdk/issues/35275
Change-Id: I95f72ab6eb2736c90c1b6bfe193f3c6410c8b83a
Reviewed-on: https://dart-review.googlesource.com/c/85560
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-29 11:12:54 +00:00
Régis Crelier
a3874044e7
[gardening] Restrict timeout status to MacOS.
...
This modifies recent commit 25262fe9 .
Change-Id: I19f8bc5bcefacbf761479869f79140702c37305b
Reviewed-on: https://dart-review.googlesource.com/c/85464
Auto-Submit: Régis Crelier <regis@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-11-28 00:47:52 +00:00
Régis Crelier
25262fe9b3
[gardening] Tests already marked as crashing or failing sometimes also time out.
...
Change-Id: I6bdbc45f5ec38789e6e5e830e89a8218fc098466
Reviewed-on: https://dart-review.googlesource.com/c/85414
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-11-27 21:02:30 +00:00
Ryan Macnak
e24b3b7772
[test] Further debugging for appjit_determinism_test.
...
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: Icbd9fcf74cdb25930a2ab0d5c428646543271206
Reviewed-on: https://dart-review.googlesource.com/c/85423
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-26 22:18:05 +00:00
Samir Jindel
60d6ca0de7
[vm] Fix v8_snapshot_profile_writer_test on Mac.
...
Change-Id: Iab5fd7f839b0af3eb0372cc62e2238370a48966c
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-mac-release-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/85220
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-23 18:00:45 +00:00
Vyacheslav Egorov
92d2a70a9a
[gardening] Update v8_snapshot_profile_writer_test status for dartkp-mac-release-simarm64
...
Change-Id: Ibe9f07012adf9c9bebd1f045047752fcaed69ee1
Reviewed-on: https://dart-review.googlesource.com/c/85283
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-23 13:09:25 +00:00
Samir Jindel
4a641a69fc
[vm] Update status file for v8_snapshot_profile_writer_test.
...
Marking this as failing while I work on a solution.
Change-Id: Ifb0ddc1c05cf48d8f8301e2e0b59db68e788cdf3
Reviewed-on: https://dart-review.googlesource.com/c/85221
Reviewed-by: Samir Jindel <sjindel@google.com >
2018-11-22 19:41:18 +00:00
Samir Jindel
cde4270e47
Re-land "[vm/aot] Snapshot size analysis."
...
Minor fixes have been applied, see diff against patchset 1.
This reverts commit 9b937f1226 .
Change-Id: I8e4bbc0b88e33d3b554e91c17d1f849e24a1ccb3
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-win-product-x64-try, vm-kernel-precomp-win-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/84845
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2018-11-22 15:14:46 +00:00
Martin Kustermann
ad7fbb6dd7
[VM] Fix flow graph builder to not generate different code in unoptimized/optimized mode
...
Change-Id: I752be6bd97dcd892ea6ba5d7fdd30575d4cee489
Reviewed-on: https://dart-review.googlesource.com/c/84720
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-22 14:05:47 +00:00
Ryan Macnak
be670f0362
[test] Update status files for tests with code objects newly-passing on 64-bit Windows.
...
Change-Id: I155a7e2ad338cb9a9aadf4a7699cf163c490112c
Reviewed-on: https://dart-review.googlesource.com/c/84836
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-20 01:25:08 +00:00
Zach Anderson
9b937f1226
Revert "[vm/aot] Snapshot size analysis."
...
This reverts commit 06c89287b9 .
Reason for revert:
- Failure of v8_snapshot_profile_writer_test on vm-kernel-precomp-android-release
- many failures on windows precomp (?)
- link failures in windows product builds.
Original change's description:
> [vm/aot] Snapshot size analysis.
>
> Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try
> Change-Id: Ie5d5d9f0f064f2c9ef8b7c9a0537b1e633bf8175
> Reviewed-on: https://dart-review.googlesource.com/c/84425
> Commit-Queue: Samir Jindel <sjindel@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=vegorov@google.com ,rmacnak@google.com ,sjindel@google.com
Change-Id: I461f06236f27bb5c6548bd08f4b73507d1b913fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/84860
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-11-19 22:29:09 +00:00
Samir Jindel
06c89287b9
[vm/aot] Snapshot size analysis.
...
Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try
Change-Id: Ie5d5d9f0f064f2c9ef8b7c9a0537b1e633bf8175
Reviewed-on: https://dart-review.googlesource.com/c/84425
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-19 20:29:05 +00:00
Ryan Macnak
1a890ff07d
[test] Dump symbol and type tables in determinism test.
...
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: I0647d8e4fe14a3ea19298dbe8b839f2db28755ab
Reviewed-on: https://dart-review.googlesource.com/c/84685
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-19 19:03:38 +00:00
Ryan Macnak
bea7be00e1
[test] Check for determinism from the kernel compiler.
...
Fix leak when generating incremental kernel files.
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: Iaa112150501dd17d943a3747db3cacd2ee4464d2
Reviewed-on: https://dart-review.googlesource.com/c/84301
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-11-14 01:30:43 +00:00
Daco Harkes
4609fab2cc
Revert "[test] Check for determinism from the kernel compiler."
...
This reverts commit a571855c8b .
Reason for revert: ASAN reports memory leak
Original change's description:
> [test] Check for determinism from the kernel compiler.
>
> Bug: https://github.com/dart-lang/sdk/issues/35092
> Change-Id: I405943d47699948665606bc88d3b82e9c899e3d8
> Reviewed-on: https://dart-review.googlesource.com/c/84060
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,asiva@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: I2e494157d7795b3ae3918dfeae66702423217f5d
Reviewed-on: https://dart-review.googlesource.com/c/84029
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2018-11-12 11:49:50 +00:00
Ryan Macnak
a571855c8b
[test] Check for determinism from the kernel compiler.
...
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: I405943d47699948665606bc88d3b82e9c899e3d8
Reviewed-on: https://dart-review.googlesource.com/c/84060
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-10 00:21:59 +00:00
Ryan Macnak
801c64f907
[test] Debugging aids for low probability flakes in appjit_determinism_test.
...
Bug: https://github.com/dart-lang/sdk/issues/35092
Change-Id: I7c487247be600c03e333f4200851da3b00d01515
Reviewed-on: https://dart-review.googlesource.com/c/83521
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-08 01:39:02 +00:00
Ben Konyi
fbe3b1ebc0
Reland "[ VM / Mirrors ] Added type checking to enforce strong mode semantics when using dart:mirrors"
...
Was reverted to temporarily fix issue #35009 for 2.1.
This reverts commit 65ffd0f7190f04dd0a8f94b7941e1ab706b0b084.
Change-Id: I71fe094b24f882cd942634557c9c43af06058842
Reviewed-on: https://dart-review.googlesource.com/c/83226
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-11-06 23:59:29 +00:00
Ben Konyi
9c95624a63
Temporary revert to fix issue #35009 for 2.1. package:rpc relies on mirrors behaviour that is not valid for Dart 2, so these type checks cause the package to crash.
...
Revert "[ VM / Mirrors ] Added type checking to enforce strong mode semantics when using dart:mirrors"
This reverts commit 9f00eec55b .
Change-Id: I82ce07d388ba9402f20caf700815b39c9bc418f6
Reviewed-on: https://dart-review.googlesource.com/c/83225
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-11-06 23:59:11 +00:00
Ryan Macnak
e89aeb0352
[vm] Fix profiler tests.
...
Bug: https://github.com/dart-lang/sdk/issues/31137
Bug: https://github.com/dart-lang/sdk/issues/33224
Bug: https://github.com/dart-lang/sdk/issues/33337
Bug: https://github.com/dart-lang/sdk/issues/34493
Change-Id: Iedf6eb71416e50129803f7f9ebd7e2036c7583ef
Reviewed-on: https://dart-review.googlesource.com/c/82528
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-05 18:26:02 +00:00
Martin Kustermann
ffbf6b9e61
[Gardening] Mark vm/dart/appjit_cha_deopt_test as slow in debug mode
...
Change-Id: I169ac1a39512f1050819270146d27ec92c95b9f1
Reviewed-on: https://dart-review.googlesource.com/c/82443
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
Auto-Submit: Martin Kustermann <kustermann@google.com >
2018-11-01 13:34:49 +00:00
Samir Jindel
e23acaaf90
[vm/aot] Fix obfuscation.
...
Test Plan:
Make vm-kernel-precomp-obfuscate-linux-release-x64-try green, ensuring status file changes
reflect design gaps and not bugs.
Tested locally that obfuscated Flutter Gallery runs.
Change-Id: Ifcdc334de58f43c310e15b58dbcf6fe1597206f2
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-obfuscate-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/81009
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-26 13:00:33 +00:00
Vyacheslav Egorov
ad60d37dff
[vm] Handle null receiver at call sites that track type exactness
...
Fixes https://github.com/dart-lang/sdk/issues/34755
Bug: 34755
Change-Id: Ic7a32c8628d8c90fe10b6ca92fb2016f41b29c1d
Reviewed-on: https://dart-review.googlesource.com/c/81417
Auto-Submit: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2018-10-25 17:38:44 +00:00
Samir Jindel
d11b74d1f3
[vm] Use unchecked entry-point for super calls.
...
Change-Id: Ie1abd050203f2d9806ebeedbec47292892fc9b0e
Reviewed-on: https://dart-review.googlesource.com/c/79960
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-25 12:48:09 +00:00
Martin Kustermann
8300248edb
[VM] Ensure inferred types are set on parameters
...
Now parameter instructions are part of FunctionEntry/OsrEntry/CatchEntry
instead of GraphEntry.
Change-Id: I27338aaf1d2a9cc3ca61a3817bbb929d0ea6627c
Reviewed-on: https://dart-review.googlesource.com/c/80201
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-16 16:09:48 +00:00
Vyacheslav Egorov
2495e2e951
[vm] Silence output from kernel::Program::ReadFromFile.
...
It is used by hot-reload to check if a file is a kernel binary - so it makes
no sense to output failures to the stderr.
Change-Id: Ie2ebd5ff47990eec950550e333a41aaf5f8d7973
Reviewed-on: https://dart-review.googlesource.com/c/80224
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
Auto-Submit: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2018-10-16 14:49:01 +00:00
Zach Anderson
dea6c97a08
[vm] A couple more benchmark for kernel loading
...
One that measures the two existing benchmarks together, and one that
measures max RSS.
Change-Id: I2c8e383c1e7f38ea8010f3bd6a4bcbcacb999069
Reviewed-on: https://dart-review.googlesource.com/c/79822
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-10-15 18:57:27 +00:00
Martin Kustermann
06f9a9e354
[VM] Introduce function and osr entrypoints to the VM's IR
...
Similar to how we treat catch entry instructions, this cl adds new
function and osr entry instructions. The [FunctionEntry] and
[OsrEntry] - just like [CatchBlockEntry] - have now their own initial
definitions. The [GraphEntry] has only initial definitions for
constants.
Explicit phis are inserted for all parameter / special parameter
instructions if necessary.
Future work is:
a) Minimize parallel moves due to the phis on parameters
b) Cleanup frame setup: Move it entirely into FunctionEntry/CatchEntry
(instead of the split version we have now)
Fixes https://github.com/dart-lang/sdk/issues/34435
Fixes https://github.com/dart-lang/sdk/issues/34287
Change-Id: Iefa0280a709716f748d6fb0523b8d0f4d8de1fec
Reviewed-on: https://dart-review.googlesource.com/c/74782
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-15 13:02:51 +00:00
Ben Konyi
9f00eec55b
[ VM / Mirrors ] Added type checking to enforce strong mode semantics when using dart:mirrors
...
Fixes issue #32232
Change-Id: Id6c9ea8e72bb66c77a2817f20c33bb405cb4c310
Reviewed-on: https://dart-review.googlesource.com/c/79081
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Auto-Submit: Ben Konyi <bkonyi@google.com >
2018-10-13 16:27:40 +00:00
Alexander Markov
97ffcd9a3d
[vm] Disable incorrect widening of smis to int32
...
The optimization of widening smi operations to int32 does not account
for uses which depend on the range of operation (e.g. BinarySmiOp
which uses the result of widened operation becomes incorrect).
Closes https://github.com/dart-lang/sdk/issues/32619
Change-Id: Ia419c7bbec93679a5cdd1d16ffa3f51824fc08bb
Reviewed-on: https://dart-review.googlesource.com/c/47661
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-11 18:13:42 +00:00
Ryan Macnak
235a918233
[vm] Remove Dart_LoadScript, Dart_LoadLibrary, Dart_LoadSource, etc.
...
Change-Id: I9c19625702f1df48c03de2eb3a0f7bb581d2e0b3
Reviewed-on: https://dart-review.googlesource.com/c/79140
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-10-11 00:38:37 +00:00
Ryan Macnak
b8760fed67
[vm, compiler] Remove ASTs and AST flow graph builder.
...
Change-Id: I4d3c6500577d5285ced327954040dab42ba92341
Reviewed-on: https://dart-review.googlesource.com/c/78823
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-10-10 18:00:21 +00:00
Martin Kustermann
ecd13de9da
[Gardening] Mark slow_path_shared_stub_test as slow (reaches 1 minute on windows)
...
Change-Id: Ibcfa6869f22d546055dcafee6fccd67758ce754b
Reviewed-on: https://dart-review.googlesource.com/c/78980
Reviewed-by: Martin Kustermann <kustermann@google.com >
Auto-Submit: Martin Kustermann <kustermann@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-10-10 09:55:07 +00:00