Commit graph

45774 commits

Author SHA1 Message Date
Konstantin Shcheglov 9b701ae3da Add ParserErrorCode.INVALID_CONSTRUCTOR_NAME to the list of all error codes.
We need this for AnalysisDriver to be able to deserialize this error.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2780833002 .
2017-03-28 10:30:59 -07:00
Jennifer Messerly 1c504f8945 Fix #28120, strong mode allows field overrides
Fix #28119, DDC supports field overrides without @virtual
Fix #28801, devirtualize private fields in DDC where possible
Fix #28589, stop supporting @virtual in strong mode

R=leafp@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2781443003 .
2017-03-28 10:26:36 -07:00
Konstantin Shcheglov 9dd0668ae2 Fix for DirectoryWatcher.handleError() closure signature.
I missed the fact that the closure must have either one, or two arguments,
I see failures at runtime in internal logs.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2782463003 .
2017-03-28 09:42:36 -07:00
Konstantin Shcheglov 27ab6478b9 Report errors for the new top-level inference rules.
We also stop type inference most of these cases with task based analysis.
Summary based analysis is not changed yet.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2782533002 .
2017-03-28 09:41:04 -07:00
Zachary Anderson 7c8a0a7fe1 Fix Dartium build
Review-Url: https://codereview.chromium.org/2778953005 .
2017-03-28 08:42:30 -07:00
Jacob Richman b5d53b5348 Fix spew when running presubmit which triggers dartfmt.bat on windows. We should also backport this change to the sdks in tools/sdk or roll a new version of the tools/sdk
Error span you otherwise get with each dartfmt invocation:

find: ‘>     bin [’: No such file or directory

Note that the error doesn't occur all times dartfmt is run, only when it is
run from the directory triggered by the presubmit.

BUG=
R=rnystrom@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2759333004 .
2017-03-28 08:30:10 -07:00
Brian Wilkerson 84f2f4a677 Enhance the change builders
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2776233002 .
2017-03-28 08:29:30 -07:00
Zachary Anderson 89dba57bcf [dart:io] Adds a finalizer to _NativeSocket to avoid socket leaks
The finalizer sends the "close" message to the EventHandler for the
file descriptor in the _NativeSocket's native field. To avoid races and
spurious messages, this CL stores a pointer to a wrapper object in the
native field instead of the file descriptor. All messsages about the
_NativeSocket sent to the EventHandler use the wrapper object instead of
the file descriptor. When the EventHandler closes the file, the file
descriptor in the wrapper object is set to -1 so that the finalizer will
instead do nothing.

On Windows, there is another level of indirection since the OS HANDLEs
were already wrapped in various kinds of Handle objects. As an additional
complication, ClientSocket close on Windows is asynchronous, so the
EventHandler may shutdown before all of the ClientSocket Handles can be
destroyed.

related #27898, #28081

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2760293002 .
2017-03-28 07:44:05 -07:00
William Hesse 011a5a6a66 Remove ie10 and opera sections from status files
BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2783653002 .
2017-03-28 16:38:59 +02:00
Asger Feldthaus f396d919ae Remove some additional code that depended on the old type propagation.
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2781473004 .
2017-03-28 13:51:21 +02:00
Asger Feldthaus a3402df15c [Kernel] Remove code from the old type propagation.
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2780513004 .
2017-03-28 12:43:22 +02:00
Zhivka Gucevska 1851ca685e Change layout of fields in a object values
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2781453002 .
2017-03-28 11:19:16 +02:00
Johnni Winther dc4758d6bc Move resolve* from NativeResolutionEnqueuer to NativeDataResolver
This is a step towards making NativeResolutionEnqueuer model independent.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2778803002 .
2017-03-28 11:08:47 +02:00
Johnni Winther 5aa715b7a8 Use Entity in native_data.
NativeBasicDataImpl and NativeDataImpl are now reusable for J/K-elements.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2775283002 .
2017-03-28 11:02:49 +02:00
Johnni Winther 40072e2cce Mostly use Entity in InterceptorData
This is a step towards making InterceptorDataImpl reusable for J/K-elements.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2781483002 .
2017-03-28 10:53:06 +02:00
Johnni Winther e7a72961c8 Make codegen and optimizations depend more directly on data objects.
This is a move towards passing all information through data objects
computed by previous phases rather than pulling it directly from
Backend or Compiler.

This is needed to support a shift from model K to model J between
resolution and codegen.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2777163002 .
2017-03-28 10:38:29 +02:00
Johnni Winther a2286d6eb1 Derive CommonElements directly from ElementEnvironment.
This prepares for a merge of CommonElements(Impl) and BackendHelpers.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2775223002 .
2017-03-28 10:32:23 +02:00
Zhivka Gucevska 23cc114c2f Implements simple statement executer
This change adds support for executing:
 - BlockStatement
 - ExpressionStatement
 - IfStatement
 - VariableDeclaration

Currently only BlockStatement introduces a new environment and
VariableDeclaration modifies the environment.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2775293002 .
2017-03-28 10:23:15 +02:00
Jens Johansen b5a7a94305 Revert "VM: [Kernel] Avoid emitting :expr_temp and capturing :iterator"
This commit caused vm-kernel-linux-debug-x64-be to become red because
service/next_through_simple_async_test failed.

This reverts commit 3d78c06412.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2777413002 .
2017-03-28 09:29:04 +02:00
Jens Johansen 2ad253ed6b Mark pause_on_unhandled_async_exceptions2_test flaky on app_jit
See https://github.com/dart-lang/sdk/issues/29178.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2774233004 .
2017-03-28 08:59:50 +02:00
James Robinson 2b70abd2e3 Fix computation of relative paths in depsfile when cross-compiling
Relative paths in a depsfile are interpreted by ninja relative to the
current working directory which in a GN build is the root of the build
directory ($root_build_dir in GN terms). When doing a
cross-compilation, this is different from the root of the output
directory ($root_out_dir in GN terms) for all builds other than the
target. This fixes the computation of depsfile entries so that they are
always relative to the current working directory.

Concretely, this means incremental builds in Fuchsia do not always
rerun the patch_sdk step for the host, shaving 12+ seconds off of no-op
builds.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2776323002 .
2017-03-27 20:28:04 -07:00
Ryan Macnak 857b8cbc36 Teach treeshaker about new cached functions and classes.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2781553004 .
2017-03-27 18:02:00 -07:00
Vijay Menon 50ceaa4c04 Fix for #29003
This is an alternative to the other CL.  It just uses the result of
dart.mixin instead of declaring a new class.  That preserves the assumption (at least at runtime) that the mixin class directly inherits from Object.

We were also not declaring interfaces for ClassTypeAliases.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2783443002 .
2017-03-27 16:06:13 -07:00
John McCutchan 11cf515e5e Cleanups needed for async step-out
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2774233003 .
2017-03-27 15:18:41 -07:00
Konstantin Shcheglov dab346dd6e Record variable names in type inference cycles.
So, we will able to report them during checking.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2777783003 .
2017-03-27 14:51:07 -07:00
Ben Konyi 7c820f4363 Resubmission of native memory allocation info surfacing in Observatory. Fixed crashing tests and stack trace collection skip counts for different configurations.
Fixed missing method referenced when MallocHooks is unsupported.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2771293003 .
2017-03-27 13:25:26 -07:00
John McCutchan f7d570dab2 Fix an assertion failure in the profiler
- [x] Always reset the inlined functions cache before reusing an entry.

Fixes #29173

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2779613004 .
2017-03-27 12:29:34 -07:00
Dmitry Olshansky a8bc1de524 VM [KERNEL] Fix performance issue in KernelReader
Original code is constructing Class fields
and functions incrementally going through
poorly scalable AddFunction and AddField
reallocating the whole array on each call.

Instead accumulate things in GrowableArrays
and insert in one go.

BUG= https://github.com/dart-lang/sdk/issues/28312
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2777963002 .
2017-03-27 20:24:15 +02:00
Terry Lucas 074cae7681 Updated to latest WebKit change
TBR=whesse@google.com

Review-Url: https://codereview.chromium.org/2781633002 .
2017-03-27 11:14:26 -07:00
John McCutchan 85a154fe84 Dump information when we hit the weird assertion failure in profiler
BUG=

Review-Url: https://codereview.chromium.org/2774403002 .
2017-03-27 10:55:58 -07:00
Ryan Macnak 0867d87767 Resolve initialization order fiasco between code_descriptors.cc and token_position.cc.
BUG=b/36622728
R=asiva@google.com, johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2772193004 .
2017-03-27 10:24:01 -07:00
Dmitry Olshansky 3d78c06412 VM: [Kernel] Avoid emitting :expr_temp and capturing :iterator
This allow us bypass allocation of Context for some sync*
function such as in Iteration.tree.syncstar benchmark.

BUG=
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2772963003 .
2017-03-27 19:22:52 +02:00
Konstantin Shcheglov c41d846ab5 Fix _Required constructor in test.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2779663004 .
2017-03-27 10:02:07 -07:00
Dmitry Stefantsov 9ab86da19c Add Vector type to Kernel
There are four operations that work on Vectors: Vector creation, looking
up an item in a Vector, assigning a value to an item in a Vector, and
copying a Vector. The first three operations are allowed to only use
integer literals as number operands (length for Vector creation, index
for item lookup and assignment). Corresponding AST nodes are created for
these operations.

Vectors are used to represent contexts in Closure Conversion. The parent
context is stored as item 0 in its children contexts. The "golden" tests
for this transformation are adjusted accordingly.

The support for Vectors is added to ast-to-text, ast-to-binary, and
binary-to-ast transformations.

R=asgerf@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2767773004 .
2017-03-27 15:52:32 +02:00
P.Y. Laligand 8f03520d2b New dart CLI option to create a snapshot depfile. (#29165) 2017-03-27 06:44:21 -07:00
Peter von der Ahé 02573b3caa Remove Fasta's copy of accessors.dart.
R=asgerf@google.com, jensj@google.com

Review-Url: https://codereview.chromium.org/2777883002 .
2017-03-27 14:04:43 +02:00
Kevin Millikin d715611c03 Use canonical names for some name-based lookup.
For compiling the platform libraries separately and for hot reload, we
will not link canonical names of Kernel libraries, classes, and
members to their Kernel definitions.  Those definitions will not be
persistent.

As a first step, change name-based lookup of libraries and classes to
be be based on the canonical name instead of the Kernel definition.

BUG=
R=jensj@google.com, kustermann@google.com

Committed: a15b8c49ea
Review-Url: https://codereview.chromium.org/2762213002 .
2017-03-27 12:14:50 +02:00
Johnni Winther a9811024cf Split NativeBasicDataImpl
- into NativeBasicDataBuilderImpl and NativeBasicDataImpl

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2756103003 .
2017-03-27 11:58:57 +02:00
Johnni Winther 65b06efb58 Split MirrorsAnalysis
- into MirrorsResolutionAnalysis(Impl), MirrorsCodegenAnalysis(Impl)

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2748383003 .
2017-03-27 11:33:25 +02:00
Dmitry Stefantsov 506667f068 Add the data on the rest of the buildbots to the gardening tool
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2764053002 .
2017-03-27 10:36:05 +02:00
Konstantin Shcheglov b417df8259 Update final fields inference according to the clarified specification.
The change to the specification:
8f2be46aac

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2777733002 .
2017-03-26 13:01:41 -07:00
Dan Rubel 0fa52686f3 fix missing digit error translation
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2772513006 .
2017-03-25 22:33:59 -04:00
Dan Rubel 05300ea2df change "deferred" keyword isPseudo --> isBuiltIn
Fix https://github.com/dart-lang/sdk/issues/29069

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

Review-Url: https://codereview.chromium.org/2769253002 .
2017-03-25 21:20:11 -04:00
Devon Carew 0fcb91aa06 Fix analyzer tests when run in checked mode.
BUG=

Review-Url: https://codereview.chromium.org/2775073002 .
2017-03-25 15:34:40 -07:00
Devon Carew b51d1fd8e3 Use ansi color in the dartanalyzer cli output.
BUG=
R=brianwilkerson@google.com, danrubel@google.com

Review-Url: https://codereview.chromium.org/2775633002 .
2017-03-25 15:02:47 -07:00
Martin Kustermann fac6cda661 Add documentation to ALPN functionality in dart:io
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2770573003 .
2017-03-25 12:38:37 +01:00
Brian Slesinsky ef48584f1f Fix package URI calculation when in third_party but not third_party/dart
In this case we should use a dotted package name, similar to other
packages outside third_party.

Previously, restoreAbsolute() didn't return a package URI at all,
which would result in a relative path being suggested for a
missing import.

BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2771323002 .
2017-03-24 16:59:41 -07:00
John McCutchan ada90ae4f2 Update the correct status file for the kernel bots
BUG=

Review-Url: https://codereview.chromium.org/2773073004 .
2017-03-24 14:54:30 -07:00
Ryan Macnak a42b802bcc Standalone support for AOT as dylibs on Fuchsia.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2774993002 .
2017-03-24 14:52:18 -07:00
John McCutchan bfde95b58f Update status file for kernel bot
BUG=

Review-Url: https://codereview.chromium.org/2775863005 .
2017-03-24 14:49:35 -07:00