Commit graph

61223 commits

Author SHA1 Message Date
Liam Appelbe c167cd3572 [VM] Experimental flags in dartkp tests
Plumb experimental flags found in a test's SharedOptions through to the
gen_kernel command invoked in dartkp tests. Also enable a whole bunch
of tests that are now passing.

Bug: https://github.com/dart-lang/sdk/issues/35602
Change-Id: I425f55ea6c84d28e085ab2c848376e396e68a225
Reviewed-on: https://dart-review.googlesource.com/c/90860
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-25 19:47:40 +00:00
Vyacheslav Egorov 759234b05a [vm] Fix disassembler test after f496e538f4
Allocate comment strings in old space.

TBR=kustermann@google.com

Change-Id: Ie670b87791d01848b9c1b12931bd932331818839
Reviewed-on: https://dart-review.googlesource.com/c/91224
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
2019-01-25 19:37:24 +00:00
Ben Konyi bb560bb233 [ VM / dart:io ] Adding to a closed IOSink now throws a StateError
Based off of these original changes:
https://codereview.chromium.org/2857393003

This is a breaking change and will require an annoucement stating such
before landing.

Fixes #29554.

Change-Id: Ibb56fd49648edc6b9fd567240a3bebb05a14234d
Reviewed-on: https://dart-review.googlesource.com/c/90120
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-25 19:23:56 +00:00
Paul Berry 983b77dda7 Remove unused argument allowNullableDereference
Change-Id: I921344bbfe137c376b5b2314a5c82bb2c2bde128
Reviewed-on: https://dart-review.googlesource.com/c/91111
Auto-Submit: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-01-25 19:05:22 +00:00
Konstantin Shcheglov f8fef94243 Authomatically add dependencies from pubspec.yaml files.
In addition to (path, modification) also cache on the content hash.

Implement getLibraries().

R=brianwilkerson@google.com

Change-Id: I263b5479f867aa28d5e43bc0c1bb02702ab6c915
Reviewed-on: https://dart-review.googlesource.com/c/91160
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-25 19:03:51 +00:00
Ryan Macnak 169331abb1 [vm] Misc timeline tweaks.
- Move compiler pass events to a new CompilerVerbose stream
 - Remove serialization phase events
 - Add class name to class finalization event (lost along with finalization events in recent cleanups of finalization)
 - Add event for kernel loading

Change-Id: Ie72bced978400ea174c1551c961baa55c691b019
Reviewed-on: https://dart-review.googlesource.com/c/90883
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-25 18:37:05 +00:00
Dan Rubel 874f9d0bdf Refactor for statement parsing
This CL introduces 2 new parser listener events
in preparation for parsing for control flow structures
in literal lists, sets, and maps.

Change-Id: I230f36cded714a13e4badb401fe5b5906c93a2da
Reviewed-on: https://dart-review.googlesource.com/c/91144
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-01-25 18:15:00 +00:00
Ryan Macnak 9043e5be44 [vm, gc] Remove --gc_at_alloc.
Change-Id: Ied987c5fb0389432474a6ef8ee62ed7089c9e672
Reviewed-on: https://dart-review.googlesource.com/c/91142
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-25 18:03:30 +00:00
Vyacheslav Egorov 27760001f5 [vm] Fix build after f496e538f4
* Introduce forward declaration for RawObject;
* Move compiler::target::ClassTable::ClassOffsetFor under ifdef PRODUCT

Change-Id: Iacf5cbdaec0c2999aae7c8e0683a58e392f3e960
Reviewed-on: https://dart-review.googlesource.com/c/91220
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-25 18:01:50 +00:00
Sigmund Cherem bb4a880777 Report duplicate set entries with a different error
It will take some time until the CFE will take on reporting this error (and
duplicate keys in maps).

For now: detect whether a map is used as the implementation of a set literal,
and if so report the error differently.

Change-Id: I9f657189c79a4532023f615aa91bf63602f27664
Reviewed-on: https://dart-review.googlesource.com/c/91102
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-01-25 17:12:43 +00:00
Vyacheslav Egorov f496e538f4 [vm] Decouple assemblers from runtime.
This is the next step towards preventing compiler from directly peeking
into runtime and instead interact with runtime through a well defined
surface. The goal of the refactoring to locate all places where compiler
accesses some runtime information and partion those accesses into two
categories:

- creating objects in the host runtime (e.g. allocating strings, numbers, etc)
during compilation;
- accessing properties of the target runtime (e.g. offsets of fields) to
embed those into the generated code;

This change introduces dart::compiler and dart::compiler::target namespaces.

All code in the compiler will gradually be moved into dart::compiler namespace.
One of the motivations for this change is to be able to prevent access to
globally defined host constants like kWordSize by shadowing them in the
dart::compiler namespace.

The nested namespace dart::compiler::target hosts all information about
target runtime that compiler could access, e.g. compiler::target::kWordSize
defines word size of the target which will eventually be made different
from the host kWordSize (defined by dart::kWordSize).

The API for compiler to runtime interaction is placed into compiler_api.h.

Note that we still permit runtime to access compiler internals directly -
this is not going to be decoupled as part of this work.

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

Change-Id: If4396d295879391becfa6c38d4802bbff81f5b20
Reviewed-on: https://dart-review.googlesource.com/c/90242
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-25 16:45:13 +00:00
Jonas Termansen a5030ed92f [infra] Mark gclient-try as non-experimental.
Change-Id: Ib2f7630b3e2d45fe0ab5a7e8541dab59314817b5
Reviewed-on: https://dart-review.googlesource.com/c/91201
Reviewed-by: William Hesse <whesse@google.com>
2019-01-25 14:43:09 +00:00
Jonas Termansen b2a93177a0 [infra] Fix approve_results deleting existing meta-information.
Change-Id: I585344cdf13d8cde93b0eba8e850d436a11c9200
Reviewed-on: https://dart-review.googlesource.com/c/91200
Reviewed-by: William Hesse <whesse@google.com>
2019-01-25 14:38:48 +00:00
Brian Wilkerson 4f9af4cd03 Add evaluation support for code-as-ui features
Change-Id: I604d03218df8af0f405017367b906f944e877762
Reviewed-on: https://dart-review.googlesource.com/c/91110
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-25 14:20:04 +00:00
Martin Kustermann dfeee239c4 [VM] Fix use-after-free: move free after use
Change-Id: Idcedbd8bdbd94f126846c5390c6cb8d00a21de57
Reviewed-on: https://dart-review.googlesource.com/c/91180
Auto-Submit: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-01-25 13:14:19 +00:00
Martin Kustermann 51bc367806 [VM/AOT] Ensure we set flags from snapshot very early in the VM initialization
There are uses of flags before the VM snapshot gets read, so we need to
move the "snapshot sniffing" code to the very beginning of Dart::Init().

Due to the fact that FullSnapshotReader/Deserializer assume there is a
[Thread] available - and we don't have a [Thread] yet when we should
process the flags - this CL moves version/feature logic into a new
[SnapshotHeaderReader] class which does not depend on Thread/...

Change-Id: I38a45041f0696b96e44fc2b294e3442a5fba1a81
Reviewed-on: https://dart-review.googlesource.com/c/90941
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-01-25 10:31:48 +00:00
Martin Kustermann 8c439c7e84 [VM/AOT] Turn bare instructions on by default
Issue https://github.com/dart-lang/sdk/issues/33274

Change-Id: I44850d5906143a53d6b1872eb729364c3a509f9a
Reviewed-on: https://dart-review.googlesource.com/c/91060
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-25 10:25:18 +00:00
Lasse R.H. Nielsen 89347169c7 Incorporate mixin declarations in language specification.
Change-Id: I41e8f558fd4c3145637a7d2f09cc261815ab2161
Reviewed-on: https://dart-review.googlesource.com/c/84605
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2019-01-25 09:30:51 +00:00
asiva 0a41a2d292 [ Test ] Remove support for flutter runtime from the test framework
Support for the flutter runtime (sky_shell) was added to the Dart
test framework in the hope that one could run the flutter engine
through the Dart test suite. We never got around to running these
tests on the build bots, the sky_shell executable has been deprecated
and there are plans in the flutter engine team to have their own
unit test frame work.

See Issue https://github.com/flutter/flutter/issues/9115 for more
details.

Change-Id: I6ee9e8c919721dccecf4202ab0778939aeb79174
Reviewed-on: https://dart-review.googlesource.com/c/91103
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-01-25 04:16:43 +00:00
Stephen Adams 6bcb017c56 Fix postmessage to treat it's input as a serializable value
Change-Id: I11744735f5e6d6a5593e6ac3f00d87813577db7e
Reviewed-on: https://dart-review.googlesource.com/c/91141
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-01-25 03:56:06 +00:00
Aart Bik a851d4c370 [dart/tools] Option to limit column widths in code size tool
Rationale:
Ensures that copy-paste into gerrit yields readable code.

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

Change-Id: I3df2ed7712216bd67ed092ff62524785ac47ca52
Reviewed-on: https://dart-review.googlesource.com/c/90862
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-25 02:28:53 +00:00
Matthew Dempsky adf48e4d4b [vm] Fix header includes
In https://dart-review.googlesource.com/c/sdk/+/91104, I meant to
delete #include <endian.h>, and accidentally removed #include
<errno.h> instead.

Change-Id: I52e55350d2817c3e6543a8bf806492f1b1dcf3db
Reviewed-on: https://dart-review.googlesource.com/c/91109
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-01-25 02:03:51 +00:00
Matthew Dempsky b11f2d8e69 [vm] Implement VirtualMemory::Allocate using AllocateAligned
Instead of implementing separate aligned and unaligned memory
allocation primitives for each OS, just change the unaligned allocator
into a wrapper around the aligned primitive.

While here, we can optimize the AllocateAligned logic slightly: if we
want an N-page-aligned allocation, we only need to increase the
allocation size by N-1 pages instead of N.

Notably, this means 1-page-aligned allocations don't require any extra
alignment pages, so the new logic behaves identically as before on
Android, Fuchsia, Linux, and macOS.

On Windows, it behaves slightly differently only in that unaligned
requests used to be handled as a single VirtualAlloc call with
MEM_RESERVE | MEM_COMMIT, but now they're handled as two separate
calls (reserve *then* commit). Naively, I don't expect this matters in
practice, but if it does, we can always add a fast path for
alignment==page_size_ without affecting the OS-independent API.

Change-Id: I42b2cf5dfc6e137546d8acfb6cc8939a01687948
Reviewed-on: https://dart-review.googlesource.com/c/91081
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-01-25 01:22:20 +00:00
Sigmund Cherem 60d7e8f72f Include MessagePort in convertions for workers
Address 2 of the 3 issues mentioned in https://github.com/dart-lang/sdk/issues/35730

Change-Id: I4ad67eddf266cdfb8847a277a6d19243dce23184
Reviewed-on: https://dart-review.googlesource.com/c/91106
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-01-25 01:00:35 +00:00
Ryan Macnak 41dc546c6b [vm] Check compiler flags for Dart_Save/LoadTypeFeedback.
Change-Id: Ic733591ce1cac7d69fde28a115f11d43902923bc
Reviewed-on: https://dart-review.googlesource.com/c/90640
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-25 00:53:55 +00:00
asiva fb2d829a0e [VM / Compiler] Change some OS::PrintErr to THR_Print
We still see some trace messages related to the compiler coming from the
service isolate when debugging compilations. Chnaged some of the

OS::PrintErr calls in the trace code under the compiler to THR_Print
so traces from the service isolate can be filtered out.
Change-Id: Ib370cb3bf4a1ce175b4ade9fafa187fecfa91cef
Reviewed-on: https://dart-review.googlesource.com/c/91140
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-01-24 23:52:02 +00:00
Matthew Dempsky ec6b212421 [vm] Remove unused endian-conversion code
These seem to have accidentally snuck in as part of
https://codereview.chromium.org/14299008

Change-Id: I861eba1655d6f175ddfabf2a39908168b890d911
Reviewed-on: https://dart-review.googlesource.com/c/91104
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-01-24 23:32:33 +00:00
Matthew Dempsky 0193dd58fa [vm] Deduplicate POSIX-based memory allocation code
The Android, Linux, and macOS VirtualMemory implementations were
identical and using the same POSIX-standardized interfaces, so
deduplicate them into a common virtual_memory_posix.cc implementation.

Change-Id: I58a2aaa959aac69af52d9faba88865a4ef20d004
Reviewed-on: https://dart-review.googlesource.com/c/91080
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
2019-01-24 22:39:50 +00:00
danrubel 56123f08b0 Update parser to support simple if/else control flow in literal lists, sets, and maps
Change-Id: I740beea833ed1ad76582ad5232549bd204981808
Reviewed-on: https://dart-review.googlesource.com/c/90901
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-24 22:22:50 +00:00
Kevin Moore 7a1e7b5fff Remove four packages from DEPS
pkg:platform is no longer useds. process and file were only needed by platform
pkg:func is no longer used

Also removed non-existent entries in .packages

Change-Id: I927856efa0f6fc49676885616c3ecd5183250454
Reviewed-on: https://dart-review.googlesource.com/c/91101
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-24 21:40:58 +00:00
Sam Rawlins f4afaee422 Adjust dart2js notes
The sentence starting with "Because" is not a third "In particular"
bullet point.

Change-Id: Icdd2bc82b3650d9595a571de459e9683a6c0a41b
Reviewed-on: https://dart-review.googlesource.com/c/91040
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-01-24 20:22:41 +00:00
Mike Fairhurst 31dc729452 Fix #35305, promoting a type that should not be promoted.
Bug: 35305
Change-Id: If62e875feed1bed73ec189fa011183fd3e5b4a1b
Reviewed-on: https://dart-review.googlesource.com/c/90881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-01-24 19:10:06 +00:00
Peter von der Ahé 15dc147226 Prevent serialization of synthetic kernel nodes
Change-Id: Iad2300d8fa5384b5d692c5598c9311e600427dd2
Reviewed-on: https://dart-review.googlesource.com/c/90003
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-24 18:55:44 +00:00
Peter von der Ahé 53b372f575 Test that shows leaking synthetic nodes
Change-Id: I8f68795380c1d6963203f9356244d2599be6c9cb
Reviewed-on: https://dart-review.googlesource.com/c/90002
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-24 18:55:44 +00:00
Peter von der Ahé 07ec31dcf1 Create kernel nodes from parsed types
Change-Id: I2f56d05c7d6639ec3e3d7848cddcc665d13086a1
Reviewed-on: https://dart-review.googlesource.com/c/90004
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-24 18:53:04 +00:00
Konstantin Shcheglov 6de1c478c3 Revert "Revert "Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.""
This reverts commit 3f8ea3f508.

Change-Id: Ib034895f4cf29492e66dd07b7da1a99ba5e94bf6
Reviewed-on: https://dart-review.googlesource.com/c/90885
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-24 17:30:41 +00:00
Matthew Dempsky 8e2f3ea4d6 [fuchsia] Always allocate executable memory in W^X mode
In W^X mode (i.e., FLAG_write_protect_code), the Dart VM allocates
code memory with is_executable==false and then later makes it
executable with Protect(kReadExecute). However, on Fuchsia, this will
require a VMO with ZX_RIGHT_EXECUTE (which soon will not be the
default).

This CL takes the approach of always adding ZX_RIGHT_EXECUTE when in
W^X mode. This is suboptimal because it means all VM allocated memory
can be changed to executable, but currently the OS-independent
VirtualMemory::Allocate API doesn't provide us a way to identify
memory that doesn't need to be executable now but will in the future.
(Note that ZX_RIGHT_EXECUTE only *allows* mapping the memory as
executable; the memory is still initially mapped by
VirtualMemory::Allocate as non-executable.)

Extending the VirtualMemory::Allocate API is tracked in FL-172.

Bug: SEC-42
Change-Id: I20555c546c5ab1798c4c36b7394f6221d3993c9e
Reviewed-on: https://dart-review.googlesource.com/c/90882
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2019-01-24 16:59:08 +00:00
Paul Berry c9b1877cbf Disable task model for clients by making WorkItem inconstructible.
The task model is still allowed in analyzer tests since we still have
some unit tests of non-task-model functionality that rely on the task
model to do their testing (see #35734).

Unit tests whose sole purpose was to test the task model have been
removed.  Test files that now empty have been removed.  Non-empty test
files that now contain no tests of their own have had their `main`
functions removed, and have been renamed so that the testing
infrastructure will no longer attempt to run them.

Change-Id: I8b4d0b2dde9337c4e1fe91e443a2c9da6eee8f4f
Reviewed-on: https://dart-review.googlesource.com/c/90720
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-01-24 16:29:17 +00:00
William Hesse bd2b07cd71 [infra] Fix expected results of multitests, drop checked-only results.
All multitests expecting errors were just being reported as expecting "fail", not as expecting compile-time
or runtime error.  Cleaned up legacy checked-only expectations as a side effect.

Change-Id: I7785db0e094e3af3464700fbc71aac30b8bb4282
Reviewed-on: https://dart-review.googlesource.com/c/90684
Reviewed-by: Jonas Termansen <sortie@google.com>
Auto-Submit: William Hesse <whesse@google.com>
2019-01-24 12:44:09 +00:00
Erik Ernst 33ae5f0a47 Performed copyedits proposed by Patrice Chalin
.. in https://codereview.chromium.org/1217533003. Several of them were
not applicable because the text is very different today, and many were
already performed. This CL performs the missing ones.

Cf. https://github.com/dart-lang/sdk/issues/23781.

Change-Id: If356c887188368ec26755d99aa7d97fa8ea56b8c
Reviewed-on: https://dart-review.googlesource.com/c/90223
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-24 12:42:13 +00:00
Kevin Millikin afc7f47aaa Clean up co19_2 Kernel status files
Change-Id: I0a939b2d2cfafbf4971124168e8bdae02faad7f4
Reviewed-on: https://dart-review.googlesource.com/c/90820
Auto-Submit: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-01-24 09:55:03 +00:00
Johnni Winther e97ddcbf64 Add member_usage test for dynamic invocation of generic methods.
Change-Id: Iee549ef1471301eedeb28b130bdb730d434d7b25
Reviewed-on: https://dart-review.googlesource.com/c/90704
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-01-24 07:50:40 +00:00
Alexander Thomas 957e194735 [infra] Switch co19 DEP to cipd
This means ~20000 files less need to be transferred to test shards.

TBR=whesse@google.com

Change-Id: Ic89e5c71e341dfa7872e82c1b1868df19480fd2f
Reviewed-on: https://dart-review.googlesource.com/c/90743
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-24 07:34:58 +00:00
Konstantin Shcheglov c8e1e277e7 Fix available_declarations_test on Windows.
TBR

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I41a400233ae240545e52d96ec529695305da54ae
Reviewed-on: https://dart-review.googlesource.com/c/90884
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-01-24 02:57:36 +00:00
Konstantin Shcheglov 3f8ea3f508 Revert "Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT."
This reverts commit 5dab28f27f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Bug: https://github.com/dart-lang/sdk/issues/34152
> Change-Id: I4a5f3634c342fbcfb3bf39c060cc658d87306312
> Reviewed-on: https://dart-review.googlesource.com/c/90840
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com

Change-Id: Ib34cb3497bc2935a27622b5f5b187e1e315c8e46
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/34152
Reviewed-on: https://dart-review.googlesource.com/c/90900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-24 01:01:45 +00:00
Liam Appelbe c8e5e06cc9 [VM] Add experimental flags to frontend_server.
Bug: https://github.com/dart-lang/sdk/issues/35602
Change-Id: Idd001a916f51c20d601c793c39d2a7752ed8f747
Reviewed-on: https://dart-review.googlesource.com/c/90503
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-01-23 23:17:38 +00:00
Ryan Macnak b6b4836d1d [vm] Reference type test stubs through Code; use the type as the owner of a type test stub.
Directly referencing VM isolate instructions from an isolate snapshot causes the instructions to be copied into the isolate's image page because instructions do not use the indirection of the ref array. Duplicating the instructions caused TypeTestingStubFinder::LookupByAddresss to be unable to identity the duplicate copies of the VM isolate type testing stubs.

Fixes identity of StubCode::*TypeTest broken by duplication in snapshot.
Fixes generating AppJIT snapshots after loading from AppJIT snapshots.
Fixes attribution of ticks for type test stubs in the AOT profiler.

Change-Id: I9879a85bd548e694ee36e14f795898582ccdddb0
Reviewed-on: https://dart-review.googlesource.com/c/90501
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-23 22:59:47 +00:00
Aart Bik a1b7fad86a [dart/vm] Annotate _ByteDataView to reduce code size
Rationale:
Slava's excellent code size difference tools enables
very fine-grained analysis of the impact of changes.
This CL improves Flutter Gallery size by 18984 bytes.

+------------------------------------------------------+-----------------------------------------+--------------+
| Library                                              | Method                                  | Diff (Bytes) |
+------------------------------------------------------+-----------------------------------------+--------------+
| package:flutter/src/painting/decoration_image.dart   | paintImage                              |         +936 |
| dart:ui                                              | Paint.toString                          |         +592 |
| package:flutter/src/material/tab_indicator.dart      | _UnderlinePainter.paint                 |         +552 |
| package:flutter/src/material/progress_indicator.dart | _CircularProgressIndicatorPainter.paint |         +308 |
| package:flutter/src/services/message_codecs.dart     | StandardMessageCodec.readValueOfType    |         +172 |
| package:flutter/src/services/message_codecs.dart     | StandardMessageCodec.readValue          |          +60 |
| package:flutter/src/services/message_codecs.dart     | StandardMethodCodec.decodeEnvelope      |          +56 |
| package:flutter/src/services/message_codecs.dart     | StandardMethodCodec.decodeMethodCall    |          +56 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| package:flutter/src/widgets/semantics_debugger.dart  | _paint                                  |         -484 |
| dart:ui                                              | Paint.maskFilter=                       |         -568 |
| dart:ui                                              | Paint.colorFilter=                      |         -572 |
| package:flutter/src/painting/borders.dart            | paintBorder                             |         -656 |
| dart:ui                                              | _unpackPointerDataPacket                |         -744 |
| dart:ui                                              | Paint.isAntiAlias=                      |         -808 |
| dart:ui                                              | Paint.strokeCap=                        |         -812 |
| dart:ui                                              | Paint.filterQuality=                    |         -812 |
| dart:ui                                              | Paint.isAntiAlias                       |         -972 |
| dart:ui                                              | Paint.invertColors                      |         -976 |
+------------------------------------------------------+-----------------------------------------+--------------+
Total change -18984 bytes.

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

Change-Id: Iceeb820ed506794e1ac3e7c17f8f116a22bca742
Reviewed-on: https://dart-review.googlesource.com/c/90861
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-23 22:48:37 +00:00
Konstantin Shcheglov 5dab28f27f Issue 34152. Verify file paths and report INVALID_FILE_PATH_FORMAT.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/34152
Change-Id: I4a5f3634c342fbcfb3bf39c060cc658d87306312
Reviewed-on: https://dart-review.googlesource.com/c/90840
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 22:11:17 +00:00
Alexander Markov f7be27e6c0 [vm/bytecode] Add an option to print bytecode size statistics
This CL adds '--show-bytecode-size-stat' option to gen_kernel and
Fuchsia kernel compiler to print breakdown of size of generated bytecode.

Change-Id: I0637738b0a1e9c635cb687bbfd482a9bdae32183
Reviewed-on: https://dart-review.googlesource.com/c/90322
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-01-23 22:03:05 +00:00