Daniel Nicoara
d1a943281b
Change path order when trying to open tracing
...
/sys/kernel/debug/tracing is the old path[1] and only present for
backwards compatibility. Check the new path first otherwise accessing
/sys/kernel/debug/tracing will cause debugfs to be mounted. If
permissions are not set correctly after the mount, the user process may
not have a way to access the trace_marker.
[1] https://www.kernel.org/doc/Documentation/trace/ftrace.txt
Bug: None
Change-Id: Ifbd967c0f7298c8877c23bd4908d172b94f9e2d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96832
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-13 23:44:11 +00:00
Aart Bik
6483f5238f
[dart/vm] be more flexible with precomputed constants
...
Rationale:
The problem was that we were evaluating field
initializers while still loading the constant
table. This hit two asserts (1) having pending
potential_natives() when entering codegen and
(2) not being able to evaluate constants
since the table has not been loaded yet. The
solution is to simply postpone enum field
initialization (forced to avoid hot reload
issues) while loading the constant table
until right after the table is ready.
https://github.com/dart-lang/sdk/issues/36153
Change-Id: I5060476e5b3b49e555cfc507fb398ef0144b44d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96844
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-03-13 23:38:26 +00:00
Ryan Macnak
580e5731d6
[vm] Test compilation traces, type feedback, reused instructions.
...
Improve error for failure to reuse instructions.
Change-Id: I38b30a0da508f686d73dffebbf5893d6c939f19a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95940
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-13 23:36:06 +00:00
Ryan Macnak
217a027456
[vm, interpreter] Support unboxed fields.
...
Bug: FL-208
Change-Id: Ia6d6b913ccfc3b279ae89666bfb6f494a098b102
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96523
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-13 23:29:56 +00:00
Zach Anderson
e711486873
[vm,dart:io,fuchsia] Be happy with any open fd for Stdio handles if fstat fails
...
Change-Id: Iabb1d25d1649b60805f6c16550520596a01d20df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96843
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2019-03-13 20:20:01 +00:00
Alexander Markov
ee529e3451
[vm] Fix typo forwader => forwarder
...
Change-Id: I67906e25ddaf2fb6650f61dad7c12c96b6367222
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96821
Commit-Queue: Samir Jindel <sjindel@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-03-13 16:39:02 +00:00
Alexander Markov
b03db45379
[vm] Decouple flow graph building of dynamic invocation forwarders from kernel reading
...
Change-Id: I65f8fb5f3817630870e752ecb14ff3fb0506e7ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96711
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-03-13 16:14:12 +00:00
Clement Skau
9684748784
Removes superfluous Dart_ExitScope() call in CreateVmServiceIsolate.
...
Bug: Crash in Dart in CreateVmServiceIsolate() when bin::VmService::Setup() fails.
Change-Id: I9c640daa49fc9894d00523e0d986154cc4d4e062
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96802
Auto-Submit: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2019-03-13 13:58:04 +00:00
Kevin Moore
8c3f74817e
dartfmt -w --fix dart:collection
...
Change-Id: Ia643bb49fe22150f794a187a71c19ad4c61b5694
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96663
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Kevin Moore <kevmoo@google.com >
2019-03-13 13:31:52 +00:00
Vyacheslav Egorov
ed5bc9c538
[vm] Fix AssertAssignable strengthening sometimes using wrong deopt_id.
...
For some reason this code used deopt_id from the environment attached
to the AssertAssignable instruction, rather than deopt_id from the
instruction itself.
Under certain conditions this deopt_id is -1 which usually does
not cause any problems because no other code uses it.
Compiler is now changed in a way that only sets Environment::deopt_id_
for outer environments and innermost environment always has deopt_id_ set
to DeoptId::kNone.
This bug manifested itself as a very rare crash on lib_2/convert/chunked_conversion_utf8_test.dart
test on optcounter bot.
This change also converts an assertion that verifies that deoptimization target
always exists into a FATAL to make such crashes more informative.
TEST=runtime/tests/vm/dart/licm_and_assert_strengthening_test.dart
Change-Id: Ib58237b0f4ae279dcf9d88cac031156e88bf4828
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96657
Auto-Submit: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2019-03-13 12:13:12 +00:00
Daco Harkes
a43c525de2
Reland "[vm/ffi] Support Windows 64 bit"
...
Enables dart:ffi on Windows 64 bit.
Note that function_stress_test.dart fails in two different ways, these are known bugs. https://github.com/dart-lang/sdk/issues/36138
Relanding: Fixed compilation on Android.
Closes: https://github.com/dart-lang/sdk/issues/35771
Change-Id: I7d0c8b64ca8c1726b7d264d4fd9213299a9f7df6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96781
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-03-13 11:47:37 +00:00
Régis Crelier
1bd36d694d
[vm runtime] Dynamically disable dual mapping of code on some platforms.
...
Until a better solution is found, disable dual mapping of code on docker
containers that fail setting exec permissions on dual mappings.
Change-Id: Ic7477e1ef70ae0ea4d0187284702d5a3ee594edf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96668
Commit-Queue: Régis Crelier <regis@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
Auto-Submit: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2019-03-12 23:42:35 +00:00
Zichang Guo
0bd674c374
[VM-Runtime] set environment when creating detached process
...
environ variable should be updated if user provides environment. It only update for normal processes.
Bug= https://github.com/dart-lang/sdk/issues/36132
Change-Id: I2a4639ed53e7376534578a0b1b251025ffaa2278
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96147
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Zichang Guo <zichangguo@google.com >
2019-03-12 21:09:35 +00:00
Régis Crelier
a39833d957
Reland "Reland "[VM runtime] Dual mapping of executable pages.""
...
This is a reland of 6da340bf76
Original change's description:
> Reland "[VM runtime] Dual mapping of executable pages."
>
> This is a reland of 44186dfdcd
>
> Original change's description:
> > [VM runtime] Dual mapping of executable pages.
> >
> > Change-Id: Iaad78d324e25462ce951f4df26974a6a368c50b7
> > Reviewed-on: https://dart-review.googlesource.com/c/93377
> > Commit-Queue: Régis Crelier <regis@google.com >
> > Reviewed-by: Ryan Macnak <rmacnak@google.com >
>
> Change-Id: I7a0caa078950637d9fe831732577fd2467061099
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95263
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
Change-Id: I3a01f0e67d733c5db41618f691431e72c1e1cb2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96422
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-03-12 20:45:45 +00:00
Vyacheslav Egorov
23eb57c2bf
Revert "[vm/ffi] Support Windows 64 bit"
...
This reverts commit 7f812dea1a .
Reason for revert: Flutter build is broken on Golem.
Original change's description:
> [vm/ffi] Support Windows 64 bit
>
> Enables dart:ffi on Windows 64 bit.
>
> Note that function_stress_test.dart fails in two different ways, these are known bugs. https://github.com/dart-lang/sdk/issues/36138
>
> Closes: https://github.com/dart-lang/sdk/issues/35771
> Change-Id: I73012123f2bd90b737fdc1c87c9a9630c20d5660
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95647
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Reviewed-by: Martin Kustermann <kustermann@google.com >
TBR=kustermann@google.com ,sjindel@google.com ,dacoharkes@google.com
Change-Id: I5be4538e3c99632a852e4dfb856248eb437fb3ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96683
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2019-03-12 19:55:17 +00:00
Alexander Markov
f4b524cdf1
[vm] Extract reading of parameter covariance attributes
...
This change extracts code which reads kernel in order to get
covariance attributes of parameters into a separate function.
This removes code duplication and makes it easier to hook up
reading of covariance attributes from bytecode in future.
Change-Id: Ia19caf3edaf45df9e0bb1bdc715fac21d26788dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96560
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-03-12 17:58:46 +00:00
Daco Harkes
7f812dea1a
[vm/ffi] Support Windows 64 bit
...
Enables dart:ffi on Windows 64 bit.
Note that function_stress_test.dart fails in two different ways, these are known bugs. https://github.com/dart-lang/sdk/issues/36138
Closes: https://github.com/dart-lang/sdk/issues/35771
Change-Id: I73012123f2bd90b737fdc1c87c9a9630c20d5660
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95647
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-03-12 17:30:26 +00:00
Alexander Markov
469da726d6
[vm] Put covariance attributes into Field flags
...
This change reduces number of places where we need to re-parse
kernel field declarations in order to get covariance attributes.
Change-Id: I7d33d3787726270b93d16eda59b09345749a38fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96407
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-03-12 17:30:16 +00:00
Martin Kustermann
1a196d43a7
[VM/AOT] Execute catch-entry moves in parallel (our AOT doesn't generate non-cyclic moves)
...
Change-Id: Idfea23f9003bc3bf4b902da315835b9ac9239f36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96580
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-03-12 10:32:22 +00:00
Martin Kustermann
853d38896e
[VM/AOT] Fixes incorrect deserialization of catch entry moves
...
The catch entry moves are serialized in a space-efficient manner using a
suffix tree. The deserialization logic was not always correctly reading
the right catch entry moves which can cause incorrect stack frame on
catch entries and therefore can cause crashes.
Change-Id: Ic0eda8924f80262f5477ed5606eb6f74c55242c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96104
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-03-11 22:32:31 +00:00
Alexander Markov
7c1544898d
[vm] Decouple flow graph building of implicit getters and setters from kernel reading
...
Change-Id: I514fa59e88afaa63f989b9bd373a20ea42d1d0e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96204
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Alexander Markov <alexmarkov@google.com >
2019-03-11 20:56:21 +00:00
Ryan Macnak
57f4da318c
[vm, gc] The mutator's TLAB and the interpreter's lookup cache must be visited even if the mutator is unscheduled.
...
Remove strange conditional the made this a no-op before heap verification.
Bug: TC-384
Change-Id: Ic5aee093c6ee37df5d61dc5c22c79097a73d43e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96400
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-11 20:17:46 +00:00
Ryan Macnak
9faca2fa68
[vm] Document lifetime requirements of arguments to Dart_TimelineEvent.
...
Strengthen requirement on `label` to match Fuchsia.
Change-Id: Iebc9e0cc7be5984ad2b94dde561b76aec64fe78a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96145
Reviewed-by: Chinmay Garde <chinmaygarde@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-11 17:55:18 +00:00
Ryan Macnak
295ea59385
[vm] Give functions compiled through Dart_LoadCompilationTrace a non-zero usage counter.
...
So they survive a few code collection cycles.
Change-Id: Ie447b1bcd1f46f58b8e06f6b4f7bedfa1cf3dd77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96203
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-03-11 17:54:39 +00:00
Vyacheslav Egorov
9ff0a654ca
Revert "Reland "[VM runtime] Dual mapping of executable pages.""
...
This reverts commit 6da340bf76 .
Reason for revert: almost all benchmarks are now failing on Golem linux-x64 target. Flutter Golem build is broken
Original change's description:
> Reland "[VM runtime] Dual mapping of executable pages."
>
> This is a reland of 44186dfdcd
>
> Original change's description:
> > [VM runtime] Dual mapping of executable pages.
> >
> > Change-Id: Iaad78d324e25462ce951f4df26974a6a368c50b7
> > Reviewed-on: https://dart-review.googlesource.com/c/93377
> > Commit-Queue: Régis Crelier <regis@google.com >
> > Reviewed-by: Ryan Macnak <rmacnak@google.com >
>
> Change-Id: I7a0caa078950637d9fe831732577fd2467061099
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95263
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,regis@google.com
Change-Id: I3342de2584537269ffe9a53946bef27cb25a69fc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96161
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2019-03-09 14:15:39 +00:00
Aart Bik
e6f56a8adf
[vm/compiler] first vm implementation of block expression
...
Rationale:
Implementation of control-flow collections is
done through the notion of block expressions.
This is a first implementation to get this
working. It takes a few shortcuts (like disabling
OSR inside block expressions for now) that may be
refined later.
https://github.com/dart-lang/language/issues/78
https://github.com/dart-lang/language/issues/47
Change-Id: I966bf10942075052fcfd9bac00298a179efc551b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94441
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-03-08 20:48:31 +00:00
Régis Crelier
6da340bf76
Reland "[VM runtime] Dual mapping of executable pages."
...
This is a reland of 44186dfdcd
Original change's description:
> [VM runtime] Dual mapping of executable pages.
>
> Change-Id: Iaad78d324e25462ce951f4df26974a6a368c50b7
> Reviewed-on: https://dart-review.googlesource.com/c/93377
> Commit-Queue: Régis Crelier <regis@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
Change-Id: I7a0caa078950637d9fe831732577fd2467061099
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95263
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-03-08 18:33:02 +00:00
Lasse R.H. Nielsen
2e9ff26527
Fix overflow bug in BigInt implementations.
...
Fixes #36105
Bug: http://dartbug.com/36105
Change-Id: I9adf70d11474f844d2a4fbf5fcc3754562b1cf65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95644
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2019-03-08 16:11:08 +00:00
Samir Jindel
5eefbd8d14
[vm/ffi] Add a slot for RawPointer::address.
...
Change-Id: I55f803264ecf8555ffacbd42ec01c7581d335c93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94750
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-03-08 14:17:36 +00:00
Aske Simon Christensen
ff55d429f6
[kernel] Collection concatenation nodes.
...
These arise when the constant evaluator partially evaluates collections
containing spreads or control-flow constructs with unevaluated
subexpressions. They are removed by the final constant evaluation.
Change-Id: Icdd155c4805cbcefe6aa4b45c2f85ec258e7bd36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95760
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-03-08 13:08:55 +00:00
Daco Harkes
299c6457cf
[vm/ffi] Fix style guide violation
...
Change-Id: I669c392a0400632bba66d6de814f7101444a8990
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95820
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-03-08 09:11:07 +00:00
Vyacheslav Egorov
2fb6cd9f5f
[vm] Fix Service::RequestAssets
...
Unwrapping of API handles can only occur when thread is in the VM
execution state.
Change-Id: I14183f4553d0dd972b4bafb1e3771cf2655c1867
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96040
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2019-03-08 07:19:47 +00:00
Ben Konyi
585eb7f507
[ VM / Service ] Added disableBreakpoints parameter to evaluate, evaluateInFrame and invoke RPCs
...
- Setting the `disableBreakpoints` parameter to true will result in any
breakpoints hit during execution resulting from an evaluate or invoke
call to be ignored.
- Default behavior is the same (break on breakpoints).
- Updated Observatory eval box to disable breakpoints.
- Added tests
Change-Id: Ibf40f8a8de018718435118e13cc2e969f8ed7944
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95320
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Jacob Richman <jacobr@google.com >
2019-03-08 02:19:06 +00:00
Ryan Macnak
93d42679f0
[vm, arm64, fuchsia] Check for stack overflow / interrupts based on DSP instead of CSP.
...
Broken by b2d22be0f3 , which skips kicking CSP forward to save on code size.
Change-Id: I8fda8631d94c9a696039545b83425b799cabde46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95962
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-08 01:01:47 +00:00
Vyacheslav Egorov
1dd4559271
[vm] Add Native->VM transitions when dereferencing API handles.
...
For example setting return value unwraps handles and stores
raw pointer values to the stack which might race with GC
in another thread.
This CL adds assertions in helper methods from Api class which
unwrap API handles and fixes all places that were revealed by
those assertions.
Caveat: we still permit to check whether handle contains
Smi or not without entering VM state - because GC does not
change this property.
Bug: b/127482366
Change-Id: I59f08c2a91935995514fb70607c2777aa2844d94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95654
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-03-08 00:06:37 +00:00
Zach Anderson
8332fb0631
[vm] Adds an API call to dump the CPU profile to the timeline
...
Used in https://fuchsia-review.googlesource.com/c/topaz/+/258655
Change-Id: I79b102e0d318d7be3bae44fb88f81bb8086a10d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94400
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2019-03-07 21:28:26 +00:00
Aart Bik
5c7b07f783
[dart/vm] Fix bug in kernel binary flow graph builder
...
Rationale:
Found by DartFuzz. One of the trickier bugs I had to debug.
While building the flow graph from kernel, the finalizer
builder expects the program context to be in the same state
as when the finalizer was seen first, not the context seen
by the breaking/continuing statement. This was done partially,
but only partially. Finding loop context or breakable
and switchable blocks was missing. Something only
a fuzzer can find :-)
https://github.com/dart-lang/sdk/issues/36076
Change-Id: Ie63912c5fad4d3c15f6559b60cc102b237949957
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95720
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-03-07 20:16:18 +00:00
Adam Barth
07b2f82203
[fuchsia] Remove unused header
...
This header is no longer needed and will be removed soon.
Change-Id: I5d96b725bc2a7c6695bb5248377075b00fe7fc6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95880
Commit-Queue: Zach Anderson <zra@google.com >
Auto-Submit: Adam Barth <abarth@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2019-03-07 20:10:21 +00:00
Aart Bik
a6a5a2b635
[dart/fuzzer] Added more Dart constructs
...
Rationale:
More generation-based fuzz cases to cover
more Dart constructs. Already found first
new bug.
https://github.com/dart-lang/sdk/issues/36076
Change-Id: I77a9a589d89c1fb0a57a202fb88d046cf15d058e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95303
Reviewed-by: Alexander Thomas <athom@google.com >
2019-03-07 19:08:05 +00:00
Alexander Markov
f2a8e71ff9
[vm] Decouple flow graph building of implicit closure functions from kernel reading
...
Change-Id: I6bf5ad6ed76c363904ae1765d8303eff4a799363
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95706
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-03-07 18:09:48 +00:00
Liam Appelbe
924a934fe1
Shrink the stack headroom if the stack is very small
...
Bug: https://github.com/dart-lang/sdk/issues/36100
Change-Id: I9d887e74c7f888dbeebaf02556522d375e30b97f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95703
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-03-07 17:32:59 +00:00
Martin Kustermann
72548cde13
Revert "[vm, gc] The mutator's TLAB and the interpreter's lookup cache must be visited even if the mutator is unscheduled."
...
This reverts commit 253499fe68 .
Reason for revert: This seems to have caused new heap verification failures, e.g.
python tools/test.py -n dartkp-linux-debug-x64 lib_2/convert/streamed_conversion_json_utf8_decode_test
...
stderr:
Verifying before Scavenge...../../runtime/vm/raw_object.cc: 36: error: New object missing kNewBit: f3f3f3f3
version=2.2.1-edge.253499fe68b1efaed5c2be699b4e59af3703c0f3 (Thu Mar 7 01:01:02 2019 +0000) on "linux_x64"
thread=219499, isolate=isolate(0x55efd3734900)
[0x000055efd10532e6] dart::Profiler::DumpStackTrace(bool)
[0x000055efd10532e6] dart::Profiler::DumpStackTrace(bool)
[0x000055efd1053224] dart::Profiler::DumpStackTrace(void*)
[0x000055efd13a6805] Dart_DumpNativeStackTrace
[0x000055efd13b7313] dart::Assert::Fail(char const*, ...)
[0x000055efd1073ac8] dart::RawObject::Validate(dart::Isolate*) const
[0x000055efd1379c51] dart::VerifyObjectVisitor::VisitObject(dart::RawObject*)
[0x000055efd1376a43] dart::Scavenger::VisitObjects(dart::ObjectVisitor*) const
[0x000055efd136098b] dart::Heap::VisitObjectsNoImagePages(dart::ObjectVisitor*) const
[0x000055efd13632f3] dart::Heap::CreateAllocatedObjectSet(dart::Zone*, dart::MarkExpectation) const
[0x000055efd1363522] dart::Heap::VerifyGC(dart::MarkExpectation) const
[0x000055efd1377144] dart::Scavenger::Scavenge()
[0x000055efd1361b06] dart::Heap::CollectNewSpaceGarbage(dart::Thread*, dart::Heap::GCReason)
[0x000055efd1360330] dart::Heap::CollectMostGarbage(dart::Heap::GCReason)
[0x000055efd135fff5] dart::Heap::AllocateOld(long, dart::HeapPage::PageType)
Original change's description:
> [vm, gc] The mutator's TLAB and the interpreter's lookup cache must be visited even if the mutator is unscheduled.
>
> Bug: TC-384
> Change-Id: Ic3dcc2fea3e80ef181f8891ccb00a8e2e33fc077
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95670
> Reviewed-by: Alexander Aprelev <aam@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=aam@google.com ,rmacnak@google.com ,alexmarkov@google.com ,regis@google.com
Change-Id: Ia1e2cbf7c059e22a2c71f28cb641f07ccd3dddab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: TC-384
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95821
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-03-07 16:56:20 +00:00
Samir Jindel
bdb07f4a1f
[vm/ffi] Fix garbage collection of ffi.Pointer subtypes.
...
Fixes https://github.com/dart-lang/sdk/issues/36125 .
Change-Id: Ib9069d1e15684c785b86954ed8c14e5fdde35fec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95652
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-03-07 15:56:08 +00:00
Zichang Guo
4ec72c1eb1
[VM-Runtime]Fix source report coverage to not include field without function initializer
...
Fix issue created by 89173. Also rename HasInitializer to HasInitializerFunction to distinguish from has_initializer.
Bug= https://github.com/flutter/flutter/issues/28542
Change-Id: Id9f898937c2f4f350a6d619019dc12611505801f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95680
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Zichang Guo <zichangguo@google.com >
2019-03-07 02:04:41 +00:00
Ryan Macnak
253499fe68
[vm, gc] The mutator's TLAB and the interpreter's lookup cache must be visited even if the mutator is unscheduled.
...
Bug: TC-384
Change-Id: Ic3dcc2fea3e80ef181f8891ccb00a8e2e33fc077
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95670
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-07 01:01:02 +00:00
Ryan Macnak
980e5c7b57
[vm] Mark VM isolate objects at heap finalization instead of allocation.
...
Avoids unnecessary branching in allocation.
Also, rename the VMHeap bit to ReadOnly to reflect its current usage.
Change-Id: Ic6060eec263cef0a3fc92f253dff976cea45bdb2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95063
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2019-03-07 00:20:30 +00:00
Ryan Macnak
e48ad45fbd
[vm, interpreter] Enable field guards.
...
Bug: https://github.com/dart-lang/sdk/issues/36131
Change-Id: I8aa538bc96d10d14322c875228dbd7a97ddf114b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95491
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2019-03-07 00:19:40 +00:00
Adam Barth
6988347b53
[fuchsia] Migrate to lib/sys/cpp
...
We now use lib/sys/cpp, which is part of the Fuchsia SDK, rather than
lib/component/cpp, which is being deleted.
Change-Id: I3eaae74cc0403923886f9872d4327e46ec8915c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95700
Auto-Submit: Adam Barth <abarth@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2019-03-06 21:16:30 +00:00
Ryan Macnak
975cc65c17
[vm, interpreter] Implement interpreter stubs for IA32.
...
Change-Id: I7bb7e51cb46868abcc10c7dcc7cbf1db1ccdc35c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95264
Reviewed-by: Régis Crelier <regis@google.com >
2019-03-06 21:09:30 +00:00
Ryan Macnak
68946df573
[vm] Also print version information in assertion failures, not just faults.
...
Populate the dynamic symbol table for gen_snapshot.
Change-Id: Ib4712d2f481948f646ba4f5e353e0837b6391eab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95682
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-03-06 20:02:18 +00:00