Commit Graph

9968 Commits

Author SHA1 Message Date
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
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
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
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
Ryan Macnak 6edc759798 [vm] Do not print if kernel isolate initialization is interrupted by VM shutdown.
Compare service_isolate.cc

Change-Id: I759252539170ffb346a6cde18a8cf250528a0638
Reviewed-on: https://dart-review.googlesource.com/c/78700
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-08 22:56:52 +00:00
Alexander Markov 4486bf5f6b [vm/bytecode] Fix return value for several BigInt intrinsics
If these intrinsics are called from interpreter and return garbage,
the interpreter might crash in Interpreter::InvokeCompiled while
inspecting the result.

Also, this CL contains a fix for the slow path of Int64 box
allocation in the interpreter.

Change-Id: I27143d38ed39fdc234520c57e85bff066cc8cde3
Reviewed-on: https://dart-review.googlesource.com/c/78187
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
2018-10-08 21:38:48 +00:00
Zach Anderson b4b02a6bde [vm] Include bytecode in core-jit and app-jit snapshots
when the --enable_interpreter flag is passed to gen_snapshot/dart.

Change-Id: I6e9481e1793e4c97fd6b14b56e55aafcb044fc23
Reviewed-on: https://dart-review.googlesource.com/c/78150
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-10-08 19:51:10 +00:00
Ryan Macnak 41a9c38433 [vm, compiler] Shrink deopt stub and runtime call sequences.
dart2js release
AOT X64 Instructions(CodeSize): 10171456 -> 10090272 (-0.798%)
AOT ARM Instructions(CodeSize): 10814976 -> 10708512 (-0.984%)
AOT ARM64 Instructions(CodeSize): 11751328 -> 11646464 (-0.892%)
JIT X64 Instructions(CodeSize): 14296224 -> 13593536 (-4.92%)
JIT ARM Instructions(CodeSize): 16034352 -> 15685664 (-2.17%)
JIT ARM64 Instructions(CodeSize): 17207968 -> 16901504 (-1.78%)

Bug: https://github.com/dart-lang/sdk/issues/26033
Change-Id: Ic41a80fe8a90973811e74471e13f3edb6e4bffb6
Reviewed-on: https://dart-review.googlesource.com/c/77987
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-10-08 17:44:43 +00:00
Ryan Macnak b2d22be0f3 [vm, arm64] Take advantage of Fuchsia's lack of signal handlers.
Change-Id: I5cac30574a697a91116658cab5289d80f316f4b1
Reviewed-on: https://dart-review.googlesource.com/c/77901
Reviewed-by: Zach Anderson <zra@google.com>
2018-10-08 16:59:20 +00:00
asiva af57d2a0eb [VM] Remove dead code associated with flag '--error-on-bad-override'
- Remove all dead code associated with flag '--error-on-bad-override' which is currently running only under !FLAG_strong which is not valid anymore
- Not removing the flag from flag_list for now as it is used in a number of tests and removing it from all these places would be a big change, it would be a NOP flag
- removed some dead code in 'loader.dart' which was invoked from the tag handler

Change-Id: I5474b51b4dee7471e80b4081e55b996f1d75612f
Reviewed-on: https://dart-review.googlesource.com/c/78382
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-10-08 04:44:24 +00:00
Alexander Aprelev 08f6b34f78 Revert "[vm] Assert that we are not trying to construct old(reloaded) class constructor."
This reverts commit ff3a841e2d as it
breaks quite a few reload buildbots tests.

Change-Id: I6e1d0bc6b69d4349e2ee47cb3419ec90ea129384
Reviewed-on: https://dart-review.googlesource.com/c/78380
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-10-05 22:06:18 +00:00
Zach Anderson 330deaa4e1 [vm] Disable library name and exported name caches
Improves kernel loading time >5%

Change-Id: I1c5ed4cbb2de267b6f47c75612c09da620e9fb89
Reviewed-on: https://dart-review.googlesource.com/c/78183
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-10-05 17:31:20 +00:00
Alexander Aprelev ff3a841e2d [vm] Assert that we are not trying to construct old(reloaded) class constructor.
Construction of old class constructor is not possible since we didn't keep its fields, its structure.

Change-Id: I1e2239c0aa1012737e94c8ba42b0fc07a732b61d
Reviewed-on: https://dart-review.googlesource.com/c/77986
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-10-05 15:52:31 +00:00
Alexander Markov 54a1738f87 [vm/compiler] Allocate result of BIT_NOT constant evaluation in Heap::kOld
Fixes https://github.com/dart-lang/sdk/issues/34683

Change-Id: I6f7b797e495f2af61fa27eecca3a3e6aadfdc3b5
Reviewed-on: https://dart-review.googlesource.com/c/78188
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-05 01:30:12 +00:00
Aart Bik a6f4b8d879 [vm/compiler] Fix crashes in AOT X64 DEBUG compiler.
Rationale:
The method ConstructReplacementFor() in range analysis would unconditionally
replace an UnaryInt64Op with an UnaryUint32Op, regardless of whether it contains
an NEGATE or NOT. None of the backends supports a NEGATE UnaryUint32Op,
however (I added a missing assert to X64 for the future, even though we currently
found the issue in the constructor already). Note that alternatively we could implement
NEGATE UnaryUint32Op for all platforms.

Note:
A similar issue was found for TRUNCDIV with a second fuzz test, which is fixed
in same CL with a more general approach.

Bug:
https://github.com/dart-lang/sdk/issues/34678
https://github.com/dart-lang/sdk/issues/34679


Change-Id: I370268620008e5d4cb605c0bd11e423d8fcd5327
Reviewed-on: https://dart-review.googlesource.com/c/78148
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-04 23:10:45 +00:00
Alexander Markov a97ddf8ce1 [vm/bytecode] Fix sporadic crashes when running with bytecode.
Several tests crashed sporadically as bytecode Code object was not
properly scanned by GC.

Change-Id: I4810c46552a9f1990f1304f7c502b3408df8ed88
Reviewed-on: https://dart-review.googlesource.com/c/78141
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>
Reviewed-by: Zach Anderson <zra@google.com>
2018-10-04 20:01:25 +00:00
Alexander Markov 46983c2de9 [vm/aot/tfa] Detect if a method/setter is called from this
This information could useful in AOT to omit unchecked entry points.

Change-Id: I1c54720e46d578dc64f67306abdf4619a34ae122
Reviewed-on: https://dart-review.googlesource.com/c/77921
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-10-04 11:26:44 +00:00
Devon Carew 45a5bc063a Mark the Script.source field as nullable.
Change-Id: I1f176c7aa75eb9a15d3e237d894395632830291e
Reviewed-on: https://dart-review.googlesource.com/c/77981
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-10-03 22:59:17 +00:00
Ryan Macnak 69358a8755 [vm] Remove Dart_IsSnapshot and Dart_IsDart2Snapshot.
Script snapshots no longer exist, so there is no need to distinguish them from kernel files via Dart_IsSnapshot. All snapshots are Dart 2 snapshots, so there is no need to distinguish them via Dart_IsDart2Snapshot.

Change-Id: I996ec4b4e63da6dbebbe05515392f067aa13f578
Reviewed-on: https://dart-review.googlesource.com/c/77942
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-03 21:19:37 +00:00
Zachary Anderson aedf5127bd [vm] Enable bump allocation scope for kernel loader
This shifts the bump allocation scope up to the Dart_ API
implementation so that an IsolateReloadContext won't try
to enter one. It also disables reload during the scope.

Change-Id: I3ca52f35c3a43f58e447e88b4fa91a84d3eacdd9
Reviewed-on: https://dart-review.googlesource.com/77522
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-10-03 17:54:43 +00:00
Alexander Aprelev a33c1a1c17 [vm] Use proper lookup to find constructor during rebinding.
Change-Id: Ia3113e10702b21293bb91a7169a6106ebaabc1c7
Reviewed-on: https://dart-review.googlesource.com/77675
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-10-03 17:38:57 +00:00
Alexander Markov 6d0601a72b [vm/bytecode] Add bytecodes for int operations and '== null'
DeltaBlue performance in pure interpreted mode
(--enable-interpreter --compilation-counter-threshold=-1):
Before: DeltaBlue(RunTime): 269198.732 us.
After:  DeltaBlue(RunTime): 158216.34376923076 us. (-41.23%)

Change-Id: I9dea8d7949421986ee6fbdeae046fe4ef6d3227f
Reviewed-on: https://dart-review.googlesource.com/c/77231
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-10-03 15:45:36 +00:00
Samir Jindel 6c5326ae80 [vm] Fix issue with debugging generated code within RR.
Change-Id: Ifa13d6695624158367b0aa1baadd6ca41e13197f
Reviewed-on: https://dart-review.googlesource.com/c/77880
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-10-03 14:09:17 +00:00
Ryan Macnak d2e08e4952 [vm] Disable concurrent sweeping when --deterministic is set.
Concurrent sweeping introduces non-determinism in heap iteration order, which can affect the result of (e.g.) Symbols::Compact.

Bug: https://github.com/dart-lang/sdk/issues/34638
Change-Id: If5afa41d23b0eabdcd67d0f30d0f8ab1acb3bbd6
Reviewed-on: https://dart-review.googlesource.com/c/77677
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-02 23:36:45 +00:00
asiva 30aa464f77 [VM] Remove 'corelib' and 'dart-io' sources generation into C++ arrays
- Remove all code that generates the corelib and dart:io library sources into C++ arrays and link them into dart_bootstrap
- Remove the executable dart_bootstrap and all uses of it
- Remove bootstrap_nolib.cc and builtin_nocore.cc
- Remove the Dart 1 code in core lib bootstrap path

Change-Id: Ifd33496204285a08b42fe09e39428e7a92b416b6
Reviewed-on: https://dart-review.googlesource.com/c/77241
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-10-02 23:27:05 +00:00
Ryan Macnak abe93563c4 [vm, service] Enable _collectAllGarbage in release mode.
Bug: https://github.com/dart-lang/sdk/issues/34618
Change-Id: I6f70797a221a2f9406f675ce9d97cd0bdab3a1f1
Reviewed-on: https://dart-review.googlesource.com/c/77642
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-02 23:21:53 +00:00
Ryan Macnak 4053ff96ec [vm] Fix --print-instructions-sizes-to in debug mode.
Bug: https://github.com/dart-lang/sdk/issues/34650
Change-Id: I707ce48db7360061a71a50cc0dcd741775c3c272
Reviewed-on: https://dart-review.googlesource.com/c/77668
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-02 20:52:46 +00:00
Ryan Macnak 0804245caa [vm] Make filtering in Heap::RecordAfterGC consistent with ServiceEvent::ServiceEvent.
Bug: https://github.com/dart-lang/sdk/issues/34640
Change-Id: Ie9771efe7af221c00d89f7f476d7faef76fc108f
Reviewed-on: https://dart-review.googlesource.com/77640
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-02 19:08:30 +00:00
Ben Konyi 07a8496919 [VM] Allow for Dart_SetVMFlags to be called again after Dart_Cleanup
Change-Id: Icf07258cfb05a987e0a439277a59825c06f993b2
Reviewed-on: https://dart-review.googlesource.com/77486
Auto-Submit: Ben Konyi <bkonyi@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-10-02 00:33:37 +00:00
Zach Anderson 07a2130724 [vm] Set translation helper allocation space in kernel loader
This mainly prevents Strings that will eventually be turned into
symbols anyway from being allocated in new space.

Picks up a couple percent during kernel loading.
Possibly avoids triggering a scavenge?

Change-Id: Ide3dca13306981131e6152004e068c2154f9fc4c
Reviewed-on: https://dart-review.googlesource.com/77484
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-10-01 22:18:34 +00:00
Zach Anderson 223055242f [vm] Disable bump allocation scope in kernel loader
This is causing deadlocks e.g. when a new space allocation triggers
a scavenge during kernel loading, and (what looks like) the
background compiler creating a lock cycle if it runs during kernel
loading.

Change-Id: Ie69ef630f77f41da56994b3f2554a4f711b493ab
Reviewed-on: https://dart-review.googlesource.com/77482
Commit-Queue: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-10-01 21:12:14 +00:00
Zach Anderson e98d5d8cc1 [vm] Wait for marker task to finish in BumpAllocateScope
Change-Id: I5a3761a120c4e99d2d62853670ba09d21f270564
Reviewed-on: https://dart-review.googlesource.com/77465
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-10-01 19:33:26 +00:00
Zach Anderson 1dfdcf3593 [vm] Add bump allocation scope
Use it in the kernel loader along with a
NoHeapGrowthControlScope.

Change-Id: I32e8c59298cbc5d022bc7965052d10af838b6b23
Reviewed-on: https://dart-review.googlesource.com/77024
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-10-01 17:19:01 +00:00
Zach Anderson a1951238f3 [vm] Remove name conflict checks from class finalization
These should already be done in the front-end.

Change-Id: I87cb90d14ada46df1ff79f56d4c038c1513610e2
Reviewed-on: https://dart-review.googlesource.com/76701
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-10-01 16:41:21 +00:00
William Hesse ed6d7e23f1 Fix build failure introduced in https://dart-review.googlesource.com/c/sdk/+/77013
A rename of an identifier "InitOnce" was missed.

Change-Id: I7b6bfea07ec3eaecf0486c5d20c33d4c6ff1d81a
Reviewed-on: https://dart-review.googlesource.com/77320
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-10-01 08:30:42 +00:00
Alexander Markov c78f67cc7e [vm/aot] Use TFA to detect dynamic, non-this and tear-off uses
TFA is improved to detect if a method was called using dynamic selector,
was ever called not via this, and whether the tear-off was taken.
This information is used to remove parameter type checks in AOT.

Less accurate selector-based analysis, which was used previously to get
this information, is now used only if TFA is disabled.

Also, precompiler is improved to omit method extractors and implicit
closure functions if analysis proved that tear-off is not taken.

Flutter gallery snapshot size: -0.8%

Change-Id: Iec01257dfdc78104752104df14e2ce078d326a96
Reviewed-on: https://dart-review.googlesource.com/77005
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-09-28 23:49:09 +00:00
Ben Konyi 07852532e3 [ VM ] Additional cleanup in Dart_Initialize and Dart_Cleanup
Change-Id: I6dc02b3d9de16cc176eb97613bc0c7f0bb9b16eb
Reviewed-on: https://dart-review.googlesource.com/77013
Commit-Queue: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2018-09-28 23:18:59 +00:00
Alexander Markov deb0645654 [vm/bytecode] Cleanup unused bytecode instructions
Change-Id: I956525dbeb3fdcb4b65a5530dbb59a96b4a02e81
Reviewed-on: https://dart-review.googlesource.com/77224
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-28 21:23:22 +00:00
Alexander Markov 2aac05fe10 [vm/bytecode] Add specialized JumpIf* instructions
This change adds JumpIfEqStrict, JumpIfNeStrict, JumpIfTrue, JumpIfFalse,
JumpIfNull, JumpIfNotNull bytecode instructions. These instructions
supercede If*/Jump instruction patterns.

Change-Id: Icf9dc624001ce64d4b21409864591d693ead51d3
Reviewed-on: https://dart-review.googlesource.com/77011
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-28 16:29:23 +00:00
Samir Jindel 30333c508f [vm] Fix bug with generic invocation of fields.
Change-Id: I644f6a66891cf87853b2e7de784c73292bcb2955
Reviewed-on: https://dart-review.googlesource.com/76661
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-09-28 09:50:21 +00:00
Jens Johansen a4b4b76dd0 VM Service: Allow '$' in scope identifier
'var $1 = 42;' for instance is perfectly fine dart code.

Change-Id: Ia21d9e9b5b276babc93de2f35303bdb7640f3c13
Reviewed-on: https://dart-review.googlesource.com/76902
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-09-28 06:41:11 +00:00
asiva c9f5c3a79e [VM] Delete access to Dart 1 parser.
- delete access to Dart 1 parser
- Skip codegen unit tests as they use the Dart 1 parser

Change-Id: I24f3986fac9c496e231c723c6eaa0704e6a616f5
Reviewed-on: https://dart-review.googlesource.com/77009
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-27 23:08:20 +00:00
Ryan Macnak 7f9a9feae1 [vm, service] Rename 'invoke' parameter 'receiverId' to 'targetId'.
For consistency with the documentation and other service methods.

Change-Id: Ife4a4cf2445b7dad72e0a911fe1b94cec6ab5db5
Reviewed-on: https://dart-review.googlesource.com/77007
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-27 22:02:42 +00:00
Ben Konyi 6f3de544ed [ VM / Hot Reload ] Fixed tests which were crashing periodically. Fixes issue #34599
Change-Id: I053701122f4a95ae3d9f27b91134433201bfe8aa
Reviewed-on: https://dart-review.googlesource.com/77004
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2018-09-27 21:47:39 +00:00
Ryan Macnak e811b29788 [vm, gc] Restore growth policy when concurrent marking is not enabled.
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: If1ebe2f0375d1519214990c0d07937b87e326205
Reviewed-on: https://dart-review.googlesource.com/76782
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-09-27 21:28:19 +00:00
asiva 76470aca47 [VM] use coresnapshot when initializing an Isolate
- use core snapshot when initializing an isolate (CorelibIsolateStartup benchmark moves from 39s to 2s)
- remove use_dart_frontend flag from the isolate specific flags
- the script snapshot API functions now return an error

Change-Id: Ia562e007fdbfd1d3ebd8e1a0c8feee238bada00b
Reviewed-on: https://dart-review.googlesource.com/76709
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-27 00:55:07 +00:00