Commit graph

45722 commits

Author SHA1 Message Date
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
Ryan Macnak
a52db232d6 When generating CodeSourceMaps, reassign function ids once per function instead of once per inlining site.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2768153002 .
2017-03-24 14:41:36 -07:00
Konstantin Shcheglov
0adfef9471 Remove trailing semicolons to make the tests pass with Fasta.
The Fasta's unit test checks that the token stream is fully consumed,
i.e. that the next token after the parsed entity is EOF.

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

Review-Url: https://codereview.chromium.org/2772943004 .
2017-03-24 14:34:51 -07:00