Commit Graph

15405 Commits

Author SHA1 Message Date
Régis Crelier 12b33ada44 [VM interpreter] Support NativeCall kernel bytecode.
Change-Id: I89c905d17fb48447239ee4b0c1c8c50060239b88
Reviewed-on: https://dart-review.googlesource.com/59560
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-06-13 23:30:44 +00:00
Aart Bik db72134f90 [vm/inliner] Add smi return type of clamped convertors.
Rationale:
Rather than forced inlining of clamped convertors
(the "saturated" method _toClampedUint8() from
dart:typed_data), exposing the fact that it always
returns smi values (since they check fail on null inputs)
yields much better Uint8ClampedListView performance
(it avoids re-compilation due to a speculative CheckSmi).

Note:
In the long run, we may still want them inlined
and improve range analysis to deal with clamping.

Performance:
About 2.8x faster than previous optimized version,
about 4.5x faster than original.

https://github.com/dart-lang/sdk/issues/33205

Change-Id: I86a06525d2f2ea0476effd3c3d856ff8d9ab1d87
Reviewed-on: https://dart-review.googlesource.com/60201
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-06-13 23:15:04 +00:00
Zach Anderson 664f756914 [vm] Reduce maximum new generation size and growth rate.
For example, by default 64-bit architectures now grow as 2, 4, 8, 16 instead of 2, 8, 32.

This change is to reduce memory usage and maximum minor GC time for Flutter and Fuchsia.
It would negatively impact batch applications, which prefer throughput,
so the new defaults are overriden by the command-line Dart VM in
runtime/bin/main.cc

Change-Id: Ie56a7599d4011a629c8c57bd88fec3ee8f277a9f
Reviewed-on: https://dart-review.googlesource.com/54305
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-13 20:50:34 +00:00
Peter von der Ahé bd603ba3c6 Record dependencies via CompilerContext
Change-Id: Ia53314aecb0f3162ef2cb8ec451681651aa30d42
Reviewed-on: https://dart-review.googlesource.com/58202
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-06-13 20:49:54 +00:00
Ryan Macnak 9b5a931b06 [vm] Replace most runtime/vm uses of OS::Print with OS::PrintErr.
Leave --print-snapshot-sizes on stdout because it is parsed by Flutter benchmarks.

Replace all runtime/bin uses of OS::Print with Log::Print.

Bug: https://github.com/dart-lang/sdk/issues/32134
Change-Id: I74aacfb410cdfa9270d06e7f6ab0534520c7c7ba
Reviewed-on: https://dart-review.googlesource.com/60021
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-13 19:51:40 +00:00
Ben Konyi 1e91c62d4b [ VM / dart:io ] Fixed issue where Link.rename would fail on Windows if another link or directory with the same name as the target existed. Fixes issue #30687.
Change-Id: I2ef4dc08cc60c57e1fab38323d67afd3fba47e84
Reviewed-on: https://dart-review.googlesource.com/60060
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-06-13 18:03:20 +00:00
Ben Konyi 76468ff8a2 [ VM ] Add back some mirrors related APIs to lookup functions/closures by name.
Change-Id: I6e1c67b987d98c8a3ca61c317ca21d2d8c94da9c
Reviewed-on: https://dart-review.googlesource.com/59301
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-12 23:50:04 +00:00
Ryan Macnak 26c7ab1331 [standalone] Record dependencies in DFE and include them in snapshot depfiles.
Bug: https://github.com/dart-lang/sdk/issues/33390
Change-Id: Ib1ce6078ccff1b8727c26a8ff7b24e9fb99fd086
Reviewed-on: https://dart-review.googlesource.com/60020
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-12 22:29:33 +00:00
Aart Bik 12c461b15a [vm/inliner] Inlining of typed_data polymorphic getters/setters
Rationale:
Handles remaining polymorphic reason for typed_data
setters and getters (internal vs. external) during inlining.
Also introduces high level flow graph utilities that
can be reused throughout the compiler to reduce
future code duplication. Disables type speculation
for 64-bit AOT Dart2 to make all work.

Performance:
About 4x speedup on micro benchmarks (AOT64).

https://github.com/dart-lang/sdk/issues/33205

Change-Id: I678426719e49cd8aa1e5051523da12178120b3ba
Reviewed-on: https://dart-review.googlesource.com/59000
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-06-12 22:28:34 +00:00
Zach Anderson 1d9d6a7a8b [dart:io] Don't apply the namespace to the kernel service isolate
Change-Id: If29cb9c0202c8121f6076025fb3870d4f5721948
Reviewed-on: https://dart-review.googlesource.com/59903
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-06-12 20:32:29 +00:00
Mike Fairhurst 7911fb2683 First pass at disabling packages/ dir, packageRoot
Change-Id: Ib2d7738c84cd1258dcad46e8e2c8da8105efea60
Reviewed-on: https://dart-review.googlesource.com/59100
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-06-12 19:38:40 +00:00
Samir Jindel d963cc0a80 [vm] Still launch service isolate in non-precomp product.
Fixes Tests:

python tools/test.py -m product -c app_jit --no-preview-dart-2 lib_2/isolate/function_send1_test
(and others)

Change-Id: I1a2697ca8924251a688f79f02a40b9d292676132
Reviewed-on: https://dart-review.googlesource.com/59881
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-06-12 17:05:50 +00:00
Adam Barth 54d59f1275 [fuchsia] Update to zx_cprng_draw_new
The new version of zx_cprng_draw either succeeds in reading the
requested amount of data or fails entirely. A future CL will rename
zx_cprng_draw_new to zx_cprng_draw once zx_cprng_draw has this new
behavior.

Change-Id: I08acad6a3443cb295f7855afdd63010dcf872820
Reviewed-on: https://dart-review.googlesource.com/59861
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Adam Barth <abarth@google.com>
2018-06-12 16:10:41 +00:00
Samir Jindel beb0432d6c Re-land "[vm/kernel/aot] Exclude vmservice_io from "product" AOT snapshots."
This reverts commit 17585c42fe.

The original revision is in Patchset 1.

Fixed Tests:

python tools/test.py -m debug -c dartkp -r dart_precompiled --strong standalone_2/no_support_service_test
python tools/test.py -m product -c precompiler -r dart_precompiled lib_2/isolate/function_send1_test

Change-Id: I6af715ee3c080b515c8312357f3d8be6e494747a
Reviewed-on: https://dart-review.googlesource.com/59760
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-12 15:31:19 +00:00
Régis Crelier 87a46b8bee [VM Bigint] Fix _convert() of classic reduction for negative Bigint (fixes #33405).
Add regression test in existing bigint test.


Change-Id: I3dd0cc24ef19531dd16c89b4565f687a7b2b46bd
Reviewed-on: https://dart-review.googlesource.com/59820
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-06-12 15:12:00 +00:00
Lasse R.H. Nielsen 0b91676362 Remove the retype method.
See #33075.

Bug: http://dartbug.com/33075
Change-Id: I1ee2f587afbc672dd08ac61ac003bbdc85bb95e2
Reviewed-on: https://dart-review.googlesource.com/59091
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-06-12 14:36:09 +00:00
Vyacheslav Egorov a63e9cebd5 [vm] Fix ARM64 breakage caused by fc6af81a7a
Pool pointer is untagged on ARM64.

Change-Id: I5c9c81d1b7377f8bace5243e196aafc778d5ba3d
Reviewed-on: https://dart-review.googlesource.com/59840
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-06-12 00:09:38 +00:00
Régis Crelier 4b8af662fc [VM interpreter] Generation of pc descriptors, exception handlers for bytecode.
Fixes in stack unwinding and frame iteration.

Change-Id: Ic67eb5727512138cbfa9313094d48e21384b220c
Reviewed-on: https://dart-review.googlesource.com/59520
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-06-11 23:43:49 +00:00
Vyacheslav Egorov fc6af81a7a [vm] Use LoadWordFromPool in AssertAssignable on ARMs instead of raw ldr
Pool offsets might be not encodable as immediates. However
 InstructionPattern::DecodeLoadWordFromPool can decode anything that
 LoadWordFromPool can emit.

Fixes https://github.com/flutter/flutter/issues/18332

Change-Id: I8873f523bb65844e7256c0c3030edea4cc591830
Reviewed-on: https://dart-review.googlesource.com/59640
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-06-11 21:33:05 +00:00
Alexander Markov da4fa78c79 [vm/compiler] Generate PC descriptors for deopt points even if not optimizing
To reduce size, PC descriptors corresponding to deoptimization points
were omitted if FLAG_optimization_counter_threshold < 0.

However, even if generation of optimized code is disabled with
'--optimization-counter-threshold=-1' option, we could still load optimized
code from snapshot. The loaded code can trigger deoptimization and
PC descriptors corresponding to deoptimization points could be needed.

This change removes this incorrect optimization of PC descriptors size when
optimizing compiler is disabled.

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

Change-Id: I74b0fab34ca1a46672e5a8d5c45ea9b506eab9b1
Reviewed-on: https://dart-review.googlesource.com/59481
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-11 19:13:50 +00:00
Ryan Macnak 86db7810ba [build] Declare dependency of the version strings on the current Git commit.
Add fake Git reflog to Debian source tarball.

Bug: https://github.com/flutter/flutter/issues/15348
Bug: https://github.com/dart-lang/sdk/issues/32614
Change-Id: Ib4104a98cf245ee11285a37d5eee3165ca656645
Reviewed-on: https://dart-review.googlesource.com/48091
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-11 18:22:09 +00:00
P.Y. Laligand 0d6fe9680a [fuchsia] Update references to timezone service.
Change-Id: Ieaa629910b9b572a237293e0c096fd374f129d4a
Reviewed-on: https://dart-review.googlesource.com/59461
Reviewed-by: Zach Anderson <zra@google.com>
2018-06-11 17:39:40 +00:00
Martin Kustermann 0a8b236159 [VM] Make the encoding of variable descriptors use variable indices
This decouples the scope building from knowing about frame layout.

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

Change-Id: I9058b242fb24f859f54d6e3660a5972df86d39e6
Reviewed-on: https://dart-review.googlesource.com/59093
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-11 09:55:54 +00:00
Régis Crelier 7302222c6d [VM runtime] FutureOrTypeTest code does not account for TypeRef's (fixes #33392)
Change-Id: I62d67b80e1da1ace6a16b89c3d533d3d37a9d6b2
Reviewed-on: https://dart-review.googlesource.com/59380
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-06-08 17:21:38 +00:00
Alexander Markov 17585c42fe Revert "[vm/kernel/aot] Exclude vmservice_io from "product" AOT snapshots."
This reverts commit 23fff58503.

Reason: failures on vm-kernel-precomp-linux-debug-x64-4-8-be,
precomp-linux-debug-x64-1-3-be, precomp-linux-product-x64-be bots.
Change-Id: I7bd67038aac3795c4b6ec9562c6fd4afead41a36
Reviewed-on: https://dart-review.googlesource.com/59242
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-08 00:51:53 +00:00
Alexander Markov 84b3af7b7b [gardening] Skipping more timed-out tests on vm-kernel-win-release-x64
Issue: https://github.com/dart-lang/sdk/issues/32137
Change-Id: I0ac4be2a9e9caaf5e98c0cb2b9de5d49aad00245
Reviewed-on: https://dart-review.googlesource.com/59241
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-07 22:41:56 +00:00
Samir Jindel 23fff58503 [vm/kernel/aot] Exclude vmservice_io from "product" AOT snapshots.
The `@pragma` annotation on `vmservice_io.main` is modified to only mark it as a
root on non-product builds. Since the annotation is evaluated in the constant
transformation, we need to thread a flag through `gen_kernel.dart` indicating
whether the Kernel produced should target a product precompiler.

# Test Plan

Tested locally on Flutter. Unfortunately it's not possible to test the scenario where
`vmservice_io` is not included, since we don't have any "product" bots. Soon the
flag will be introduced into Flutter, and we will have some coverage from there.

Change-Id: I39f12343038fa221aafe5a55241bff4b8d14ec19
Reviewed-on: https://dart-review.googlesource.com/57501
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-07 20:22:21 +00:00
Ryan Macnak de23d0efa3 [vm] Refactor growth policy to remember capacity limits.
Simplifies evaluating the policy on each page growth and external allocation. Does not change the growth policy for synchronous GC.

Update the policy for idle GC to use capacity instead of used for consistency.

Change-Id: I3340399f7b97626e6b33bd8086ad408a9ff20ed4
Reviewed-on: https://dart-review.googlesource.com/58640
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-07 17:51:38 +00:00
Alexander Markov 4995c482bf [vm/compiler] Remove overflow checks from 64-bit int operations
This is a follow-up cleanup after '--limit-ints-to-64-bits' was removed.

Change-Id: Ifb02ca8055ddb830cf0bd5dd2a591d6ae5a1ab74
Reviewed-on: https://dart-review.googlesource.com/58921
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-07 17:19:49 +00:00
Ryan Macnak 4be0e45895 [vm-service] More thoroughly guard RPCs that require a compiler or debugger.
Change-Id: I1d6d5b9d9df5586b9c317b2c858c91b9b496ff6a
Reviewed-on: https://dart-review.googlesource.com/58922
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-07 16:48:14 +00:00
Martin Kustermann a603635b85 [VM] Decouple frontend from frame layout
So far the frontend (parser, flow graph builder, ssa construction) were
aware of the actual frame layout.

This CL makes the indices we assign to [LocalVariable]s logical
indices, assigning:

  * M parameters the indices      1 ... M
  * N local variables the indices 0 -1 ... -(N-1)

The scope building, flow graph builder and ssa construction operate on
those logical indices.

When emitting actual code, the backend will translate those indices into
actual FP relative indices. This allows us to be more flexible in the
backend which frame layout we choose.

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

Change-Id: I9a504bf97821c257aafd2b3430df9f4c9da4b442
Reviewed-on: https://dart-review.googlesource.com/57321
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-07 11:35:58 +00:00
Vyacheslav Egorov 0d6be92bfb [gardening] Mark snapshot determinism tests flaky Pass, Fail
TBR=rmacnak@google.com

Bug: https://github.com/dart-lang/sdk/issues/31427
Change-Id: I850056ff2fc42d1a2df8c709cfd1371ac9bcab3b
Reviewed-on: https://dart-review.googlesource.com/59062
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-06-07 10:39:12 +00:00
Florian Loitsch 9672d69a06 Mark pause_on_unhandled_async_exceptions_test as flaky with optimization_counter_threshold. with optimization_counter_threshold.
Change-Id: Ic9895b8638bf218dab63f42b6d8cc11d37f93dfa
Reviewed-on: https://dart-review.googlesource.com/58782
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-06-06 17:09:08 +00:00
Adam Barth 6dd945599e [fuchsia] Move FDIO headers
These headers are now at this location.

Change-Id: I61bbe005093e241d9d7ca4435e3d7bbd6f9d27b8
Reviewed-on: https://dart-review.googlesource.com/58701
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Adam Barth <abarth@google.com>
2018-06-06 16:47:05 +00:00
Florian Loitsch 2b36f923d9 Fix status file.
Change-Id: Ica224de62d1db05715c6fd1ac609759118e2cce0
Reviewed-on: https://dart-review.googlesource.com/58722
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-06-06 15:11:27 +00:00
Florian Loitsch 398ba13e4a Reapply "Make --sync-async the default for the VM."
Change-Id: I6e4da0da6c3f635d84380b384ae17fbb55587895
Reviewed-on: https://dart-review.googlesource.com/58721
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Florian Loitsch <floitsch@google.com>
2018-06-06 14:32:13 +00:00
Martin Kustermann a4af44b470 [VM] Do not invoke any functions during AOT compilation
In Dart 2.0 AOT compilations we give dart_bootstrap/gen_snapshot the
fully linked Kernel IR file (*.dill file) with evaluated constants.

This CL will make the 2.0 AOT compiler

   * only accept .dill files as input
   * no longer invoke various functions during startup
   * no longer start the VM service
   * hit unreachable in DartEntry::InvokeFunction()

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

Change-Id: Iaba44386633856774a0c29be043780b9b262df0f
Reviewed-on: https://dart-review.googlesource.com/56520
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-06-06 10:56:10 +00:00
Ryan Macnak b375d69800 [observatory] When the VM is forwarding events to the Android or Fuchsia system tracers, link to the document describing how to use them.
Change-Id: I940b2d5b47a54661c5d25e6d52e714b8819d79a6
Reviewed-on: https://dart-review.googlesource.com/58601
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-05 21:55:56 +00:00
Ryan Macnak edb1642709 [vm] Repair interpreter build.
Change-Id: I194b705523cec3ebb1c3edba6546561c337b28c9
Reviewed-on: https://dart-review.googlesource.com/58600
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-05 21:44:26 +00:00
Ryan Macnak 787a43ec78 [vm] Fix some missing private name mangling in the kernel reader.
Bug: https://github.com/dart-lang/sdk/issues/32345
Bug: https://github.com/dart-lang/sdk/issues/33326
Bug: https://github.com/dart-lang/sdk/issues/33345
Change-Id: I89fb8f0332ef6f9f40de59c219af2a7c23e5943f
Reviewed-on: https://dart-review.googlesource.com/58400
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-06-05 20:14:46 +00:00
Doug Evans cc1a817faa Use ZX_THREAD_STATE_BASIC on state output of ZX_INFO_THREAD.
Change-Id: I0429ad208cddb0cb21db293fd798cb872f71b305
Reviewed-on: https://dart-review.googlesource.com/58560
Reviewed-by: Zach Anderson <zra@google.com>
2018-06-05 19:53:21 +00:00
Paul Berry b66dd3d456 Stop using generic comment syntax in observatory.
In most cases the correct fix is to simply drop the generic comment
syntax (e.g. replace "List/*<Map>*/" with "List").  We can't use the
more precise type because the runtime type is actually more general
(e.g. when processing an object that came from the JSON parser, all
lists have runtime type List<dynamic>, even if their elements happen
to be uniform).  But we can introduce more precise types when handling
substructures.

Exception: all JSON-derived maps have type Map<String, dynamic> (since
JSON maps always have string keys), so we can use a more precise type
when dealing with JSON maps.
Change-Id: I48c9dbdda97c11530978212146f74db7b43f5197
Reviewed-on: https://dart-review.googlesource.com/58320
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-05 18:29:26 +00:00
Vyacheslav Egorov 7b972a653b [vm/linearscan] Account for definitions with no SSA name when processing PairLocation outputs.
ToSecondPairVreg(kNoVirtualRegister) should be kNoVirtualRegister not 0.

Revert fe28a2939a which updated statuses for
crashing tests.

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

Bug: https://github.com/dart-lang/sdk/issues/33329
Change-Id: I48e95bcb6f95555ec9ac51adc1f61619fbf40139
Reviewed-on: https://dart-review.googlesource.com/58461
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-06-05 17:41:34 +00:00
Alexander Aprelev 09fc582bfd Fix EvalExpression test.
Instance::Evaluate was replaced with EvaluateCompiledExpression. This fixes the test.
Change-Id: Ie5aba0a7ef25209a3319a07d45d76f347f6f3e95
Reviewed-on: https://dart-review.googlesource.com/58440
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-05 17:40:59 +00:00
Alexander Aprelev 8bfbce33f1 Mark cc/Profiler_CodeTicks as failing on Windows, dartk x64 config
Change-Id: I44ab656634500cdd1dc43f2710c964e87dbffd4e
Reviewed-on: https://dart-review.googlesource.com/58520
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-05 17:32:54 +00:00
Aart Bik b7493b663e [vm/inliner] Inline small int convertors.
Rationale:
Always inline int convertors that don't do
much more than testing and anding.
For example, force inline
  v26 <- StaticCall:66( _toUint8@6027147<0> v4 T{Type: class 'int'?}) T{Type: class 'int'?}
to
  v47 <- Constant(#255)
  ..
  CheckSmi:10(v4 T{Type: class 'int'?})
  v45 <- BinarySmiOp:10(&, v4 T{_Smi}, v47 T{_Smi}) T{_Smi}

https://github.com/dart-lang/sdk/issues/33205

Change-Id: I595d9a64365e16ae244480b5e27f8be23c43d164
Reviewed-on: https://dart-review.googlesource.com/58061
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-05 16:54:19 +00:00
Paul Berry 60631b0944 Remove unnecessary casts from observatory.
Change-Id: I2ad59645471b41ce0c8530665b9dc2bcd3e56e7d
Reviewed-on: https://dart-review.googlesource.com/58321
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-05 15:55:00 +00:00
Alexander Aprelev e0ca1514a2 Mark test as failing.
Post a5e41681e5, the method Instance::Evaluate is now redundant in dart2 mode. Instead Instance::EvaluateCompiledExpression should be used.

The https://dart-review.googlesource.com/c/sdk/+/58440 should fix the test.

Change-Id: I18ee49174f51b46a87a56324be054ebc832a04df
Reviewed-on: https://dart-review.googlesource.com/58441
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-05 06:25:10 +00:00
Alexander Aprelev a5e41681e5 Add support for expression compilation via service.
If there is registered expression compiler, VM debugger uses it to compile expressions. Otherwise, it will fallback to use kernel service compiler.
This is needed to support Flutter use case where compiler is running on developer's host machine, not on the device where VM is running.

Bug: dartbug.com/31981
Change-Id: I8bdfc8ab45a57c306169abe189f1e24e1b0bcf40
Reviewed-on: https://dart-review.googlesource.com/57520
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-05 04:16:39 +00:00
Ryan Macnak ade0e93090 [vm] Normalize external string finalizers.
- Remove a level of indirection when accessing code units.
 - Require a finalizer when constructing an external string.

Change-Id: I3f65246bf0ac50ffad900e2c338623a7684a9d3d
Reviewed-on: https://dart-review.googlesource.com/54300
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-06-04 23:44:39 +00:00