Commit Graph

7 Commits

Author SHA1 Message Date
Samir Jindel 4d95ec1360 [vm] Enable multiple entry-points for unoptimized calls.
This also makes the entrypoints tests less sensitive to the order in which
functions are optimized and removes flaky checks.

Fixes https://github.com/dart-lang/sdk/issues/37144.
Fixes https://github.com/dart-lang/sdk/issues/39447.

Change-Id: I5ba23c74769ddb8415e2b635caefc798c2b70500
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109704
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-11-28 13:55:34 +00:00
Alexander Markov 09418f4402 [vm/tests] Re-enable tests for multiple entry points, take 2.
Closes https://github.com/dart-lang/sdk/issues/37144

This is a re-land of 00eb034de7.

Change-Id: Ib46d4590de460a520415280b3253e75d8f947b81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109584
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-19 00:21:35 +00:00
Alexander Markov 38deecec39 Revert "[vm/tests] Re-enable tests for multiple entry points"
This reverts commit 00eb034de7.

Reason for revert: test failure on vm-kernel-optcounter-threshold-linux-release-x64 bot

Original change's description:
> [vm/tests] Re-enable tests for multiple entry points
> 
> Closes https://github.com/dart-lang/sdk/issues/37144
> 
> Change-Id: I9935db44cf01dda106c9211978dca33aac7fcb16
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109551
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Alexander Markov <alexmarkov@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,sjindel@google.com

Change-Id: I582c014c4e02216be1575609aa950e8afb7e0702
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109600
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-18 23:16:21 +00:00
Alexander Markov 00eb034de7 [vm/tests] Re-enable tests for multiple entry points
Closes https://github.com/dart-lang/sdk/issues/37144

Change-Id: I9935db44cf01dda106c9211978dca33aac7fcb16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109551
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-18 22:11:10 +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
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
Samir Jindel dea7de23bd [vm] Use multiple entrypoints to remove unnecessary checks on calls against "this".
Test Plan:

Behavioral correctness should be ensured by existing tests. Tests in vm/dart/entrypoints
ensure that the unchecked entrypoint is used in cases where the optimization should trigger.

Bug: https://github.com/dart-lang/sdk/issues/31798

Change-Id: I5b880b2dfa6343b4bb0a96ad23562facff73e41f
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/69741
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-20 16:56:22 +00:00