Commit Graph

13561 Commits

Author SHA1 Message Date
Alexander Aprelev d78a41e0ee Reintroduce incremental compiler wrapper that supports accept protocol.
This reverts 4e677e9606

Change-Id: I32410b3a4ee9cc8a6f3318917ed519e13eea14f6
Reviewed-on: https://dart-review.googlesource.com/37862
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-02-06 18:38:58 +00:00
William Hesse 209dac0899 Update status for dartk on sim architectures and cross-frame test.
BUG=dart:32039
R=athom@google.com

Change-Id: Ic62951a846c24f8a00f347afd6c6620fd56b5c13
Reviewed-on: https://dart-review.googlesource.com/39161
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-02-06 18:10:32 +00:00
Devon Carew 83ea11b2bb Tweaks to the Observatory timeline landing page UI.
Change-Id: Ibe1fe674fc706057bc10d091c8bf0c20b31adaaf
Reviewed-on: https://dart-review.googlesource.com/38381
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-02-06 16:39:23 +00:00
William Hesse 9c35cff5cd Revert "New methods on Iterable, List, Set, Queue, Map."
This reverts commit 0b59f24f97.

Reason for revert: Creates crashes in dart2js with kernel, see
https://luci-milo.appspot.com/buildbot/client.dart/dart2js-linux-d8-minified-1-5-be/9751

Original change's description:
> New methods on Iterable, List, Set, Queue, Map.
> Changes signature of Iterable.singleWhere.
> Makes LinkedHashMap no longer be a HashMap.
> 
> Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
> Reviewed-on: https://dart-review.googlesource.com/32541
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Leaf Petersen <leafp@google.com>

TBR=lrn@google.com,leafp@google.com

Change-Id: Iab904f5885a5213ae2e16ef496eed0b6843185f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/39060
Reviewed-by: William Hesse <whesse@google.com>
2018-02-06 13:32:19 +00:00
Lasse R.H. Nielsen 0b59f24f97 New methods on Iterable, List, Set, Queue, Map.
Changes signature of Iterable.singleWhere.
Makes LinkedHashMap no longer be a HashMap.

Change-Id: Ibd7e56e1ac03cb9fb10d19d1328d452fcd06d89f
Reviewed-on: https://dart-review.googlesource.com/32541
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-02-06 11:17:46 +00:00
Erik Corry 619656b9c8 [VM] Fix far branches on ARM64 and add tests
R=rmacnak@google.com

Change-Id: I089d12bced44576a8a19e29bad94b1256f320f5f
Reviewed-on: https://dart-review.googlesource.com/38720
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-02-06 08:21:32 +00:00
Brett Wilson 84b3e8923a [system api] Update thread state API usage.
The out param has been removed from Zircon and the structs and defines
renamed.

Change-Id: I9d6eaed2119b2c232f77b86f9b0d4a311be531c6
Reviewed-on: https://dart-review.googlesource.com/38782
Reviewed-by: Zach Anderson <zra@google.com>
2018-02-05 22:19:37 +00:00
Erik Corry ea91bc9888 [VM] ARM64: Fix assert hit with tbz branches in huge functions
R=vegorov@google.com

Change-Id: I584af6d68302dc7b2a47ed4f9846f56f0c942ddd
Reviewed-on: https://dart-review.googlesource.com/38640
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-05 19:06:03 +00:00
Ryan Macnak 56a0f000cb [vm] Restore load order in gen_snapshot to fix conditional import issue.
Order flipped in 4ba2c82cea.

Change-Id: I134cc4fb5f787e316f250fe255a70554626e8852
Reviewed-on: https://dart-review.googlesource.com/38380
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-02-05 18:33:46 +00:00
Vyacheslav Egorov 1911c23cf9 [vm/compiler] Use Isolate::use_field_guards instead of FLAG_use_field_guards.
These two values are not necessarily in sync: FLAG_use_field_guards can be set to
false while kernel-service is running from an app-jit snapshot with field
guards.

This caused major flakiness on kernel opt-counter-threshold bot.

This was a bug introduced by refactoring in d6eb8c6c27.

Change-Id: Icba874d319c1e96df90cae2d81e0bce3e752808b
Reviewed-on: https://dart-review.googlesource.com/38620
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-02-05 17:40:53 +00:00
Peter von der Ahé 861550a28c Read patch files in strong mode
Closes https://github.com/dart-lang/sdk/issues/28822

Change-Id: I05e1d9885a39efca131d78d06cfd8a0e84276bb9
Reviewed-on: https://dart-review.googlesource.com/36641
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-02-05 14:35:36 +00:00
P.Y. Laligand 1356fa56e5 Fix one more Fuchsia syscall.
Change-Id: I5d64e5b642b8ced71b1c7003bf8565372774c076
Reviewed-on: https://dart-review.googlesource.com/38481
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-02-04 07:11:03 +00:00
P.Y. Laligand c854daf611 Update a type for a Fuchsia syscall.
Change-Id: I92993e5e7bc60fee02b9301b8069ac2b94995020
Reviewed-on: https://dart-review.googlesource.com/38440
Reviewed-by: Zach Anderson <zra@google.com>
2018-02-03 23:34:39 +00:00
Siva Chandra a6e3bd76a0 Fix a dead lock condition in service isolate shutdown flow.
Change-Id: Ieca035865015f0582744a31997c287bad5230535
Reviewed-on: https://dart-review.googlesource.com/38343
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-03 00:10:23 +00:00
Ryan Macnak 90e513600a [vm] Add option to gen_snapshot for generating the VM portion of an AOT snapshot by itself.
Adjust gen_snapshot to not attempt to load or import the '::' (root) library.

Change-Id: Id0e9c63726c6f65fc7929f0e9e60f440f0990f45
Reviewed-on: https://dart-review.googlesource.com/38180
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-02-03 00:09:36 +00:00
Siva Chandra be49470433 Hide kernel isolate creation error message behind FLAG_trace_kernel.
Change-Id: I3b0b4ecc2f92c3f869f356b267296278e66f9cdd
Reviewed-on: https://dart-review.googlesource.com/38301
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-02 19:12:56 +00:00
Ryan Macnak 4ba2c82cea [vm] Remove gen_snapshot's stub native resolvers.
The underlying issue was fixed back in cbb8519a69.

Bug: https://github.com/dart-lang/sdk/issues/24686
Change-Id: I50ae2accf114ec5c5767bf6154d82b6fbc242d03
Reviewed-on: https://dart-review.googlesource.com/38165
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-02-02 16:59:46 +00:00
Vyacheslav Egorov 71ccc5349e [vm/kernel/il] Use correct context level when constructing scope of a tear-off.
This fixes dartk/dartkp failures introduced by d117760ba6.

Change-Id: I1a8ec9ff5b047c5c8b16238c3d401c8cb434ff4e
Reviewed-on: https://dart-review.googlesource.com/38280
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-02 16:56:17 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Benjamin Lerman b3afc206db [vm/kernel] Fix for loop to prevent unreachable-code warning.
Change-Id: I22e5defd2012312b7823c1535421261edd79edff
Reviewed-on: https://dart-review.googlesource.com/38221
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-02 14:13:14 +00:00
Vyacheslav Egorov d117760ba6 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
This relands 75a9579ea0.

The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).


+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.


Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Bug: https://github.com/dart-lang/sdk/issues/3179
Change-Id: I2f32a609e3872c74d5ae7bbd97555453aaedf15f
Reviewed-on: https://dart-review.googlesource.com/38125
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-02 11:43:55 +00:00
Vyacheslav Egorov 7078f6be58 Revert "[vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods."
This reverts commit 75a9579ea0.

Reason for revert: function_subtype_bound_closure7_test fails in darkp

Original change's description:
> [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
> 
> The approach works as follows:
> 
> Step 1: Kernel transform. Under the closed world assumption compute the
> set of selectors dispatched dynamically, then mark all procedures that don't
> match any of those selectors as 'not-dispatched-dynamically'.
> 
> Step 2: VM backend. When building IR for a function if this function was
> marked as not-dispatched-dynamically then omit type checks for any parameter
> that is not marked as generic-covariant-impl, as such arguments are guaranteed
> to be checked on the caller side (by front-end).
> 
> # Performance Impact
> 
> +------------------------+------------+----------+-----------+--------------+
> |       benchmark        |  baseline  |  current |  with opt |  improved by |
> +------------------------+------------+----------+-----------+--------------+
> | stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
> | stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
> +------------------------+------------+----------+-----------+--------------+
> 
> * Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
> Baseline is at 6196496 bytes.
> 
> # Alternative Implementations
> 
> Alternatively to annotating individual procedures, I considered annotating Program node
> with a set of dynamically dispatched selectors. Decoding and passing this information
> around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
> approach where all individual procedures are annotated.
> 
> Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
> Reviewed-on: https://dart-review.googlesource.com/37822
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Samir Jindel <sjindel@google.com>

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

Change-Id: I0fd6bf3e6edfc3e605da2b996f9a0da6c409d01c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37802
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-01 20:41:19 +00:00
P.Y. Laligand af8e970c10 Adjust build to account for changing Fuchsia sysroot.
Change-Id: I1b188cf8f8a3c76208f66a3d20b90aa0e5c0c383
Reviewed-on: https://dart-review.googlesource.com/37961
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-02-01 19:52:08 +00:00
Vyacheslav Egorov 75a9579ea0 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).

# Performance Impact

+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.

# Alternative Implementations

Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
Reviewed-on: https://dart-review.googlesource.com/37822
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-01 18:07:38 +00:00
Siva Chandra 71dba8a0e5 Link the platform kernel with the command line dart executable.
Change-Id: Ib376a259e2e9ff9b487820c041d6795f8f7192d1
Reviewed-on: https://dart-review.googlesource.com/37420
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-01 15:11:29 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
Lasse Reichstein Holst Nielsen 0c18b643c6 Add RegExp.escape methods.
Fixes 4706

Bug: http://dartbug.com/4706
Change-Id: If635cb0eb7c20405ab0127a443fe51176191b5ad
Reviewed-on: https://dart-review.googlesource.com/35641
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-02-01 09:56:47 +00:00
Jens Johansen e4238bea4c Fix wrong assert in InvocationMirror_unpackTypeArguments (take 2)
It was pointed out that the previous fix
(5c74e0e16f) wasn't strong mode safe
because the returned array when length = 0 was not properly typed.
This fixes the issue by removing the old fix and simply removing the
assert.

Bug: 31381
Change-Id: I6d63d3329da2711067f632adbb9be998a4d468d9
Reviewed-on: https://dart-review.googlesource.com/37741
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-02-01 07:09:38 +00:00
Brian Wilkerson 4cad8c202d Attempt to fix bot status
Change-Id: Ib934765771306d57b218d3691c3bba249f1d90ef
Reviewed-on: https://dart-review.googlesource.com/37863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 19:51:55 +00:00
Johnni Winther 5b626c2a40 Revert "[vm, isolate] Send large TypedData as ExternalTypedData in isolate messages."
This reverts commit ddafb88794.

Change-Id: I5bf56c82e4f6ad43ab9460220bc17476596a0530
Reviewed-on: https://dart-review.googlesource.com/37760
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-31 10:22:35 +00:00
Régis Crelier ed1d8bd475 [VM parser] Complete support for generalized void (fixes #30516).
'void' is now allowed as type annotation for locals, fields, and formal
parameters, in addition to being previously allowed as type argument.
Update status files.

Change-Id: I6459f56824dc0a695615d8dc87c9a8a1f9be29ef
Reviewed-on: https://dart-review.googlesource.com/37651
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-01-31 00:56:41 +00:00
Ryan Macnak ddafb88794 [vm, isolate] Send large TypedData as ExternalTypedData in isolate messages.
Bug: https://github.com/dart-lang/sdk/issues/31959
Change-Id: I7235d24e29b72bc9849d726b63f0d4c38633e803
Reviewed-on: https://dart-review.googlesource.com/37423
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-30 23:48:01 +00:00
Adam Barth b447a3989c [fuchsia] Update FIDL1 C++ bindings to match FIDL2 interface
This change will make it easier to transition to FIDL2.

Change-Id: Ibd69f9cb60687630b81306d5931134916d4d1d84
Reviewed-on: https://dart-review.googlesource.com/37640
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-30 21:39:52 +00:00
Jens Johansen 5c74e0e16f Fix wrong assert in InvocationMirror_unpackTypeArguments
There's an assert in InvocationMirror_unpackTypeArguments checking that
the length of the incomming TypeArguments is positive (len > 0).
That's not a valid assert.
When creating TypeArguments it will be TypeArguments::null() if it is
empty or contains only dynamic.
TypeArguments::null() will answer 0 as length which is thus perfectly
valid.

This CL fixes the wrong assert (technically it returns before the assert,
but still).

Fixes #31381.

Change-Id: I7a253418b69751b13e98fcf2def2b23b32f96142
Reviewed-on: https://dart-review.googlesource.com/37480
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-30 12:25:49 +00:00
Ryan Macnak 7d6c27347b [vm] Shunt kernel data to the VM isolate when creating core snapshots.
Change-Id: If4b163a45deea33732e1eb4e5c71a64bbaa5153d
Reviewed-on: https://dart-review.googlesource.com/37125
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Siva Chandra <sivachandra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-29 23:23:25 +00:00
Régis Crelier 25d7d355db Provide distinct BigInt implementation classes in VM, dart2js, and dartdevc.
The classes are still identical, but will diverge as the VM will provide an
optimized version.

Change-Id: I8397fd927b89fa745ac7aa4b8d98e562140f731b
Reviewed-on: https://dart-review.googlesource.com/35521
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-01-29 18:12:34 +00:00
Samir Jindel 7d00b79477 [kernel] Support native extensions in the VM through Kernel.
Change-Id: I860e66b3e66a882ff771e477c318362cefbd4eaa
Reviewed-on: https://dart-review.googlesource.com/35925
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-29 14:04:35 +00:00
Jens Johansen 29c76d7604 [kernel] Update Windows status files take #5
Change-Id: Ia3bc3affba3100453846678b03d2a83402187418
Reviewed-on: https://dart-review.googlesource.com/36881
Reviewed-by: Jens Johansen <jensj@google.com>
2018-01-26 08:46:23 +00:00
Siva Chandra 6a6103b9c1 Do not compile script to kernel if the isolate was not created from kernel.
This change, and the code introduced, is probably not going to be required
once the platform kernel file is linked into the executable.

Change-Id: I24a837c3a633a625145cf90ff83d3e51b3d23eb6
Reviewed-on: https://dart-review.googlesource.com/36720
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-01-25 18:18:25 +00:00
Jens Johansen b2e105ac17 [kernel] Update Windows status files take #4
Change-Id: I76aae5cedd1be2f676ffcc794db623fb6ff26dcc
Reviewed-on: https://dart-review.googlesource.com/36760
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-25 12:36:32 +00:00
Martin Kustermann cf8a6063f8 [VM] Improve AssertAssignable/InstanceOf by having a fast case for non-generic, instantiated types
When the type to test against is instantiated and has no type arguments
there is a high probability that we receive instances of that class or
subclasses at runtime.

This CL therefore extends the fast-path of AssertAssignable/InstanceOf
by checking whether the instance class id is within the cid ranges that
directly/indirectly implement/extend the type to test against.

Currently we have an almost depth-first preorder numbering of class ids
in AOT, but there are exceptions.  So each class can have a number of
cid-ranges as subclasses / classes which implement it's interface.

This seems to improve performance of dart-aot-v2
  * flutter stock build by 15+%
  * DeltaBlueClosures by 10+%

and reduces code size on
  * flutter gallery by -3%

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

Change-Id: I07dd91589cc3fcd8c5952bdba339e2e2a459e08e
Reviewed-on: https://dart-review.googlesource.com/35620
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-01-25 07:13:42 +00:00
Matt Perry 04e91a3ef5 [fuchsia] Use newer ioctl_netc_get_if_info_at.
This replaces the now-deprecated ioctl_netc_get_if_info.

Bug: 31970
Change-Id: If343eed52c7a53e3b85185108582a6abbd9136ed
Reviewed-on: https://dart-review.googlesource.com/36540
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-24 23:22:34 +00:00
Jens Johansen 2f2d6b5cfb [kernel] Update Windows status files take #3
Change-Id: I2012724893e7366b36ad05b6d7942e9bad58ced2
Reviewed-on: https://dart-review.googlesource.com/36600
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-24 13:04:39 +00:00
Jens Johansen 57a3368b7f [kernel] Update Windows status files take #2
Change-Id: I41d78a6bbfb66dc0a8ce399b79890f7ed851dd39
Reviewed-on: https://dart-review.googlesource.com/36580
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-24 09:06:51 +00:00
Siva Chandra b47a5b2da9 Cleanup how isolate creation callback flow decides to load a kernel program.
The isolate creation callback flow was using DFE::kernel_file_specified()
to decide whether to load kernel program or not. However, since this flag
is not isolate specific, it was causing problems in the case where a dill
file was passed as the main dart program; the other isolates, even if
they were loading a snapshot, were looking for a kernel program.

This change was originally submitted as
"Make the decision, on whether to start the kernel isolate, liberal." It
was reverted due to failures on simdbc bots. This change is another
attempt which fixes those failures.

Change-Id: I096445faf470e77ab8f7cc810082891dcede5b60
Reviewed-on: https://dart-review.googlesource.com/36125
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-24 01:40:37 +00:00
Siva Chandra 2f9f2017fb Get runtime/bin/loader.cc in sync with kernel_service.dart.
This change also includes: Return error if --kernel-binaires is not
specified when compiling source to kernel using dfe.

Change-Id: I29a98a17e111421e046c8de51580c5a6cba9df3b
Reviewed-on: https://dart-review.googlesource.com/36521
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-01-24 01:03:37 +00:00
Zachary Anderson 6523896c6f [dart:io] Adds ProcessStartMode.INHERIT_STDIO
Adds a ProcessStartMode in which the child process inherits the stdio
handles from the parent.

Change-Id: Ibe7b8ae08caccaed827ae0a911a3cced7803cb6b
Reviewed-on: https://dart-review.googlesource.com/36362
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-23 22:50:06 +00:00
Jens Johansen 827573fc2c Status file updates after changes to Windows crash-sniffing
Change-Id: I1fbf5ca58d1bb99811e622896ceb0d7177c87b43
Reviewed-on: https://dart-review.googlesource.com/36400
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-23 14:35:26 +00:00
Erik Corry 42e2a555be [VM] Reland 'Use quadratic probing in hash_table.h'
This was reverted due to https://github.com/dart-lang/sdk/issues/31944 which
now looks unrelated. Originally reviewed at
https://dart-review.googlesource.com/c/sdk/+/34760

R=kustermann@google.com

Change-Id: I78d54e9081bbeac36d01a843f4d281a076c00748
Reviewed-on: https://dart-review.googlesource.com/36340
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Erik Corry <erikcorry@google.com>
2018-01-22 22:54:45 +00:00