Commit Graph

15405 Commits

Author SHA1 Message Date
Zach Anderson 568b13905f [vm] Fixes for dartkb testing
The "vm" test suite is cauing the kernel bytecode compiler to
OOM on the bot, so this CL removes it from the test matrix for
dartkb. This CL also protects against non-utf8 data coming in
on the error message pipe during process spawning.

Change-Id: Iab110a49a49ea12d21037719716a228776343602
Reviewed-on: https://dart-review.googlesource.com/74490
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-12 20:02:10 +00:00
Ryan Macnak 91cbb57cd5 [vm] Behave more gracefully for kernel-based Scripts that lack source (i.e., from a core snapshot).
Change-Id: Ie3a40a4ceb85e450f47f46a019626a0b553c14c7
Reviewed-on: https://dart-review.googlesource.com/74661
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-12 19:51:43 +00:00
Régis Crelier a6a48f2e52 [VM runtime] Follow up to new NativeEntryData class.
Demote newly introduced VM class NativeEntryData from a VM instance class
to a simple TypedData wrapper class.

Change-Id: I44aacee33500c93eb283d2d349cd7a24dd94de65
Reviewed-on: https://dart-review.googlesource.com/74323
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-09-12 18:49:06 +00:00
Vyacheslav Egorov e7bde9195b [vm/compiler] Don't try to load receiver in tear-offs of static no-such-method forwarders.
Such forwarders can arise as a result of hot-reload (e.g. IsolateReload_TearOff_Remove).

Change-Id: Id3c5ef28c44415f3388bd2d0c24ebac5845e912f
Reviewed-on: https://dart-review.googlesource.com/74581
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-09-12 18:06:45 +00:00
Vyacheslav Egorov 89fa4739de [vm/compiler] Disable multiple entry-points
Implementation is missing few bits in the register allocator
and causing GC crashes.

Bug: https://github.com/dart-lang/sdk/issues/34435
Change-Id: I4779797351c6853b87a5fef663324973e8a64c99
Reviewed-on: https://dart-review.googlesource.com/74641
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-09-12 17:12:10 +00:00
Régis Crelier ce75b485ad [VM bytecode] Allow library of symbol to be null.
This fixes a cast failure introduced in
https://dart-review.googlesource.com/c/sdk/+/74322

Change-Id: If4688df152cba1457a9e102d1a68ce09cdfa5872
Reviewed-on: https://dart-review.googlesource.com/74498
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-09-12 01:33:50 +00:00
Régis Crelier a2fae0125f [VM interpreter] Mark activation frames as interpreted instead of crashing.
This is a first step in supporting bytecode in the debugger.

Change-Id: Ieb06b8b534fcc7f0291457cd6912d772b8ee247a
Reviewed-on: https://dart-review.googlesource.com/74012
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-09-12 00:33:30 +00:00
Ryan Macnak dad327c174 [vm, arm64] LR is available to the write barrier in non-intrinsic mode.
Flutter Gallery release:
Instructions(CodeSize): 6128832 -> 6108224 (-0.37%)

Change-Id: Ie404098af26b114fbdf95c0edcc7aea3a1a2dc82
Reviewed-on: https://dart-review.googlesource.com/74485
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-09-11 21:34:52 +00:00
Ryan Macnak ebca3aba60 [vm, gc] Concurrent marking barrier.
Code size impact on flutter_gallery after enabled:
ARM32 Instructions(CodeSize): 5892064 -> 6110592 (+3.71%)
ARM64 Instructions(CodeSize): 6307104 -> 6514528 (+3.28%)

Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: If093f24e4dc6bf29f407cc45e95bb2274fc53dce
Reviewed-on: https://dart-review.googlesource.com/68481
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-09-11 21:14:25 +00:00
Samir Jindel acf842c56f [vm] Empty dart_io_entries.txt and add entry-points for Flutter.
Change-Id: Ic722c315e63965d6e3730a7757797fbaf1879dee
Reviewed-on: https://dart-review.googlesource.com/74486
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-09-11 20:53:53 +00:00
Samir Jindel cbd17b535f Re-land "[vm/precomp] Use @pragma("vm:exact-result-type") to specify method behavior."
We need to block interrupts while evaluating pragmas to prevert reentrant class finalization.
Original revision is in patchset 0.

Change-Id: I872cec4eaf4ca85567c9657c458ed39c8b2e30de
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/73160
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-09-11 18:14:51 +00:00
Alexander Markov 3ba5aa8ba7 [vm/bytecode] Support SymbolConstant nodes in bytecode pipeline
After https://github.com/dart-lang/sdk/commit/609d2770bea3d4c9dc76b515a52ee325dfb5c50d
constant evaluator produces SymbolConstant nodes.

This CL adds handling of SymbolConstant nodes to bytecode generator by
emitting a new constant pool entry. Constant pool reader is adjusted to
read new constant pool entry.

Change-Id: Idc1e91e765014b3290d80e5a3743448b8a0f472c
Reviewed-on: https://dart-review.googlesource.com/74322
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-09-11 17:54:16 +00:00
Aart Bik dd2d4af442 [vm/fuzzer] Migrated from Python to Dart.
Rationale:
I suppose that "Drinking the Kool-Aid" requires me to migrate
the Dart fuzzer test tools from Python to Dart. This CL is a first
step, migrating dartfuzz.py to dartfuzz.dart. In addition, more
constructs were added to the generation, although it is still
far from finished of course!

Todo:
Migrate the driver (run_dartfuzz_test.py) to Dart as well.
Keep on adding more constructs to generate.
Change-Id: I9a8cb4fa9482d0d41c9af3e9bd3ac2e59286c949
Reviewed-on: https://dart-review.googlesource.com/72361
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-11 17:52:32 +00:00
Ryan Macnak 482d27dfe7 [vm, compiler] Block LR for StoreStaticField and StoreIndexed on ARM.
Skip barrier for x.slot = x. Note that box allocations are non-Smi.

Bug: https://github.com/dart-lang/sdk/issues/34411
Change-Id: I846639747f0b583c24cb6ecf40548cf32b76d580
Reviewed-on: https://dart-review.googlesource.com/74324
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-11 17:05:24 +00:00
Martin Kustermann 01518b725d [VM] Optimize object allocation on ARM/ARM64 for code size as well as performance
Decreases flutter gallery RX size by 0.5 % on ARM
Decreases flutter gallery RX size by 0.85 % on ARM64
Increases performance slightly of various benchmarks, e.g. DeltaBlue by 2.2% on ARM64-aot

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

Change-Id: I258eae5bdc33d0220d0e73f60ad21824da5ec7f1
Reviewed-on: https://dart-review.googlesource.com/72762
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-09-11 12:53:56 +00:00
Martin Kustermann 4bbeda1826 [VM] Use one double-word load instruction for populating ic-data/code-obj in switchable calls
Decreases flutter gallery RX size by 0.5 % on ARM64
Increases ARM64 perf, e.g. by 3.8% DeltaBlue

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

Change-Id: I32e9be0d1df2fc50d287761d75b6db60c187d225
Reviewed-on: https://dart-review.googlesource.com/73902
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-11 10:02:04 +00:00
Martin Kustermann 609d2770be Reland "[VM] Add new SymbolConstant to package:kernel/ast.dart"
The canonicalization of symbols needs to take library privacy into
account. Since the Symbol class itself only has a [_name] field but does
not reference in which library the symbol came from, the [_name] must be
mangled.

Mangling is done by backends and so we make a new [SymbolConstant] which
the backends can desugar by doing appropriate mangling and construction
of a [Symbol] instance.

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

Change-Id: I2e13288483c35f875d39eefdb73677b2cc03527a
Reviewed-on: https://dart-review.googlesource.com/74360
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-11 09:29:01 +00:00
Martin Kustermann 05ccfa8502 [VM] Reduce size of monomorphic entries in AOT on ARM/ARM64 & use smaller tail-calls in various places
Decreases flutter gallery RX size by 1.5 % on ARM
Decreases flutter gallery RX size by 1.3 % on ARM64

Improves arm performance (significantly), e.g. DeltaBlue +6.8%, many typed data benchmarks +xx%
Improves arm64 performance, e.g. DeltaBlue +3.1%


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

Change-Id: Iaa6cc31597e0bcde471ec2e966730c3f2c9fdd05
Reviewed-on: https://dart-review.googlesource.com/73180
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-11 09:03:02 +00:00
Danny Tuppeny 805c92cf32 Add @TypeArguments as a valid type for BoundVariable.value
Change-Id: I47075c5ed5228f112b45ce4a7966e809aadc8682
Reviewed-on: https://dart-review.googlesource.com/73540
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-09-11 02:26:39 +00:00
Alexander Aprelev d97823b704 Revert "[VM] Add new SymbolConstant to package:kernel/ast.dart"
This reverts commit ef72098353 as it broke
buildbot on CQ.

Change-Id: If9d19a9393157078d0e0890b92a418ba5ced42c6
Reviewed-on: https://dart-review.googlesource.com/74281
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-10 20:40:43 +00:00
Martin Kustermann ef72098353 [VM] Add new SymbolConstant to package:kernel/ast.dart
The canonicalization of symbols needs to take library privacy into
account. Since the Symbol class itself only has a [_name] field but does
not reference in which library the symbol came from, the [_name] must be
mangled.

Mangling is done by backends and so we make a new [SymbolConstant] which
the backends can desugar by doing appropriate mangling and construction
of a [Symbol] instance.

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

Change-Id: I5ddb5331ce79a0b942807929d4b8f1050a9899e7
Reviewed-on: https://dart-review.googlesource.com/73883
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-09-10 15:31:09 +00:00
Martin Kustermann 14cf3717f2 [VM] Do not generate fall-through code if the intrinsic is exhaustive (handles all cases)
Change-Id: I71053fa14b59227fa33274cbfb6880d3e2394898
Reviewed-on: https://dart-review.googlesource.com/73621
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-10 15:12:22 +00:00
Martin Kustermann 1cd9cae45e [gardening] Mark vm/cc/CustomIsolates as Crashing
Issue https://github.com/dart-lang/sdk/issues/34424

Change-Id: Ib75ac91ea7a956ca274e23f1d5bfa63f49b80734
Reviewed-on: https://dart-review.googlesource.com/74180
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-10 14:11:26 +00:00
Martin Kustermann e0f0f4b6a9 [gardening] Mark service/regexp_function_test as flaky
Change-Id: Ib39bb6353b92ce89821256170c099828f72ebd05
Reviewed-on: https://dart-review.googlesource.com/74160
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-10 13:33:29 +00:00
Martin Kustermann bdfa1b75c2 [VM] Fix memory leak in run_vm_tests
Change-Id: I567bc21a1bf630da0f98337c40462991b33541f1
Reviewed-on: https://dart-review.googlesource.com/74100
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-10 12:19:37 +00:00
Martin Kustermann a6c76475a9 [gardening] Mark service/regexp_test as Crashing on windows
Issue https://github.com/dart-lang/sdk/issues/34422

Change-Id: I723512bfb68f58cf14d47a79dd443107db355507
Reviewed-on: https://dart-review.googlesource.com/74080
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-09-10 12:09:05 +00:00
asiva e62a2084c1 Fix benchmark runs.
Change-Id: I7881e03ad3fdb5ce73229d72b9414119afd5b130
Reviewed-on: https://dart-review.googlesource.com/74021
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-09-08 02:09:04 +00:00
asiva eb8350aaf7 Adjust status settings for service/rewind_test.dart
Change-Id: I541dca5d498c82aaa7b0faad5d1ef38bb8401362
Reviewed-on: https://dart-review.googlesource.com/74014
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-09-07 23:11:01 +00:00
Zach Anderson c4d35070af [vm] Don't build the kernel service snapshot if the platform dill has bytecode
Change-Id: I3587be6c31a889d527a30cf3747ef414c12dfb87
Reviewed-on: https://dart-review.googlesource.com/74010
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 22:45:42 +00:00
Ryan Macnak d66572d09b [vm, arm64] Eliminate some no-ops already filtered from the other architectures.
Flutter Gallery release:
Instructions(CodeSize): 6270144 -> 6234080 (-0.58%)

Change-Id: If5d4a1d41c6a1d9e5e45f1fceab6d938aef484bc
Reviewed-on: https://dart-review.googlesource.com/74005
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-07 21:44:18 +00:00
asiva cd3ddede99 Move flags strong/sync-async/reify-generic-functions back to global vm flags (they are not set as isolate specific flags).
Change-Id: I4d5cba4f5ac657a0834e3755312147cff1fbc001
Reviewed-on: https://dart-review.googlesource.com/71426
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-09-07 21:22:13 +00:00
Zach Anderson 3903b5b2d8 [vm] Fix passing --enable_interpreter in tests.
Also changes an Assert back to a test in Exceptions::JumpToFrame

Change-Id: I3088a342caaf7a1560ba6225ecbdb8bb363ac5fb
Reviewed-on: https://dart-review.googlesource.com/74009
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 21:10:41 +00:00
Ben Konyi cd9a42239f Added empty stubs for those which are x64 specific
Change-Id: Ie02368ee446c143cf192c6f6a4515ad2a453aa09
Reviewed-on: https://dart-review.googlesource.com/74008
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-09-07 21:08:23 +00:00
Zach Anderson b4004f6476 [vm] Reland: Move the interpreter under a flag.
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.

Reland with fix to NativeArgument setup in simulator_arm.cc

Change-Id: Ib9b4df6eb4d997dfbe361188b8a127828c1d9c6f
Reviewed-on: https://dart-review.googlesource.com/74003
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 19:25:31 +00:00
Zach Anderson 21406f576a Revert "[vm] Move the interpreter under a flag."
This reverts commit 715ab7b30b.

Reason for revert: simarm and kernel precomp builds failing

Original change's description:
> [vm] Move the interpreter under a flag.
> 
> After this CL, the interpreter is included by default in the
> JIT VM under the flag --enable-interpreter.
> 
> Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
> Reviewed-on: https://dart-review.googlesource.com/71800
> Commit-Queue: Zach Anderson <zra@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com,regis@google.com

Change-Id: I3622f4dbe53288d07fc21b34ee5ff68f2682b36d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/74001
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 17:14:21 +00:00
Ryan Macnak 94eb90af80 [vm, arm64] Don't use the object pool for small Smi constants.
Shrinks the clustered snapshot from fewer object pool entries but increases the image snapshot from less deduplication. Removes memory traffic for these constants.

Flutter Gallery
profile Total(CodeSize): 15284383 -> 15271689 (-0.08%)
release Total(CodeSize): 11358403 -> 11361337 (+0.02%)

Change-Id: I2ee4d49ba11241da5bf2928cfa44a39d5605eb86
Reviewed-on: https://dart-review.googlesource.com/73680
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-07 17:04:23 +00:00
Zach Anderson 715ab7b30b [vm] Move the interpreter under a flag.
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.

Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
Reviewed-on: https://dart-review.googlesource.com/71800
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-07 16:46:07 +00:00
Ryan Macnak 73ea44f374 [vm, arm64] Use ldp/stp for PushRegisters/SaveRegisters.
Flutter Gallery release:
Instructions(CodeSize): 6270144 -> 6175488 (-1.51%)

Change-Id: Iafd36eb8ab958427a69988f28ac84b254b89f1eb
Reviewed-on: https://dart-review.googlesource.com/73681
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-06 21:58:52 +00:00
Martin Kustermann eb06189349 [VM] Fix bug introduced when restoring small intrinsics in ab7b1e3
Change-Id: I2608132a7fad36675ddf217a1787cef49b9b8f6a
Reviewed-on: https://dart-review.googlesource.com/73620
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-06 20:49:15 +00:00
Régis Crelier 1dd77dbfce [VM runtime] Support lazy native linking when using kernel bytecode.
Change-Id: Iefa91cbe95ce12157b89381adcb3369940a9be2b
Reviewed-on: https://dart-review.googlesource.com/73287
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-06 19:17:12 +00:00
Samir Jindel c7ab56e1b5 Re-land "[vm] Skip bounds checks on invocation of partially instantiated closures."
This removes the part of the CL which contained asserts about the syntactic form of
the partial instantiation target.

Reviewed-on: https://dart-review.googlesource.com/72460
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Change-Id: I73733310795cd2c98b33bc641e769531d88a636a
Reviewed-on: https://dart-review.googlesource.com/73580
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-09-06 18:10:27 +00:00
Alexander Markov cdd18e6811 [vm/bytecode] Support dynamic invocation forwarders and omit checks in bytecode
This CL adds support for _dynamic_ calls (which are routed through
dynamic invocation forwarders) to bytecode pipeline.

This allows to skip argument type checks for non-covariant and
non-generic-convarint-impl parameters in bytecode when calling instance
members through known interface targets. In case of dynamic call, dynamic
invocation forwarders perform type checks which are otherwise skipped.

This CL also corrects argument type checks in forwarding stubs.
Forwarding stubs are synthetic methods, introduced by front-end to ensure
type safety if some of the argument type checks are skipped.
The specifics of forwarding stubs is that they should use parameter types
of a *target* of a stub for the argument type checks.

This change unifies how argument type checks are performed in bytecode
and in the VM in JIT mode. This allows to mix bytecode methods with
methods JIT-compiled from kernel AST in more cases.

Change-Id: I3a2720a488c8bbb91de1b189eb36ee8c51684a78
Reviewed-on: https://dart-review.googlesource.com/72543
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-06 17:23:12 +00:00
Jason Simmons f2e6e7255a Mark File/Directory.fromRawPath as an entry point
Fixes https://github.com/flutter/flutter/issues/21242

Change-Id: Ibc100bbdaffd41a1f91a13087a0f12bc1849fc6f
Reviewed-on: https://dart-review.googlesource.com/72920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-06 15:22:56 +00:00
Zach Anderson 27c79f9459 [vm] Propagate more UTF8 conversion errors
Change-Id: I8d4f3a892a51bed8b922961bd74bcad727f66508
Reviewed-on: https://dart-review.googlesource.com/73280
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-09-06 02:23:21 +00:00
Régis Crelier cf6ac73349 [VM runtime] Add transition before checking for error after interpreting call.
Change-Id: I6030f17ae9ebb937231f5766f4477cf7127dcc33
Reviewed-on: https://dart-review.googlesource.com/73289
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-06 02:20:08 +00:00
Ryan Macnak 1d4c316d55 [vm, gc] Don't eagerly evacuate new space on old allocation failure, take 2.
Large allocations and direct old space allocations are not signals that the current new space objects will be long lived.

Still perform a scavenge to handle (dead new -> dead old) references even when new space allocation is low, but a non-evacuating scavenge.

Change-Id: I4008fb163c4536abfc7ba42410ec57917a69786a
Reviewed-on: https://dart-review.googlesource.com/72340
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-04 22:51:07 +00:00
Ryan Macnak f0eae832d2 [vm] Add missing safepoint transition to DartAPI_Multiroot_Valid.
Change-Id: Icbe3d9a1c810e3afe34a3e9a4990fbc6e169244b
Reviewed-on: https://dart-review.googlesource.com/72940
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-04 21:24:41 +00:00
Ryan Macnak 28178aade6 [vm] Move VM globals from runtime/platform to runtime/vm.
Change-Id: Ia271602865c259cc5a6e001869f3104817d1ce44
Reviewed-on: https://dart-review.googlesource.com/63261
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-04 21:16:39 +00:00
Ryan Macnak 4c9b53fafe [vm] Assert Object::Allocate has the correct safepoint state.
Add missing transitions to tests.

Change-Id: Ib0f820b4c32c13f7caf2149280b124b505856837
Reviewed-on: https://dart-review.googlesource.com/72553
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-04 20:02:47 +00:00
Vyacheslav Egorov 7558644bd6 [vm/compiler] Move compiler state (CHA, deopt id) from Thread to a special class
Also move deopt id computation logic into a separate class and add a comment
explaining while deopt ids are incremented by 2.

Change-Id: Ife489be7d10c7198a8e7adf9e97e0c516d78ea55
Reviewed-on: https://dart-review.googlesource.com/72685
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-09-03 16:01:24 +00:00