Alexander Markov
f4a80a8466
[vm/bytecode] Fix entry point when optimized code is cleared but bytecode remains
...
If interpreter is enabled and a function has bytecode, then its entry
point should be set to 'interpreter call' instead of 'lazy compile'
when clearing code.
Fixes https://github.com/dart-lang/sdk/issues/35128
Change-Id: Ie714ac9c4d1ffef181512c5785c374e9de22ab95
Reviewed-on: https://dart-review.googlesource.com/c/84180
Commit-Queue: Régis Crelier <regis@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2018-11-13 01:04:05 +00:00
Alexander Markov
3c32b32d56
[vm/bytecode] Enable OSR for unoptimized code compiled from bytecode
...
In order to enable OSR, CheckStackOverflow IL instructions are attributed
with a non-zero loop depth. The original loop depth is passed as operand
of CheckStack bytecode instruction.
Change-Id: I771f59ba9f8d071680a3b7156be380e0f606b7b2
Reviewed-on: https://dart-review.googlesource.com/c/84081
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-11-12 19:04:54 +00:00
Aart Bik
c60cff1d33
[dart/fuzzer] Introduce time-based test runs
...
Rationale:
To maximize CPU utilitization during fuzzing runs,
we now use a time-out on all the individual fuzz
testing runs (rather than repeat based). This way,
the "faster" tests will cover more ground, while
the "slower" straggler tests will not break the test
with unnecessary time-outs at cluster level.
Change-Id: I5f0f9646da3fbd8b361a7ea43444b1896a45b57f
Reviewed-on: https://dart-review.googlesource.com/c/84047
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Thomas <athom@google.com >
2018-11-12 18:47:59 +00:00
Samir Jindel
5ef1465c55
[vm] Attach type to parameters on unchecked entry.
...
This is especially important for multiple entry-points in AOT mode, since without the type
information we can't inline certain intrinsics (because they would have to de-opt).
Change-Id: I62352234c95a1211ff7cdabb9cefc48990427a6f
Reviewed-on: https://dart-review.googlesource.com/c/82999
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2018-11-12 12:57:00 +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
Alexander Markov
d74f272d78
[vm/bytecode] Enable optimized compilation if running with interpreter
...
Also, reset usage counter after unoptimized compilation in background
so that function can be optimized.
Change-Id: I7b0fff0bc800345237822b31b176691e8cd132eb
Reviewed-on: https://dart-review.googlesource.com/c/84044
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2018-11-09 19:42:47 +00:00
Ryan Macnak
cb522bfcd2
[vm] Update Windows synchronization code to CONDITION_VARIABLEs and SRWLOCKs.
...
Use CRITICAL_SECTIONs for dart::bin::Monitor as the event handler requires a recursive monitor.
Requires Vista or later.
Bug: https://github.com/dart-lang/sdk/issues/35029
Bug: https://github.com/dart-lang/sdk/issues/35118
Change-Id: I1e96c5b428257649a45d26a979fba53a10f02151
Reviewed-on: https://dart-review.googlesource.com/c/20901
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-09 18:44:49 +00:00
Alexander Markov
4b900fdcc5
[vm] Clarify timeline events for unoptimized background compilation, take 2
...
Change-Id: Iaeb9fb612e2060a59ba3963402e15ae97e27cb5f
Reviewed-on: https://dart-review.googlesource.com/c/84042
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-11-09 18:36:17 +00:00
Alexander Markov
a4dc8cd22e
[vm/kernel/bytecode] Make sure bytecode instructions are aligned in kernel
...
Change-Id: I109123e88b8352b198d5ef9aad9eedc1df7141c8
Reviewed-on: https://dart-review.googlesource.com/c/83543
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-11-09 17:08:46 +00:00
Martin Kustermann
27537b458a
[VM] Ensure parameters from unchecked entrypoints have type attached
...
For functions without optional parameters this is done in the
ParameterInstr::ComputeType directly whereas for optional parameters,
where the prologue is not built 2 times, we use redefinitions.
Issue https://github.com/dart-lang/sdk/issues/34324
Change-Id: Id6f86610ecbde090ca1596d6fabdf7f2a8bcd5e2
Reviewed-on: https://dart-review.googlesource.com/c/83020
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-09 16:40:21 +00:00
Alexander Markov
f9d93f6d4e
Revert "[vm] Clarify timeline events for unoptimized background compilation"
...
This reverts commit 136c013bea .
Reason for revert: broken dartkb bots
Original change's description:
> [vm] Clarify timeline events for unoptimized background compilation
>
> Change-Id: I919ef5a5a180b47eba31e74d32da4185fff81df9
> Reviewed-on: https://dart-review.googlesource.com/c/83886
> Commit-Queue: Alexander Markov <alexmarkov@google.com >
> Auto-Submit: Alexander Markov <alexmarkov@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,zra@google.com ,asiva@google.com
Change-Id: Ifcdd8778f60c25e7b1363538e0f76064dde09556
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/83921
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-11-09 03:08:07 +00:00
Ryan Macnak
fa6a1684ef
[vm] Introduce a separate VMTag for the interpreter.
...
Makes time spent in interpreted versus compiled Dart code visible in Observatory's pie chart. Will allow the profiler to know whether to start a stack walk from the machine code FP or the interpreter's FP.
Remove dead Dart 1 frontend tags. Add tag for loading bytecode.
Change-Id: I2c5a580e1581f8ccd5a93bb293899c81f900ef13
Reviewed-on: https://dart-review.googlesource.com/c/83564
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2018-11-09 01:58:54 +00:00
Alexander Markov
136c013bea
[vm] Clarify timeline events for unoptimized background compilation
...
Change-Id: I919ef5a5a180b47eba31e74d32da4185fff81df9
Reviewed-on: https://dart-review.googlesource.com/c/83886
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-09 01:38:02 +00:00
Kevin Moore
037792876a
Fix analysis hints/warnings in runtime/observatory
...
Change-Id: I1afee0f09476185b2690e0c2bc98a4b7ae7bffa6
Reviewed-on: https://dart-review.googlesource.com/c/83480
Commit-Queue: Kevin Moore <kevmoo@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-09 00:52:44 +00:00
Ryan Macnak
3a513641bb
[vm] Don't ignore the return value of TypeArguments::Canonicalize.
...
Change-Id: I98ed8e9927a74393cab3b97b003a0b7ee19f4c9c
Reviewed-on: https://dart-review.googlesource.com/c/83862
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-09 00:32:37 +00:00
Ryan Macnak
bf26f2c022
[test] Update status for get_vm_timeline_rpc_test: Slow doesn't imply Pass.
...
Change-Id: If6f4db659e8bdc31ec47367f8468b18947392918
Reviewed-on: https://dart-review.googlesource.com/c/83900
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-09 00:25:47 +00:00
Ryan Macnak
94f93f788a
[vm] Remove Dart scanner.
...
Change-Id: I6435aef9574167dda71f7d15852e32e40d38e381
Reviewed-on: https://dart-review.googlesource.com/c/83224
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-09 00:13:26 +00:00
Aart Bik
8ca05c506f
[vm/compiler] Whitelist byteswap inlining
...
Rationale:
Always inlining byteswaps avoids calling into
the runtime when getInts remain.
https://github.com/dart-lang/sdk/issues/34473
https://github.com/dart-lang/sdk/issues/34969
https://github.com/dart-lang/sdk/issues/32167
Change-Id: I95c0348fa960e08f973a12a2c5304785e76289b3
Reviewed-on: https://dart-review.googlesource.com/c/83884
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-08 23:18:53 +00:00
Aart Bik
3ee9f61c8d
[vm/compiler] Fix bug in list inclusion test
...
Rationale:
Although not semantically disastrous, list inclusion
was not properly implemented, which yielded some very
hard to debug recompilations (or lack thereof) due
to speculation.
https://github.com/dart-lang/sdk/issues/34473
https://github.com/dart-lang/sdk/issues/34969
https://github.com/dart-lang/sdk/issues/32167
Change-Id: I54613127bd3ab93820d4a467c75e41f3df16ee7a
Reviewed-on: https://dart-review.googlesource.com/c/83883
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-08 23:18:13 +00:00
Samir Jindel
56ea31b3d6
[vm/gardening] Mark get_vm_timeline_rpc_test as slow.
...
Threads appear to still be doing real work when the timeout occurs. Local testing confirms
that the test is actually slow.
Change-Id: I3b0dfa467c5b2eeda481e31716cfc1e79583100d
Reviewed-on: https://dart-review.googlesource.com/c/83762
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2018-11-08 23:09:15 +00:00
Aart Bik
9eb1d74881
Reland "[vm/compiler] Fine tune operator and phi handling."
...
This reverts commit cde479301a .
Reason for revert: the real underlying bug has been fixed
Original change's description:
> Revert "[vm/compiler] Fine tune operator and phi handling."
>
> This reverts commit 4d5b5bb5a6 .
>
> Reason for revert: We are seeing an AOT compiler issue as a result of this change (please see https://github.com/flutter/flutter/issues/23879 )
>
> Original change's description:
> > [vm/compiler] Fine tune operator and phi handling.
> >
> > Rationale:
> > Running an extra call specialization pass a bit later
> > in the compiler passes stream (after types are propagated)
> > recognizes more operators, which execute more efficiently.
> > In addition, unboxing phis seems useful on all archs, not
> > just 32-bit. These minor tweeks combined improve the prime
> > number benchmark 3 fold.
> >
> > https://github.com/flutter/flutter/issues/19677
> >
> > Change-Id: Ib2102ce807c2f0a9f801542e0c4bc6a7673f552b
> > Reviewed-on: https://dart-review.googlesource.com/69240
> > Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
> > Commit-Queue: Aart Bik <ajcbik@google.com >
>
> TBR=vegorov@google.com ,alexmarkov@google.com ,asiva@google.com ,ajcbik@google.com
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Change-Id: I46e420f9355bfc3c4a3f2fb9274f648e8a596d9a
> Reviewed-on: https://dart-review.googlesource.com/c/83229
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Reviewed-by: Aart Bik <ajcbik@google.com >
> Commit-Queue: Siva Annamalai <asiva@google.com >
TBR=vegorov@google.com ,alexmarkov@google.com ,asiva@google.com ,ajcbik@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I7f9d892a6225c42810e7be52b6845bfee9cc017d
Reviewed-on: https://dart-review.googlesource.com/c/83800
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-08 20:58:16 +00:00
Aart Bik
a40fd6a976
[vm/compiler] Fix bug in unboxed constant spilling
...
Rationale:
Subtle but disastrous, spilling unboxed integers
in arm64 and x64 would store the value as smi,
detected as a nasty off by one error in flutter code.
https://github.com/flutter/flutter/issues/23879
https://github.com/dart-lang/sdk/issues/35091
Change-Id: I07d71727de8574ebd7d3ec3610d517d7903972f0
Reviewed-on: https://dart-review.googlesource.com/c/83565
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-11-08 19:03:22 +00:00
Jonas Finnemann Jensen
8146725731
Return 403 and 405 from observatory server
...
With this change untrusted `origin` header or method not allowed will
return 403 and 405 respectively. Before this change it returned 200 with
an empty body. Returning proper error codes helps users debug their
setup and figure out what is wrong.
Closes https://github.com/dart-lang/sdk/issues/34121
Change-Id: I60c75ee2e33882f98fd9a020d33d459e74febf29
Reviewed-on: https://dart-review.googlesource.com/c/69308
Commit-Queue: Jonas Jensen <jonasfj@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-08 17:03:11 +00:00
Aart Bik
5cfffdbcca
Revert "[vm/compiler] Tune AOT inline heuristics"
...
This reverts commit 74d2c6aa99 .
Reason for revert:
../../runtime/vm/compiler/backend/il.cc: 778: error: unreachable code
Original change's description:
> [vm/compiler] Tune AOT inline heuristics
>
> Rationale:
> Last experiment left some performance at the table
> (but for an unacceptable 200% code size increase).
> This CL regains that performance for a much better
> trade-off of just 8%. Performance gains vary from
> 10% to 100%, with e.g. 27% for DeltaBlue, 30% for
> MD5 and 100% for SHA256). This is obtained by
> always inlining byteswaps (to avoid calling into
> the runtime when getInts remain) and a bit more
> specific tuning of loop based heuristics. This
> also fixes a bug in a list lookup.
>
> https://github.com/dart-lang/sdk/issues/34473
> https://github.com/dart-lang/sdk/issues/34969
> https://github.com/dart-lang/sdk/issues/32167
>
> Change-Id: Id1a64c3930c503546ae2d7f31ca3e597741022bb
> Reviewed-on: https://dart-review.googlesource.com/c/82942
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
> Commit-Queue: Aart Bik <ajcbik@google.com >
TBR=vegorov@google.com ,kustermann@google.com ,rmacnak@google.com ,alexmarkov@google.com ,ajcbik@google.com
Change-Id: Id0f30f4458a3548af2e573a737e441ca11ae3b11
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/83643
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-08 08:51:20 +00:00
Ryan Macnak
30b0b9b723
[vm] Code size reductions:
...
- Remove dead Isolate::IsTopLevelParsing.
- Remove dead TraceFunctionEntry/Exit.
- Migrate more tracing flags to flag_list.h to allow code elimination in non-debug modes.
- Require an explicit Zone parameter for CheckedHandles.
- Remove side-effects from RuntimeEntry constructor.
out/ProductX64/exe.stripped/dart_precompiled_runtime 4063464 -> 4046952 (-16k)
Change-Id: Iffd3de25a03d2354cdecf2d79aa761c33ab08bd3
Reviewed-on: https://dart-review.googlesource.com/c/83120
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-08 02:02:39 +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
Aart Bik
74d2c6aa99
[vm/compiler] Tune AOT inline heuristics
...
Rationale:
Last experiment left some performance at the table
(but for an unacceptable 200% code size increase).
This CL regains that performance for a much better
trade-off of just 8%. Performance gains vary from
10% to 100%, with e.g. 27% for DeltaBlue, 30% for
MD5 and 100% for SHA256). This is obtained by
always inlining byteswaps (to avoid calling into
the runtime when getInts remain) and a bit more
specific tuning of loop based heuristics. This
also fixes a bug in a list lookup.
https://github.com/dart-lang/sdk/issues/34473
https://github.com/dart-lang/sdk/issues/34969
https://github.com/dart-lang/sdk/issues/32167
Change-Id: Id1a64c3930c503546ae2d7f31ca3e597741022bb
Reviewed-on: https://dart-review.googlesource.com/c/82942
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-08 01:04:55 +00:00
Ryan Macnak
03e2be624a
[gen_snapshot] Default to --deterministic.
...
Fix Scavenger to use the right heap verification entry point.
Bug: https://github.com/flutter/flutter/issues/23958
Change-Id: I37892e0cbfd276d81acfeb802b582c469a219eaa
Reviewed-on: https://dart-review.googlesource.com/c/83466
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-08 00:39:50 +00:00
Dan Field
50418e07a1
Fix multicast_ttl patch for windows - previous patch made incorrect
...
call for setsockopt on Windows machines.
collapse if block
move raw_datagram_socket_test to standalone_2
update test, check for success
fix windows
Fix bug in TTL logic for IPv6
Change-Id: I7940e2e1a3c355ebef752f951464e5ade96d2153
Reviewed-on: https://dart-review.googlesource.com/c/83360
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-11-07 18:26:04 +00:00
Jens Johansen
55f3cc98d9
Fix missing comma in service.md
...
Change-Id: I324049327cc7454edcc56bf172707e174c3fa729
Reviewed-on: https://dart-review.googlesource.com/c/82996
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2018-11-07 06:32:07 +00:00
Ryan Macnak
331472ec76
[vm] Fix interpreter holding an untracked pointer across a safepoint boundary.
...
Change-Id: I44fe05c97253b0897bdd88a526d701db39385eb0
Reviewed-on: https://dart-review.googlesource.com/c/83227
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-07 01:37:44 +00:00
Siva Annamalai
cde479301a
Revert "[vm/compiler] Fine tune operator and phi handling."
...
This reverts commit 4d5b5bb5a6 .
Reason for revert: We are seeing an AOT compiler issue as a result of this change (please see https://github.com/flutter/flutter/issues/23879 )
Original change's description:
> [vm/compiler] Fine tune operator and phi handling.
>
> Rationale:
> Running an extra call specialization pass a bit later
> in the compiler passes stream (after types are propagated)
> recognizes more operators, which execute more efficiently.
> In addition, unboxing phis seems useful on all archs, not
> just 32-bit. These minor tweeks combined improve the prime
> number benchmark 3 fold.
>
> https://github.com/flutter/flutter/issues/19677
>
> Change-Id: Ib2102ce807c2f0a9f801542e0c4bc6a7673f552b
> Reviewed-on: https://dart-review.googlesource.com/69240
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
> Commit-Queue: Aart Bik <ajcbik@google.com >
TBR=vegorov@google.com ,alexmarkov@google.com ,asiva@google.com ,ajcbik@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I46e420f9355bfc3c4a3f2fb9274f648e8a596d9a
Reviewed-on: https://dart-review.googlesource.com/c/83229
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-11-07 01:09:52 +00:00
Ben Konyi
1dabf0d19c
[ VM / dart:io ] Removed usage of std::make_unique as C++14 is not supported in google3
...
Change-Id: I615bcb89ef2dec2e745a4d321a13a0a131ba7485
Reviewed-on: https://dart-review.googlesource.com/c/83230
Commit-Queue: Ben Konyi <bkonyi@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
Auto-Submit: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-11-07 01:07:23 +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
asiva
d29538e808
[VM] Fix for issue 34888
...
Rework the idle notification mechanism to not use the global
IdleNotifier class as it was resulting in lock inversion issues
causing the monitor to be deleted while it could still be
required in another thread.
The new mechanism wires the idle notification check into the existing
message handling loop and uses the 'paused_for_messages_' mechanism
to wake up a idle time waiting handler when new messages arrive.
Bug: 34888
Change-Id: Ifd75e5cf4c0b6944d586146fe518b9e3e053a76e
Reviewed-on: https://dart-review.googlesource.com/c/82705
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-11-06 22:37:39 +00:00
Ryan Macnak
f8c89e0d20
[vm] Allow disabling concurrent mark separately from parallel mark.
...
Bug: https://github.com/dart-lang/sdk/issues/34002
Bug: https://github.com/dart-lang/sdk/issues/35029
Change-Id: I3babfd1b8892da5b137f4e093901479797eccfc9
Reviewed-on: https://dart-review.googlesource.com/c/82945
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-11-06 21:00:28 +00:00
Aart Bik
e585605488
[dart/fuzzer] Ignore output directory option
...
Rationale:
Step towards parallel execution.
Change-Id: I1c6ba3eaa33834d6f4b7ba5489acca567fc00b3d
Reviewed-on: https://dart-review.googlesource.com/c/83041
Reviewed-by: Alexander Thomas <athom@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-06 17:43:40 +00:00
Martin Kustermann
0fd14324c5
[VM] Use "null" object pool instead of nullptr for empty pools
...
Fixes https://github.com/dart-lang/sdk/issues/35054
Change-Id: I5b852701e1e70d5ab1345625296752208ed06ce7
Reviewed-on: https://dart-review.googlesource.com/c/82983
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-11-06 11:38:33 +00:00
Martin Kustermann
cd98dd72f6
[VM] Make all stubs inside the VM isolate share the same pool
...
Issue https://github.com/dart-lang/sdk/issues/33274
Change-Id: I556272952e6d7846721c6d48ef0ffbae5891cfde
Reviewed-on: https://dart-review.googlesource.com/c/82587
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-06 10:01:03 +00:00
Martin Kustermann
0a9d130bd5
[VM] Add static helper methods to object.h to access RawObject fields without handles
...
Issue https://github.com/dart-lang/sdk/issues/33274
Change-Id: Ib1a06c21ada1f12f3bc258c9284592c483d260f3
Reviewed-on: https://dart-review.googlesource.com/c/82586
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-06 09:23:59 +00:00
Ryan Macnak
04941b5507
[vm, gc] For large arrays (arrays on a large heap page), use a card-based remembered set.
...
Bug: https://github.com/dart-lang/sdk/issues/30433
Change-Id: I7c710d9e36ab593295d00fc5e9e72a86a1b843af
Reviewed-on: https://dart-review.googlesource.com/c/63688
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-05 22:03:34 +00:00
Zach Anderson
f3d21a8c0d
Revert "Fix bug in TTL logic for IPv6"
...
This reverts commit ffe2116c27 .
Reason for revert: Windows test failures on the bots.
Original change's description:
> Fix bug in TTL logic for IPv6
>
> This was introduced by my previous CL - there is existing logic to set
> the TTL for multicast that works for IPv4 and IPv6, this patch ensures
> the correct call is made.
>
> Change-Id: I8db7325ca79eb38c9de6d6e431231ed2ec1b0f47
> Reviewed-on: https://dart-review.googlesource.com/c/82023
> Reviewed-by: Zach Anderson <zra@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Zach Anderson <zra@google.com >
TBR=zra@google.com ,asiva@google.com ,dnfield@google.com
Change-Id: I06abb9f1aac638ab31541d66b55a3f5a29b0e5a9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/82885
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-11-05 21:16:45 +00:00
Dan Field
ffe2116c27
Fix bug in TTL logic for IPv6
...
This was introduced by my previous CL - there is existing logic to set
the TTL for multicast that works for IPv4 and IPv6, this patch ensures
the correct call is made.
Change-Id: I8db7325ca79eb38c9de6d6e431231ed2ec1b0f47
Reviewed-on: https://dart-review.googlesource.com/c/82023
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-11-05 19:00:16 +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
Kevin Moore
475eaee3c2
Cleanup some dynamic/Object promotion confusion from 5226b5c307
...
And make tweaks to Uri and StreamController equality
Change-Id: I63f85f67209442684e50b7c2e0011531893f294e
Reviewed-on: https://dart-review.googlesource.com/c/82781
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Kevin Moore <kevmoo@google.com >
2018-11-03 14:05:15 +00:00
Régis Crelier
27127b364a
[DBC simulator] Rename class Bytecode to SimulatorBytecode.
...
This frees the name Bytecode that will become the name of a new VM class.
Class Code will only refer to compiled code and Bytecode will refer to kernel
bytecode.
Change-Id: If64a5d688f0bf75220e67ef2932f4141782e9dc3
Reviewed-on: https://dart-review.googlesource.com/c/82703
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2018-11-02 20:53:24 +00:00
Martin Kustermann
d9d15ee1fc
[VM] Do not trace const functions seperately in AOT compilations, we use kernel2kernel constant evaluation
...
Issue https://github.com/dart-lang/sdk/issues/33274
Change-Id: I3474ceaca807a03cb3813e97fa47c3e43e495e24
Reviewed-on: https://dart-review.googlesource.com/c/82600
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-11-02 13:42:35 +00:00
Martin Kustermann
a01513c685
[VM] Allow including disassembler in product mode if FORCE_INCLUDE_DISASSEMBLER is defined
...
This helps VM developers working with product mode.
Issue https://github.com/dart-lang/sdk/issues/33274
Change-Id: I1933dea6f2d88c4745c63be772cfe301259f4a9c
Reviewed-on: https://dart-review.googlesource.com/c/82583
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2018-11-02 13:02:25 +00:00