Commit graph

59824 commits

Author SHA1 Message Date
Samir Jindel 8b01876d79 Rollback to C++11.
Flutter is compiling us with C++11 so we can't use C++14 features anyway.

Change-Id: I259e70f80442910dd7bf230f5f4e5025bea28802
Reviewed-on: https://dart-review.googlesource.com/c/85202
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-11-22 17:58:52 +00:00
Samir Jindel 8aa0af0654 [vm] Fix C++ incompatibility in V8SnapshotProfileWriter
Change-Id: Ib676762594783b2bc755b8362d7a2dd3522efcb1
Reviewed-on: https://dart-review.googlesource.com/c/85201
Commit-Queue: Samir Jindel <sjindel@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2018-11-22 17:18:05 +00:00
Martin Kustermann a29f55e296 [VM] Mark tests slow after removing unsafe optimization for integer operation folding
Follow-up to https://dart-review.googlesource.com/c/sdk/+/84720

Change-Id: I25b5f8d51c225c8f088937580259d4fd9b8b40ed
Reviewed-on: https://dart-review.googlesource.com/c/85200
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
2018-11-22 16:23:14 +00:00
Martin Kustermann 0ef66e0f5c [VM] Add @pragma("vm:non-nullable-result-type") annotation
A field/function annotated with this pragma must be guaranteed to not
return `null` at runtime.

Make use of this non-nullable annotation in the VM's type propagator.

Annotates the "_TypedListView._typedData" field to ensure the VM knows it
returns a non-nullable _TypedListView.

Furthermore annotates methods on the integer implementation.  Those particular
methods are recognized methods with a "dynamic" return type.  This caused
the type propagator to use CompileType::Dynamic() as result type.  Since a
previous CL started to only utilize the annotated type if it is better than
"dynamic" more integer operations got handled in-line, though with null-checks.
Annotating those methods to return non-null improves the in-line handling of
integer operations.

This improves dart-aot

On arm7hf:
  SHA256: +5%, SHA: +6%, JsonObjectRoundTrip: +7%, ...

On arm8:
  SHA1: +28%, MD5: +25%, SHA256: +15%, TypedData.Int16ListViewBench: +18.5%, StringInterpolation: +18%, ...


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

Change-Id: Ia4263a37241a36c9dc35e8a48893297effa6f4b2
Reviewed-on: https://dart-review.googlesource.com/c/84421
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-11-22 16:18:27 +00:00
Erik Ernst f43c76538b TBR: Added a missing status update to the int64.md feature specification.
Change-Id: I1f735b946cef540358c867a49131f1574f5bdf8b
Reviewed-on: https://dart-review.googlesource.com/c/85176
Reviewed-by: Erik Ernst <eernst@google.com>
2018-11-22 15:31:29 +00:00
Samir Jindel cde4270e47 Re-land "[vm/aot] Snapshot size analysis."
Minor fixes have been applied, see diff against patchset 1.

This reverts commit 9b937f1226.

Change-Id: I8e4bbc0b88e33d3b554e91c17d1f849e24a1ccb3
Cq-Include-Trybots: luci.dart.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-win-product-x64-try, vm-kernel-precomp-win-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/84845
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2018-11-22 15:14:46 +00:00
Daco Harkes 5ced1f1cd2 add documentation to Function::parameter_types
Change-Id: I36012624f0224003cb8c4186bc787172cbc78bc6
Reviewed-on: https://dart-review.googlesource.com/c/85169
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-11-22 15:08:37 +00:00
Samir Jindel 48fee5f591 Update status file for receive_A01_t01 and where_A01_t01.
Change-Id: I7f4b67c9682ae57523c228262220570031257da6
Reviewed-on: https://dart-review.googlesource.com/c/85172
Reviewed-by: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2018-11-22 15:07:40 +00:00
Martin Kustermann ad7fbb6dd7 [VM] Fix flow graph builder to not generate different code in unoptimized/optimized mode
Change-Id: I752be6bd97dcd892ea6ba5d7fdd30575d4cee489
Reviewed-on: https://dart-review.googlesource.com/c/84720
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-22 14:05:47 +00:00
Martin Kustermann 2ebdf7c0f8 [VM] Ensure the _TypedListView.{offsetInBytes,length} fields are always initialized with _Smi's
Until now a typed data view was first constructed and then afterwards the
constructor body validated that the offsetInBytes/length are non-null
and in range.

This CL moves the range check to the call sites of the constructor,
thereby guarenteeing that we will never initialize the
_TypedListView.{offsetInBytes,length} fields with non-_Smi values. (The
views are constructed only within the "dart:typed_data" library.  Neither the
embedder nor the runtime construct them.)

Further more this CL removes the redundant _defaultIfNull() call, since
the call sites already handled the `length == null` case.

This CL also starts annotating _TypedListView.{offsetInBytes,length}
with @pragma("vm:exact-result-type", "dart:core#_Smi") to ensure any
[LoadFieldInstr] will have the right type attached, thereby avoiding any
null-checks and mint-handling.

This improves dart-aot

On arm7hf:
    MD5: +38%, SHA256: +87%, SHA1: +89% (plus various typed data microbenchmarks)
    JsonParseDefaultReviver/StringBuffer/StringIdiomatic/JsonParseCustomReviver: -5-8% (probably due to not inlining static calls, will find out)

On arm8:
    MD5: +6.5%, SHA256: +12%, SHA1: 3.6%, JsonUtf8RoundTrip: 8% (plus various typed data microbenchmarks)
    DeltaBlue: -6.7% (probably due to not inlining static calls, will find out)

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

Change-Id: I37c822e6879f5a2d17fd9650a68cf2eee4326b01
Reviewed-on: https://dart-review.googlesource.com/c/84241
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-22 14:02:27 +00:00
Erik Ernst 614ae7f362 Integrated covariant parameter feature specs.
Also updated spec on the static and dynamic types of functions literals
and static functions along with the function objects obtained from
closurizations of them.

Introduced a separate notion of what it means to be a correct override
relation (where the old text used subtyping, which won't suffice, for
several reasons).

Introduced the notion of interfaces as a separate kind of entity that
contains method signatures (again, a new kind of entity), thus
clarifying exactly which pieces of information is available during
static analysis of member accesses, e.g., instance method invocations.

Introduced 'combined' interfaces; they are needed for `mixin`
declarations, and we will specify them soon (so it should be OK to
have them now, even though they are unused).

Change-Id: I6347df49b1aa7a81d74e25904ee75c19e8ac6930
Reviewed-on: https://dart-review.googlesource.com/c/81263
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-11-22 13:07:59 +00:00
Martin Kustermann 08a4e020b3 [VM] Get rid of duplicate return-type-cid information from method recognizer
When @pragma('vm:exact-result-type') was introduced, the return types
specified in the recognized method lists were **duplicated** (they were
in the method recognizer macro lists as well as in the dart source code).

This CL removes this duplication by removing the result types from the
method recognizer lists.

Change-Id: I2082110cf77fc3b97d1a541cb153abb8c17990d0
Reviewed-on: https://dart-review.googlesource.com/c/84220
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-22 11:53:27 +00:00
Dmitry Stefantsov dcc9f74a3c [kernel] Make instantiate-to-bound implementation in Kernel private
Change-Id: I04983b1d99a75054dd93ec6e7131eb7f0492540b
Reviewed-on: https://dart-review.googlesource.com/c/84638
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Auto-Submit: Dmitry Stefantsov <dmitryas@google.com>
2018-11-22 11:50:27 +00:00
Sergey G. Grekhov 8b2458c97b [co19] DEPS and .status file update
Change-Id: I718a5d70874e7090cb42f1d452cd8dcf020d337e
Reviewed-on: https://dart-review.googlesource.com/c/84631
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-11-22 11:28:15 +00:00
Martin Kustermann 94c325a889 Reland "[VM] Make @pragma annotations work generally"
Currently the @pramga('vm:exact-result-type') annotation only works if
the function is a recognized method.  This change changes that to make
the VM just look if a function has the annotation (no matter if it's
also in the list of recognized methods or not).

Furthermore this CL lets the type propgagator use
@pragma('vm:exact-result-type') annotations to narrow the [CompileType]
set on [LoadFieldInstr]s.

Since the @pragma is a general feature, this CL moves the
`Function::FindPragma()` to `Library::FindPragma` (which is where any
other metadata lookup happens).  We also let the `FindPragma` accept any
of Class/Function/Field objects.

Furthermore the `FindPragma()` function is fixed to handle the case
when the evaluation of the metadata results in an error.
In this case we simply claim to not have found a pragma annotation.

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

Change-Id: If03f566e334cd53549985823ee3dd6b5e9672969
Reviewed-on: https://dart-review.googlesource.com/c/85163
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-22 10:54:44 +00:00
Jens Johansen 4646e804dc Wrap last debugPath.add in assert
For all other "debugPath.add"s we've wrapped it in assert to avoid
doing it in the general case.
One apparently have slipped through.

Change-Id: Ib0dfc4a671428993e393d57a75db6612785e37b4
Reviewed-on: https://dart-review.googlesource.com/c/85161
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-11-22 09:32:49 +00:00
Jens Johansen f0b26ca685 Add offsets to kernel size breakdown
Change-Id: If61195da74aa97fb1891cdee95ac1f964894058c
Reviewed-on: https://dart-review.googlesource.com/c/85100
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-11-22 07:31:11 +00:00
Ryan Macnak edba6fbfaa [vm, gc] Add --force-evacuation flag to aid finding untracked pointers.
Bug: https://github.com/dart-lang/sdk/issues/34934
Change-Id: Ibba2ae5837985a32bd84da4b33bd091dcec3427d
Reviewed-on: https://dart-review.googlesource.com/c/85141
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-11-21 22:58:57 +00:00
Sigmund Cherem 9efa15fd7d Roll latest dart2js info to sdk repo
TBR=johnniwinther@google.com

Change-Id: I897e81ac795424478f208ffd75e5108f302fb446
Reviewed-on: https://dart-review.googlesource.com/c/85144
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-11-21 21:24:53 +00:00
Paul Berry 94d1d74076 Improve the exception message when a library can't be found in a summary.
This would have made it easier to debug internal bug #119875658.

Change-Id: I71a5e61602187b44923ca6f9b0ec254efe376f87
Reviewed-on: https://dart-review.googlesource.com/c/85143
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-11-21 21:18:42 +00:00
Ben Konyi fcde804eb4 [ VM / API ] Added Dart_IsTearOff to the Dart API.
Fixes issue #35183

Change-Id: I72b84f367c0d8fa467b386597a9784dfb9334e84
Reviewed-on: https://dart-review.googlesource.com/c/84861
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2018-11-21 18:26:37 +00:00
Alexander Markov e6800d9589 [vm] Disable bytecode generation while training kernel service
Change-Id: Ibfdc9379965bda99f63250b880b46fbdeb384248
Reviewed-on: https://dart-review.googlesource.com/c/85120
Commit-Queue: Alexander Aprelev <aam@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-11-21 18:05:08 +00:00
Sigmund Cherem 02f6395606 Cleanup library-loader: rename as kernel producer, remove some dependencies
Once we remove the frontend strategy object, we might want to remove some additional dependencies on KernelResult

Change-Id: I27ef1fbb12e671748b59a87d2dd249100501e02a
Reviewed-on: https://dart-review.googlesource.com/c/85060
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-11-21 17:59:18 +00:00
Ryan Macnak e1ffe76a36 [vm] Replace StubEntry with Code handles.
StubEntry was holding raw pointers across safepoints in several places in the compiler.

Bug: https://github.com/dart-lang/sdk/issues/34934
Change-Id: Id17cb7651f4d3508915c8cb90f5cb2353df6dac0
Reviewed-on: https://dart-review.googlesource.com/c/85040
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-11-21 17:45:11 +00:00
Dan Rubel f3344f3c13 Update parser to report error for missing comma
Fix https://github.com/dart-lang/sdk/issues/35213

Change-Id: Ia9a1628f15bebf0c915f5d16712f98ac614896e8
Reviewed-on: https://dart-review.googlesource.com/c/85021
Auto-Submit: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-11-21 16:17:48 +00:00
Brian Wilkerson c1daa32765 Fix some issues with the set literal tests
Change-Id: I3c7b9195bfaea7eeb8d179e23c9c40f263d6053a
Reviewed-on: https://dart-review.googlesource.com/c/85042
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-11-21 15:44:30 +00:00
Jonas Finnemann Jensen 4b51cea91b More docs for Timer.cancel()
Notably, it's worth documenting that calling `cancel()` twice is safe.

Change-Id: I35fdf3f8a810f78f296fc96750ec9ad4d81c6fc7
Reviewed-on: https://dart-review.googlesource.com/c/83744
Commit-Queue: Jonas Jensen <jonasfj@google.com>
Auto-Submit: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-11-21 10:54:59 +00:00
Johnni Winther 0fded45406 Handle serialization with --dump-info
Change-Id: I626eb8c7dca0b4e92f2aca79429f6e7336215840
Reviewed-on: https://dart-review.googlesource.com/c/84846
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-11-21 09:40:02 +00:00
Johnni Winther e62951fd3d Use assigned variables data to infer static types for effectively final locals.
Change-Id: I3687d28628b0476c6a848f135bbda97e594449c2
Reviewed-on: https://dart-review.googlesource.com/c/84629
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-11-21 09:16:21 +00:00
Lasse R.H. Nielsen e79cb0232f Fix return for Socket.setOption.
BUG= http://dartbug.com/34983

Change-Id: Ib139d02b9ce658d384b125c68aa6c756fc6573e0
Reviewed-on: https://dart-review.googlesource.com/c/83700
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-11-21 08:33:55 +00:00
Jenny Messerly 1e186ad9cb [dartdevc] fix build times by only linking input sources
DDC was incorrectly re-linking transitive dependencies, so build times
continued to increase as the build progressed, with the application
itself performing the worst. With this fix, DDC is not on the critical
path and compiles are all very short.

Change-Id: Ia05bfb9f1a041fc979bc4bc0ee3bff9a0609b4b7
Reviewed-on: https://dart-review.googlesource.com/c/84966
Auto-Submit: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-11-21 01:17:13 +00:00
Paul Berry 4255a012f8 Update analyzer pubspec to note dependency on pub_semver.
The dependency was added in cb88347087.

Change-Id: I33bd532211ed0f60e665ce6c4017ac22805a039a
Reviewed-on: https://dart-review.googlesource.com/c/84967
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-11-21 00:09:22 +00:00
Jenny Messerly 751d7ad2e2 [dartdevc] fix js_ast comma expression not generating parentheses
This happened because for-of printed using EXPRESSION precedence
for the iteration expression, but it should be ASSIGNMENT per the spec
(https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements).

Change-Id: I869ad3f1181cfb33c57fe79aebfa3699f66a0712
Reviewed-on: https://dart-review.googlesource.com/c/84833
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Auto-Submit: Jenny Messerly <jmesserly@google.com>
2018-11-20 22:56:35 +00:00
Paul Berry c165ef8a37 Ensure that lists and maps built by ExprBuilder have their staticType set.
We can't rely on resolution to do this, because resolution only
operates in the compilation unit currently being analyzed, and
constant values may be needed from other compilation units.

Fixes #35230.

Change-Id: I11fa5597110bc13164ca5dc9846836848120cd08
Reviewed-on: https://dart-review.googlesource.com/c/84964
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-11-20 22:22:15 +00:00
Martin Kustermann 9ca6369ef5 [VM] Add locking around accessing constants arrays on scripts
Both the mutator as well as the background compiler are accessing constants
arrays attached to [Script] objects, which can cause races where mutator is
modifying the hashmap while the background compiler is reading.

This CL adds locking around those accesses.

Change-Id: Iac7bbbe242d13b964698ae95fe1653fb4ce28a36
Reviewed-on: https://dart-review.googlesource.com/c/84903
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-20 21:46:08 +00:00
Martin Kustermann 83ba397368 [VM] Propagate [UnwindError]s directly instead of wrapping them in [LanguageError]s
During VM shutdown generally, or during killing isolate more
specifically, OOB messages will be sent to the isolate which cause an
[UnwindError] to be raised.

This error has to be propgated through as many dart frames and runtime
frames there are **until the very end**, namely to the event loop.

Currently the constant evaluator was sometimes wrapping [UnwindError]s
into [LanguageError]s which caused unwinding to stop, leaving us
kernel-isolate/service-isolate hanging around instead of shutting down.

Change-Id: Iade46aff3ca3459ec53f155b4f40305050380a7b
Reviewed-on: https://dart-review.googlesource.com/c/84904
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-20 21:43:18 +00:00
Martin Kustermann 8044e32fc5 [infra] Blacklist android device id in attempt to make buildbot builder more stable
This particular device sometimes fails with errors such as:

  * "protocol error"
  * "protocol error (no status)"
  * "device not found"

Change-Id: Iced97ae8f5e891c43436a3d745004517dc59b42c
Reviewed-on: https://dart-review.googlesource.com/c/84905
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-11-20 21:25:04 +00:00
Jenny Messerly 099f48b1da [dartdevc] fix #33621, name collision due to inheriting JS statics
Change-Id: I6e3f0bb741e919d8303422ac2df853142649e7ff
Reviewed-on: https://dart-review.googlesource.com/c/83563
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Auto-Submit: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2018-11-20 21:13:29 +00:00
Sigmund Cherem 6e8fe410bb Mention libraries-spec in the changelog as well
Change-Id: I8b1dcdd4554c8c46fb852700ca6e1c34edd6fdfa
Reviewed-on: https://dart-review.googlesource.com/c/84961
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Auto-Submit: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-11-20 20:48:00 +00:00
Alexander Aprelev c8372c00dc Patch hhh flutter flutter as follow-up to https://dart-review.googlesource.com/c/sdk/+/84688
Change-Id: I392ad11684eedee143cab9e90227c6b886e09c12
Reviewed-on: https://dart-review.googlesource.com/c/84960
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-11-20 20:15:51 +00:00
Sigmund Cherem 59e17553f9 Upgrade call-instrumentation logic.
This:
 - exposes the feature as an experiment flag
 - cleans up the code to prevent issues with strong-mode checks
 - provides only a single implementation, but lets users use a hook to tailor the feature to their needs.
Change-Id: I3bf277b76b7503235c35bfbf83356c953405ff6f
Reviewed-on: https://dart-review.googlesource.com/c/84880
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-11-20 20:10:01 +00:00
pq eceafa2df8 new “deprecated” lint maturity
Change-Id: Idd5257b5d4707b7a141efec644370c2fff9b7b3d
Reviewed-on: https://dart-review.googlesource.com/c/84701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2018-11-20 19:05:43 +00:00
danrubel ebeae74390 Update version before publishing
Change-Id: Ia83e7226715ad1469d51e443a6a24505da71660a
Reviewed-on: https://dart-review.googlesource.com/c/84941
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-11-20 18:54:43 +00:00
Alexander Aprelev 57a4f11b64 [gardening] Patch flutter engine post 0ca1c57
Change-Id: I92d9589850fa4b95c4be454a48e9e9782f90b908
Reviewed-on: https://dart-review.googlesource.com/c/84926
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-11-20 18:50:06 +00:00
danrubel b607f65217 More dartfix tests
This adds a test that asserts the analysis_server_client version
matches the version specified in the dartfix pubspec.

In addition, this remove code that reads the version
from dartfix pubspec.yaml because the pubspec.yaml is not present
when dartfix is activated and run via pub global activate.

Change-Id: I6deed00428afb8844d03a9604699e0c089d7ce6f
Reviewed-on: https://dart-review.googlesource.com/c/84940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-11-20 17:47:27 +00:00
asiva 0ca1c57593 Reland "[VM] Remove unused flags"
This is a reland of 1a4cff1bd4

Original change's description:
> [VM] Remove unused flags
> 
> Remove the following flags which are always ON
> --strong
> --reify_generic_functions
> 
> and these flags which are not applicable anymore
> --error-on-bad-override
> --error-on-bad-type
> --enable-type-checks
> 
> Change-Id: I6e1aeb68e663953f4ae49ca94ea0daa87b661900
> Reviewed-on: https://dart-review.googlesource.com/c/79431
> Commit-Queue: Siva Annamalai <asiva@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

Change-Id: Ib4452c22fb05eed38820708abb648939e03b1df0
Reviewed-on: https://dart-review.googlesource.com/c/84923
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-11-20 17:25:42 +00:00
Martin Kustermann b0730135ff [VM] Use ArrayOfTuplesView for invocation dispatchers
This makes it easier to access and safer to use.

Change-Id: Ida12708975a250a57faf71007a0d9ebb65c23dd2
Reviewed-on: https://dart-review.googlesource.com/c/84020
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-20 16:15:25 +00:00
Vyacheslav Egorov 064a7d89ce [vm/compiler] Add VM Compiler Team WATCHLIST
Change-Id: I14d1c65d436e158903c439c952b20104d0393302
Reviewed-on: https://dart-review.googlesource.com/c/84900
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-11-20 15:06:59 +00:00
Johnni Winther 3bf6a550ea Add static type tests
Change-Id: I4282a1261ad4f4f4641750bd5ca492e5a943b6f0
Reviewed-on: https://dart-review.googlesource.com/c/84628
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-11-20 14:02:39 +00:00
Johnni Winther d544a5d3b6 Compute variable allocation data during closure scope visitor.
Change-Id: I71814a30ac469cbcfea5bf6804f6762c2e039c64
Reviewed-on: https://dart-review.googlesource.com/c/84625
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-11-20 14:02:39 +00:00