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
Samir Jindel
ab253a8a4e
Review comments for "[vm/aot] Fix regressions from dynamic invocation forwarders in AOT."
...
Change-Id: I2ccf7db37e2b113404f839cf6ba4ad3ce6043671
Reviewed-on: https://dart-review.googlesource.com/c/80221
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2018-10-16 14:10:52 +00:00
Samir Jindel
af00f7c05d
[vm/aot] Fix regressions from dynamic invocation forwarders in AOT.
...
Velocity tracker is improved by 2.1%.
Flutter gallery code size is regressed by 0.9%
Golem benchmarks are a wash, because they use dynamic calls very aggressively in ways
uncharacteristic of Dart 2 code.
Change-Id: Id9e248f7c15ea6a8f69be2a4bbc0e4fc64a8c188
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/79242
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2018-10-16 13:23:15 +00:00
Martin Kustermann
349adc5b1f
Reland "[VM] Use c++/kernel2kernel constant evaluator for const StaticInvocation in the kernel IR"
...
Fixes https://github.com/dart-lang/sdk/issues/34770
Change-Id: I55b02e6ce327f4a08d96612fea44f7b03bddcbb5
Reviewed-on: https://dart-review.googlesource.com/c/79680
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-16 11:22:56 +00:00
Alexander Markov
2ed614819d
[vm] Fix MakeUnusedSpaceTraversable in the 'Instance' filler case
...
Object::MakeUnusedSpaceTraversable fills leftover with Instance
if leftover is less than TypedData::InstanceSize(0). This code is
outdated and was not working as the smallest TypedData is just
2 words. This CL updates this code to prepare for future TypedData
changes.
Also, test vm/cc/GrowableObjectArray is changed to be more flexible wrt
sizes of TypedData instances.
Change-Id: I32e21d5038163590ba618d8525aacd17e88800d9
Reviewed-on: https://dart-review.googlesource.com/c/79921
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-10-15 21:20:56 +00:00
Zach Anderson
c362e4862f
[vm] Invalidate KernelProgramInfo caches on a reload
...
Change-Id: I911ce057d7a35f0d9b087669dba52bb01b4719fc
Reviewed-on: https://dart-review.googlesource.com/c/79880
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-10-15 21:11:36 +00:00
Alexander Markov
ac6d4f7e65
[vm] Disable conversion of large typed data to external when sending through a message port
...
Closes https://github.com/dart-lang/sdk/issues/34752
Issue https://github.com/flutter/flutter/issues/22796
Issue https://github.com/dart-lang/sdk/issues/34796
Change-Id: Ia769ee7d828f37a5ca36fedebcf609c3bab8c38c
Reviewed-on: https://dart-review.googlesource.com/c/79825
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
2018-10-15 20:24:22 +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
1d0d9f1d3f
[vm] Fix heap corruption while reading "kernel list" file
...
This heap corruption caused sporadic failures of
pkg/vm/test/incremental_compiler_test test.
Change-Id: I7b35efc2db321ff0bce992ccfe3e5ace9ed07599
Reviewed-on: https://dart-review.googlesource.com/c/79473
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2018-10-13 00:39:04 +00:00
Siva Annamalai
aabc26bafe
Revert "[VM] Use c++/kernel2kernel constant evaluator for const StaticInvocation in the kernel IR"
...
This reverts commit 29ff9e4a6a .
Reason for revert: We seem to be seeing a number of dartkp failures after this commit.
Original change's description:
> [VM] Use c++/kernel2kernel constant evaluator for const StaticInvocation in the kernel IR
>
> Fixes https://github.com/dart-lang/sdk/issues/34770
>
> Change-Id: Ie0a3ea82992d70bfce04dcd8986b62f3e1dd5962
> Reviewed-on: https://dart-review.googlesource.com/c/79581
> Commit-Queue: Martin Kustermann <kustermann@google.com >
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
TBR=vegorov@google.com ,kustermann@google.com
Change-Id: Ib3f67e869e6bfa87161f7c580b0142d676e5a631
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/79467
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-10-12 19:34:27 +00:00
Ryan Macnak
22190e4d79
[vm] In IsolateMirror.loadUri, note that a kernel file at a URI may not contain any library with that URI.
...
Prefer the "root" library of the kernel file when available.
Change-Id: Ied8d6b00a358e5f3893fa6b9ed49c4b058152c09
Reviewed-on: https://dart-review.googlesource.com/c/79429
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-10-12 18:06:03 +00:00
Zach Anderson
841a75698d
[vm] Fix typo in previous commit
...
This will fix the build failure on the asan bot.
Change-Id: Ifb92dc5fbb706845e58ba79369e0d9744bb10e9c
Reviewed-on: https://dart-review.googlesource.com/c/79464
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-10-12 17:17:28 +00:00
Aart Bik
5b6220d44d
[vm/compiler] Start of loop framework
...
Rationale:
Started a more structured implementation of detecting
loops and the loop hierarchy in the Dart flow graph.
This new framework can replace some of the more ad-hoc
approach taken now, as already started in this CL, and
also forms a foundation for more optimizations later.
https://github.com/dart-lang/sdk/issues/34473
Change-Id: I75130cb6863324910e3d068e4f2628c25fdf880c
Reviewed-on: https://dart-review.googlesource.com/c/79147
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-10-12 16:54:40 +00:00
Martin Kustermann
29ff9e4a6a
[VM] Use c++/kernel2kernel constant evaluator for const StaticInvocation in the kernel IR
...
Fixes https://github.com/dart-lang/sdk/issues/34770
Change-Id: Ie0a3ea82992d70bfce04dcd8986b62f3e1dd5962
Reviewed-on: https://dart-review.googlesource.com/c/79581
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-12 16:08:46 +00:00
Zach Anderson
47c55605b8
Reland: [vm] Add a library and class cache to KernelProgramInfo
...
Relands with locks to protect the caches.
Original message:
Also create fewer handles in the KernelLoader.
GenKernelKernelReadAllBytecode improves a further
15-20% after removing the timeline event argument
in the bytecode reader.
Change-Id: I6d796986a7773938e528271033385465e4f13468
Reviewed-on: https://dart-review.googlesource.com/c/79380
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-10-12 14:54:48 +00:00
Alexander Markov
6b67cd784b
[vm] Make UBSAN happy for the code in Range::BitwiseOp
...
Change-Id: I3f3ca03a0930f9feac1e7e94cdb5c50ece8d7856
Reviewed-on: https://dart-review.googlesource.com/c/79420
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-10-11 20:02:53 +00:00
Ryan Macnak
001343ce06
[vm, gc] Disable reads and writes to from-space after a scavenge.
...
Change-Id: Id44de869e9c6823baf63a80caa10ceff9758dc31
Reviewed-on: https://dart-review.googlesource.com/c/79148
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-10-11 18:15:22 +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
Zach Anderson
58c90dc488
[vm] Fix bytecode in core-jit for simarm64
...
simarm64 doesn't support --enable_interpreter, so we need
another way to get bytecode into the core-jit snapshot.
For this it makes sense to use --use_bytecode_compiler
since we'll need to switch to the bytecode-only pipeline
at some point anyway.
Change-Id: I761acd0439663cb488c3d2143cbaa8f96f9a0a4b
Reviewed-on: https://dart-review.googlesource.com/c/79180
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-10-11 17:59:15 +00:00
Vyacheslav Egorov
3fe3106489
[gardening] Fix leaks in run_vm_tests binary detected by ASAN.
...
Change-Id: I8a7f008ad7d25111b0c9da7a2e65f489edce7900
Reviewed-on: https://dart-review.googlesource.com/c/79260
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2018-10-11 16:52:14 +00:00
Peter von der Ahé
a6c8b62056
Remove dummy .packages files
...
Change-Id: Ie4a237ae171646e5f68074730f68805de162da50
Reviewed-on: https://dart-review.googlesource.com/c/79263
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-11 16:50:42 +00:00
Alexander Markov
3cf0008b13
[vm/bytecode] Remove dependencies on ASTs when running with bytecode
...
Also, enable dropping ASTs from kernel files when testing in dartkb mode.
Change-Id: Iec82f1b76e3b8a9eb692de325d7645d8f271e03e
Reviewed-on: https://dart-review.googlesource.com/c/79087
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-10-11 15:11:26 +00:00
Martin Kustermann
5c9a8d8cb5
[VM] Add $target_gen_dir/gen_kernel_bytecode.dill.d to outputs of GN action, to ensure directory is created before action is run
...
This fixes flaky build failures on our bots.
To reproduce the original issue:
% rm -rf out/DebugX64
% tools/build.py -mdebug -ax64 gen_kernel_bytecode_dill
output: Error: Unable to open snapshot depfile: .../out/DebugX64/gen/runtime/bin/gen_kernel_bytecode.dill.d
This change seems to force GN to create the parent directory of outputs before
running the action.
Change-Id: Ia388f423d7724516bc6f00cd39bed19533587f39
Reviewed-on: https://dart-review.googlesource.com/c/79202
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-10-11 09:44:12 +00:00
Martin Kustermann
f0a30bc8d1
Revert "[vm] Add a library and class cache to KernelProgramInfo"
...
This reverts commit b99bcfd309 .
Reason for revert: Causes flaky crashes.
Issue https://github.com/dart-lang/sdk/issues/34757
Original change's description:
> [vm] Add a library and class cache to KernelProgramInfo
>
> Also create fewer handles in the KernelLoader.
>
> GenKernelKernelReadAllBytecode improves a further
> 15-20% after removing the timeline event argument
> in the bytecode reader.
>
> Change-Id: Ida7e74129ccb4c997bb74e7bb51cdae053587254
> Reviewed-on: https://dart-review.googlesource.com/c/78710
> Commit-Queue: Zach Anderson <zra@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TBR=aam@google.com ,alexmarkov@google.com ,zra@google.com ,asiva@google.com
Change-Id: I13f118862764ebc7d8d36b482b11082348b80f39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/79204
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-10-11 09:21:15 +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
asiva
e70a7aab8a
[VM] Dead code removal
...
- Remove dead code around creation of service isolate in gen_snapshot.cc
- Create service isolate from the core snapshot
- exclude sources from platform dill file (saves about 2.5MB in size)
Change-Id: Ic4f382e23b1df84abdc94cfe0d1ea2b5df315c11
Reviewed-on: https://dart-review.googlesource.com/c/79141
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-10-10 23:19:24 +00:00
Ryan Macnak
662ff7f112
[vm] Remove TokenStream, TokenValue, CompilerStats.
...
(CompilerStats timers have been replaced with the timeline events.)
Change-Id: Iddcb752c085de9762eb802371b6d2905fa608a76
Reviewed-on: https://dart-review.googlesource.com/c/79086
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-10-10 21:39:45 +00:00
asiva
a933f42b9e
[VM] Use Symbols::Empty() when there is no source for a script instead of creating new empty string objects.
...
Change-Id: I8ec6702557b07c4c4ede2aece5a3f25b4cde1a5b
Reviewed-on: https://dart-review.googlesource.com/c/79060
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-10-10 21:25:46 +00:00
Ryan Macnak
72b31316e4
[observatory] Fail gracefully when a Script lacks source code.
...
Change-Id: I0d19b6da1543447c50a47d70fb896c4d92afa3d4
Reviewed-on: https://dart-review.googlesource.com/c/79084
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-10-10 21:03:14 +00:00
Zach Anderson
b99bcfd309
[vm] Add a library and class cache to KernelProgramInfo
...
Also create fewer handles in the KernelLoader.
GenKernelKernelReadAllBytecode improves a further
15-20% after removing the timeline event argument
in the bytecode reader.
Change-Id: Ida7e74129ccb4c997bb74e7bb51cdae053587254
Reviewed-on: https://dart-review.googlesource.com/c/78710
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-10-10 20:19:14 +00:00
Alexander Markov
5deb1c6e81
[vm] Remove strong mode and sync-async flags from pkg/vm
...
Change-Id: Icd2920274ca4c402b38e5774bb408d6b5e529169
Reviewed-on: https://dart-review.googlesource.com/c/79082
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-10-10 20:11:35 +00:00
G?nter Z?chbauer
2da0b9f4f1
fix some typos
...
Closes #34738
https://github.com/dart-lang/sdk/pull/34738
GitOrigin-RevId: d211bbacfe65355cf7304c990ffb6c79d7a229cf
Change-Id: If690e6d378e543b300e1f6a353ceae73e39c29db
Reviewed-on: https://dart-review.googlesource.com/c/78900
Reviewed-by: Alexander Thomas <athom@google.com >
2018-10-10 19:15:30 +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
16ddfc1565
[VM] Use assert assignable implementation for explicit downcasts
...
This makes explicit downcasts more efficient by re-using the
optimizations we already have for implicit downcasts.
For implicit/explicit as checks we use the symbol to distinguish which
exception to throw if the check fails. So this does not actually
require unification of _CastError and _TypeError.
Issue https://github.com/dart-lang/sdk/issues/34582
Issue https://github.com/dart-lang/sdk/issues/30632
Issue https://github.com/dart-lang/sdk/issues/30571
Change-Id: I7b8818d2698e249c90a3e1b8790bad69ada649a9
Reviewed-on: https://dart-review.googlesource.com/c/78748
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-10-10 12:36:42 +00:00
Peter von der Ahé
ee97806084
Replace strongMode with legacyMode in CompilerOptions
...
Also, remove --strong and --strong-mode flags (use --legacy-mode
flag to enable legacy mode).
Change-Id: I577ab5f755a2bee88f0f4d63915a6e852e792f06
Reviewed-on: https://dart-review.googlesource.com/c/79000
Commit-Queue: Jens Johansen <jensj@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-10-10 12:04:26 +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
Alexander Markov
2695f36016
[Gardening] Status update (co19_2, optcounter/ia32)
...
Change-Id: Ica90e83995ad2e89548c07824dc525f1cd84fd71
Reviewed-on: https://dart-review.googlesource.com/c/78921
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-10-09 23:56:31 +00:00
Alexander Markov
71395df7dd
[vm/interpreter] Fix flaky errors when running with interpreter
...
In certain cases interpreter was calling runtime while keeping
direct references to Dart objects across call. Runtime call may trigger
GC which moves objects, making direct references stale.
The fix is to reload all direct references to Dart objects after
each runtime call.
Change-Id: Icca3d203047eea317eb5389fd91b33f9c1a98a6c
Reviewed-on: https://dart-review.googlesource.com/c/78868
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-10-09 22:11:11 +00:00
Alexander Markov
34651d204e
[gardening] Update status
...
Change-Id: I50470052bd646684d36c793424485a88f1b84ee6
Reviewed-on: https://dart-review.googlesource.com/c/78869
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-10-09 21:24:36 +00:00
Aart Bik
751cf1974a
[dart/fuzzer] Add DBC as execution mode.
...
Rationale:
More coverage is better!
Change-Id: Ic04f4caf7d02e1db9398f3d51ae44f6b51d6542d
Reviewed-on: https://dart-review.googlesource.com/c/78862
Reviewed-by: Alexander Thomas <athom@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-10-09 18:56:28 +00:00
Alexander Markov
70317473f0
[gardening] Update status
...
Change-Id: Idb7feb6749df6824b0e3029ddc86112b18a7d7b2
Reviewed-on: https://dart-review.googlesource.com/c/78864
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-10-09 18:46:41 +00:00
asiva
32c484bb71
[VM] Fix typo in BitTestImmediate unit test.
...
Change-Id: Id2dc17e0df20a17c3f37dbf7640f21250b72c88a
Reviewed-on: https://dart-review.googlesource.com/c/78861
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-10-09 18:22:40 +00:00
Ryan Macnak
7f55e52888
[vm, x64] Use short forms for object pool loads.
...
We now patch object pool entries instead of pool load indices.
dart2js release
AOT X64 Instructions(CodeSize): 10171808 -> 9567168 (-5.94%)
JIT X64 Instructions(CodeSize): 14298624 -> 13163968 (-7.94%)
Bug: https://github.com/dart-lang/sdk/issues/29077
Change-Id: I84938a5717b79d65e941141539d7f82e02c89858
Reviewed-on: https://dart-review.googlesource.com/c/78185
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
2018-10-09 17:30:25 +00:00
Samir Jindel
a66cae48fc
[vm/aot] Dynamic invocation forwarders in AOT.
...
Significant improvements to several benchmarks, including Tracer, Sudoku and DeltaBlue,
see internal dashboard for details.
Flutter Gallery code size +0.7%.
Change-Id: I5df30bbfdd83a54e739ef6b64044141a80688d75
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/77805
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2018-10-09 17:23:43 +00:00
Ryan Macnak
0039aff1e3
[test] Remove use of --error_on_bad_type and --error_on_bad_override.
...
Change-Id: I5b74a4265b25051acfbb35ae9721160b03988121
Reviewed-on: https://dart-review.googlesource.com/c/78708
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-10-09 16:46:48 +00:00
Aart Bik
ce08911515
[vm/compiler] Minor improvements to loop detection
...
Rationale:
(1) reset loop_info of block entries,
since recomputing on a modified graph
may encounter blocks that are no longer headers
(2) replaced O(n) linear scan over loop headers just
to test membership of the current block with
an O(1) test
(3) added some comments
https://github.com/dart-lang/sdk/issues/34473
Change-Id: I9e24a76bac9cf0225d8f1c996adfa6d82c175504
Reviewed-on: https://dart-review.googlesource.com/c/78703
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-10-09 16:07:24 +00:00
Alexander Aprelev
a2cf88bee6
[vm] Fix sync-async stack navigation to handle inlined functions.
...
Bug: http://dartbug.com/34673
Change-Id: I92affde6e9e8e6e2fbf5c2a8ed20bb8a3ad4d028
Reviewed-on: https://dart-review.googlesource.com/c/78580
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2018-10-09 15:56:07 +00:00