Commit graph

34011 commits

Author SHA1 Message Date
Søren Gjesse a1063f6c62 Update CHANGELOG with information on removed socket references
R=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org/1389273002 .
2015-10-07 09:43:21 +02:00
Harry Terkelsen 2a053a9441 fix typo in dart:core.Map docs
BUG=
R=skybrian@google.com

Review URL: https://codereview.chromium.org/1393713002 .
2015-10-06 19:03:24 -07:00
Paul Berry e40b231771 Make ResolveVariableReferencesTask depend on RESOLVED_UNIT3.
Technically, ResolveVariableReferencesTask only requires the
information guaranteed by RESOLVED_UNIT1 to do its job.  However,
later tasks, such as ResolveFunctionBodiesInUnitTask, require the
information computed by ResolveUnitTypeNamesTask (which produces
RESOLVED_UNIT3).  Normally this is not a problem, because
ResolveFunctionBodiesInUnitTask depends (via a rather complex
dependency chain) upon LIBRARY_ELEMENT5, which in turn depends on
ResolveLibraryTypeNamesTask, which depends on RESOLVED_UNIT3.  So
ResolvuUnitTypeNamesTask winds up getting run.

However, it's possible that due to analysis cache pressure, the
resolved unit will get thrown away, while the library element is
preserved.  If this happens, then when the resolved unit is being
recomputed, it won't be necessary to run ResolveLibraryTypeNamesTask
in order to recompute LIBRARY_ELEMENT5 (becase LIBRARY_ELEMENT5 is
still cached).  As a result, nothing is left that depends on
RESOLVED_UNIT3, so there is nothing to force ResolveUnitTypeNamesTask
to run.

The outward manifestation of this problem is that when trying to
resolve a library, a TypeName will be found whose ".type" property is
unexpectedly null, causing an exception in the ResolverVisitor.

The easy fix is to make ResolveVariableReferencesTask depend on
RESOLVED_UNIT3, so there is a complete dependency chain through all
the RESOLVED_UNIT[N] results that doesn't rely on any
LIBRARY_ELEMENT[N] intermediates.

This is not an ideal fix because it forces us to compute
RESOLVED_UNITs 2 and 3 even if they might not be needed.  Fortunately,
computing these RESOLVED_UNITs should be fast, so I don't expect a
significant performance penalty.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1386363002 .
2015-10-06 18:21:12 -07:00
pq fe76c6f3c4 Lint support for the new task model.
Related bug: https://github.com/dart-lang/analyzer_cli/issues/64

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1385293002 .
2015-10-06 16:45:45 -07:00
Konstantin Shcheglov 4e6195fdf5 Issue 24514. Set documentation range for LibraryElement.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/24514

Review URL: https://codereview.chromium.org/1390003002 .
2015-10-06 16:13:57 -07:00
Paul Berry e34b7ddf00 Pull in analyzer_cli support for enabling the new task model.
Note that we are not pulling in the latest version of analyzer_cli,
since there is additional work to do in analyzer_cli before the pull
request can be merged into master (in particular, lint support needs to
be fixed--see https://github.com/dart-lang/analyzer_cli/pull/67).
Instead we pull in the commit from the pull request itself, which
enables the new task model but makes no other changes.

R=pquitslund@google.com

Review URL: https://codereview.chromium.org/1386233002 .
2015-10-06 14:25:22 -07:00
Paul Berry b76da2d61e Turn on the new task model by default in analysis server.
The previous option for enabling the task
model ("--enable-new-task-model") is replaced with an option for
disabling it ("--disable-new-task-model").

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1390843002 .
2015-10-06 13:49:52 -07:00
Ryan Macnak 6584580d8f Update Dartium DEPS to r202673 "Update scope-variables-expected.txt"
Review URL: https://codereview.chromium.org/1392613002 .
2015-10-06 13:11:53 -07:00
Terry L. Lucas f867fb0218 Fixed element upgrading for polymer
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1382383003 .
2015-10-06 13:11:23 -07:00
pq df52deea9f More pluggable AS benchmarks.
R=keertip@google.com

Review URL: https://codereview.chromium.org/1387823005 .
2015-10-06 13:02:46 -07:00
Dan Rubel d329551747 (TBR) fix completion test - see #24511
Review URL: https://codereview.chromium.org/1384823005 .
2015-10-06 14:40:27 -04:00
Todd Turnidge 0d501ad53d VM restart + shutdown fixes
This change add the ability to restart the vm through the service
protocol.  All isolates are killed, and then the main isolate is
restarted cooperatively by the embedder.

This change also fixes the message handler to prevent it from
accidentally ignoring vm shutdown messages.

Previously, we would stop handling messages whenever we hit an error
(such as a compile error or an unhandled exception).  This would leave
shutdown requests sitting the oob queue, neglected.

We now process *all* oob requests, up to the first shutdown request.
When we hit a shutdown request, we clear the oob queue and process no
more messages.

To make all of this work, we had to change the return value of
HandleMessage from bool to a new enum type, allowing the message
handler to distinguish *normal* error cases from the more rarified
shutdown and restart cases.

R=johnmccutchan@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1371193005 .
2015-10-06 11:27:26 -07:00
danrubel d14a963546 only send final completion notification
This shaves 1 ms off the average completion notification response time

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1389473002 .
2015-10-06 14:21:29 -04:00
Siva Annamalai c8549e064e When a snapshot is generated on a 64 bit architecture and then read into a 32 bit architecture, values which are Smi on the 64 bit architecture could potentially be converted to Mint objects, however since Smi values do not have any notion of canonical bits we lose that information when the object becomes a Mint.
Some of these values could be literal values and end up in the VM isolate heap. Later when these values are referenced in a constant list we try to ensure that all the objects in the list are canonical and try to canonicalize them. When these Mint objects are encountered they do not have the canonical bit set and canonicalizing them won't work as the VM heap is read only now. In these cases we clone the object into the isolate and then canonicalize it.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1391433002 .
2015-10-06 10:57:02 -07:00
Dan Rubel a96541b369 fix call to get current source - fixes #24509
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1385213002 .
2015-10-06 13:36:28 -04:00
pq 90e975b656 Suppress scanner errors for non-existent URIs.
Fixes #23754.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/1378503003 .
2015-10-06 10:25:50 -07:00
Srdjan Mitrovic 8c7a94e9f4 Preparation for moving reusable handles to thread and more cleanups: isolate -> thread based handle allocation.
BUG=
R=koda@google.com

Review URL: https://codereview.chromium.org/1384403002 .
2015-10-06 10:17:12 -07:00
Ryan Macnak 26c187d818 Error quickly if the embedder tries to load after Dart_Precompile.
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1377733007 .
2015-10-06 10:14:08 -07:00
John McCutchan 150e8d2757 Move dart:_vmservice native entries into bootstrap natives
With this CL the dart:_vmservice library is made regular with respect to other dart: builtin libraries.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1390803002 .
2015-10-06 09:16:39 -07:00
Seth Ladd 7b18bc7e14 clearly mark resource as deprecated
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1385933002 .
2015-10-06 09:08:11 -07:00
Konstantin Shcheglov ef434d6a9b Issue 24503. Disable type overrides for properties.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/24503

Review URL: https://codereview.chromium.org/1386033003 .
2015-10-06 08:40:02 -07:00
Konstantin Shcheglov c4427ca8f4 Fix for incremental resolver - changing field formal parameter name is sometimes a non-incremental change.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/1374313007 .
2015-10-06 08:35:07 -07:00
John McCutchan af0ab36f7c Make dart:_vmservice a proper builtin library
- Drops custom resource table for sources.
- Stops loading dart:vmservice library by sources.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1387043002 .
2015-10-06 07:58:14 -07:00
William Hesse 0b5fcedaaa Use strlen rather than strnlen, which is missing on Mac OS.
BUG=

Review URL: https://codereview.chromium.org/1390793002 .
2015-10-06 16:48:47 +02:00
John McCutchan c6650dae05 Fix vm/cc/Pages unittest breakage
BUG=

Review URL: https://codereview.chromium.org/1390783002 .
2015-10-06 07:32:01 -07:00
William Hesse da574129a8 Add full BoringSSL error information to Dart exceptions it throws.
Fix error in http_proxy_advanced_test.

BUG=https://github.com/dart-lang/sdk/issues/24183
BUG=https://github.com/dart-lang/sdk/issues/24068
BUG=https://github.com/dart-lang/sdk/issues/24074
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1386023003 .
2015-10-06 16:30:10 +02:00
John McCutchan d9297fa72a Add Metrics for heap high water marks
Will be printed at isolate exit when VM launched with: --print-metrics

R=koda@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1391473002 .
2015-10-06 07:03:24 -07:00
Johnni Winther e49a3e7d44 Limit hints on empty hide on package imports.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1382143005.
2015-10-06 15:13:13 +02:00
Johnni Winther a0ca16a773 Revert "Avoid eager enqueueing from resolution"
This reverts commit dda38dfe47.

BUG=

Review URL: https://codereview.chromium.org/1385183002.
2015-10-06 14:36:23 +02:00
Johnni Winther dda38dfe47 Avoid eager enqueueing from resolution
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1376863004.
2015-10-06 13:53:15 +02:00
Johnni Winther 76b7203c19 Extract DiagnosticReporter implementation from Compiler.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1383483006.
2015-10-06 10:24:44 +02:00
Florian Schneider 0df00193f7 VM: Fix bug in constant propagation.
The optimizer runs constant propagation once before inserting boxing- and unboxing
conversions. Therefore, operations that take unboxed input operands may still have
mismatched representations.

This has to be considered so that no invalid 'unknown' constants appear during propagation.

The invariant during constant propagation is that if all inputs of an operation
are known (constant or non-constant), the output must be known (constant or
non-constant. It must not become unknown in these cases.

i.e. the input of a MintToDouble/Int32ToDouble/SmiToDouble could be a double constant at
this stage. This can occur as a result of polymorphic inlining of arithmetic operations on
constants, where some variants are unreachable.

For now, the solution is to mark the operation as non-constant.
(the inserted conversion would always deoptimize - making the operation unreachable)

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1380203004 .
2015-10-06 10:22:48 +02:00
Søren Gjesse e0daf8dd93 Don't run larger datagram tests on Mac OS
These new tests fail on the default Mac OS configuration.

TBR=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org/1382993005 .
2015-10-06 10:20:58 +02:00
Florian Schneider b2be30b4a1 VM: Add uint32 array intrinsics.
Since the VM's compact map implementation uses Uint32List internally, this
helps programs that use hash maps and -sets.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1372863003 .
2015-10-06 10:17:29 +02:00
Soren Gjesse 33e2d9cd7e Increase the datagram receive buffer on Windows to 64k
A datagram can can be up to 64k, and if the buffer is too small the received data is truncated.

This change also correctly handles errors when receiving datagrams on Windows.

BUG= #24426
R=kustermann@google.com, iposva@google.com

Review URL: https://codereview.chromium.org/1381233003.
2015-10-06 08:42:51 +02:00
Ryan Macnak 723da91f0d Partially undo r26703 and omit regular code generation for implicit accessors.
libprecompiled.so -2.4% dart2js ARM

Review URL: https://codereview.chromium.org/1376233011 .
2015-10-05 16:43:06 -07:00
Ryan Macnak 7e821565d9 Precompilation: Eagerly bind all the static calls after compiling and drop the static call tables.
Shrinks dart2js precompiled.isolate by 2.2%.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1382243002 .
2015-10-05 15:51:55 -07:00
pq d21c6ef67e Benchmarking for navigation results.
R=keertip@google.com

Review URL: https://codereview.chromium.org/1386003002 .
2015-10-05 15:46:28 -07:00
Konstantin Shcheglov b107dec41a Spec change: include covering expressions into Extract Local protocol.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1388783003 .
2015-10-05 14:44:32 -07:00
Brian Wilkerson 8e523195e6 Move refactoring APIs into provisional
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1387703003 .
2015-10-05 12:51:57 -07:00
Srdjan Mitrovic dc2d81b636 Move vm_tags from isolate to thread, since we may have multiple threads in same isolate (GC, background compilation)
BUG=
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1387643002 .
2015-10-05 12:50:17 -07:00
Srdjan Mitrovic 193eadbc10 Initial design for background compilation
BUG=
R=koda@google.com

Review URL: https://codereview.chromium.org//1386503002 .
2015-10-05 12:29:22 -07:00
Brian Wilkerson 7bbd8c66a5 Move completion APIs to private location
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1383313002 .
2015-10-05 11:57:35 -07:00
Brian Wilkerson ba318117d8 More documentation clean-up for server APIs
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1389713002 .
2015-10-05 11:04:09 -07:00
Matthias Hausner c5ed2f55b7 Fix await transformation of function calls
Ensure that side effects in actual parameter lists
are preserved in await’ed function calls,
eg. await foo(a++, a++)

BUG=24488
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1382123003 .
2015-10-05 10:31:05 -07:00
Sigmund Cherem 66db8a7f0e add tool to track memory watermark
R=sra@google.com

Review URL: https://codereview.chromium.org/1384833002 .
2015-10-05 10:20:36 -07:00
pq 8697392367 AnalysisError hasFix attr (Implements #23874).
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1385523002 .
2015-10-05 09:46:17 -07:00
Brian Wilkerson 04c5a5f199 Clean up hints
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1382403002 .
2015-10-05 09:20:44 -07:00
Terry L. Lucas ecfad36ac7 Fixed custom elements to work in Polymer
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1389683002 .
2015-10-05 08:55:52 -07:00
William Hesse 291ae520a9 Split http_proxy_test into two tests, with failing tests in a new file.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1384293002 .
2015-10-05 16:33:26 +02:00