Commit graph

34870 commits

Author SHA1 Message Date
Siva Annamalai 9e19d236ca - Add an OSThread structure which is the generic TLS structure for all C++
fields in a thread (i.e fields that are not Dart VM related)
- Split the Thread structure to be a pure Dart per thread structure and add
  a pointer to os_thread which points to the OSThread structure
- Change Schedule/UnSchedule to set the Dart Thread structure as the TLS of
  the thread when it is inside the Dart world and reset the TLS back to the
  OSThread strcuture when is exits the Dart World.
- Moved the stack_base and few stack size related functions to OSThread from Isolate

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

Review URL: https://codereview.chromium.org/1439483003 .
2015-11-19 13:45:10 -08:00
Srdjan Mitrovic a9961f8f0a Various cleanups
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/1464593002 .
2015-11-19 13:15:01 -08:00
Todd Turnidge 05bf1d6bb6 Update test status files. Issue #24990.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1454143005 .
2015-11-19 12:42:58 -08:00
pq 5cc9a288bb Revert "Move analyzer_cli into the SDK."
This reverts commit a573ed31f1.

BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/1462143002 .
2015-11-19 11:28:52 -08:00
pq a573ed31f1 Move analyzer_cli into the SDK.
Build changes to follow.

Tracking bug: https://github.com/dart-lang/sdk/issues/24731

BUG=24731
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1464553003 .
2015-11-19 11:11:17 -08:00
Brian Wilkerson 1e140291c5 Add back a utility method needed by tests
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1457313003 .
2015-11-19 10:52:42 -08:00
Brian Wilkerson 181a8f09ad Update the deps to pull in the latest version of the linter package
R=pquitslund@google.com

Review URL: https://codereview.chromium.org/1458153002 .
2015-11-19 10:47:51 -08:00
Todd Turnidge b243fa53cf Redo the interface for capture stdio.
Flutter doesn't care to import tons of our include files.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1460863002 .
2015-11-19 09:24:23 -08:00
Florian Schneider f0a35b3260 VM: Add dart_precompiled build target, a standalone VM without the JIT compiler.
This removes most of the compiler-related code from dart_precompiled:
x64 stripped binary size 13M -> 9.1M
ARM stripped binary size 12M -> 8.3M

The precompiled build defines the DART_PRECOMPILED macro. This
stubs out the public interface to the compiler/parser with empty
function bodies.

Use gcc options -ffunction-sections and --gc-sections to make the linker remove
unused functions/symbols.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1459443002 .
2015-11-19 10:13:16 +01:00
Konstantin Shcheglov a689bf4180 Report error for ignored priority file. Ignore subscription for ignored files.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1462693002 .
2015-11-18 17:31:58 -08:00
William Hesse f0242f10cd Start working on version 1.14 of Dart, now that 1.13 is released.
BUG=

Review URL: https://codereview.chromium.org/1459643003 .
2015-11-18 17:27:32 -08:00
pq 3972dd5e6b Missed import.
Build fix: http://build.chromium.org/p/client.dart/builders/analyzer_experimental-linux-release-be/builds/4658/steps/tests%20/logs/stdio

Review URL: https://codereview.chromium.org/1460843003 .
2015-11-18 17:22:51 -08:00
Sigmund Cherem 081b16141b Add test for crash with js-interop @anonymous feature
R=sra@google.com

Review URL: https://codereview.chromium.org/1454273002 .
2015-11-18 16:49:09 -08:00
William Hesse d9397d8a16 Copy changes to CHANGELOG.md from stable to bleeding-edge.
BUG=
R=kevmoo@google.com

Review URL: https://codereview.chromium.org/1454293002 .
2015-11-18 16:45:21 -08:00
pq 3a1a3ee094 Embedded options discovery (#24943).
Merges analysis options extracted from `_embedder.yaml` files (potentially) with local overrides.

Background: https://github.com/dart-lang/sdk/issues/24943

For test coverage of merging, see: `analyzer/test/src/util/yaml_test.dart`.

BUG=24943
R=brianwilkerson@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1445363002 .
2015-11-18 16:41:27 -08:00
Kevin Moore 3d43d6d51c pkg/js: prepare for 0.6.0 release
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1456223002 .
2015-11-18 15:34:54 -08:00
Srdjan Mitrovic bad39686a4 Revert "Enable deferred deoptimization always."
This reverts commit 94754bee29.

BUG=

Review URL: https://codereview.chromium.org/1462703002 .
2015-11-18 15:28:34 -08:00
Konstantin Shcheglov b46dd600d0 Remove unused declarations - skip summaries and completion.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1462463004 .
2015-11-18 15:21:01 -08:00
Ryan Macnak df72a27f23 Intrinsify _StringBase._substringMatches to speedup indexOf/startsWith/endsWith under precompilation.
Fix some Smi checks in other intrinsics on MIPS.

Raspberry Pi 2
Before
JIT StarryStrings(RunTime): 1851875.5 us.
noopt StarryStrings(RunTime): 23655235.0 us.

After
JIT StarryStrings(RunTime): 1829766.5 us.
noopt StarryStrings(RunTime): 8660442.0 us. (2.7x)

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1450663002 .
2015-11-18 14:38:39 -08:00
Srdjan Mitrovic 94754bee29 Enable deferred deoptimization always.
Deferred deoptimization being moved ahead of entering field dependencies, attempt to use it for non-background-compilation as well. Previous failures not reproducible on Linux ia32 any longer.

BUG=

Review URL: https://codereview.chromium.org/1450973002 .
2015-11-18 14:30:48 -08:00
Konstantin Shcheglov abe8d87e0e Implement AnalysisServer.getContainingContext() using ContextManager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1455163005 .
2015-11-18 14:10:35 -08:00
Brian Wilkerson bc0f99c95a Generalize API, fix bug, format/sort
R=paulberry@google.com

Review URL: https://codereview.chromium.org/1461763002 .
2015-11-18 14:07:44 -08:00
John Messerly 2ce06f5325 sort type_system_test.dart
R=leafp@google.com

Review URL: https://codereview.chromium.org/1460853002 .
2015-11-18 13:26:17 -08:00
Ryan Macnak 71f7688c91 Update co19 status for noopt.
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1457733003 .
2015-11-18 13:24:47 -08:00
Ryan Macnak a6e8abfeb6 Deal with missing deopt_table under precompilation.
E.g., the InlinedFunctionsIterator used to build stacktraces.

Broken by 73b6080a6b.

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

Review URL: https://codereview.chromium.org/1458973002 .
2015-11-18 13:02:23 -08:00
Todd Turnidge 1d2d1ce0fc Don't use global variables for capturing stdio.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1458983002 .
2015-11-18 12:47:34 -08:00
Srdjan Mitrovic 1b17e78f38 Create code and instruction object, and install them in the background compilation thread while bringing mutator thread to a saferpoint.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1454553004 .
2015-11-18 11:32:17 -08:00
Todd Turnidge 71b3d5aba8 Start isolates in a separate thread.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1447353002 .
2015-11-18 11:02:32 -08:00
Paul Berry 0aebd7d6b2 Implement support for generic methods in summaries.
In theory generic top level functions are also supported, but they
aren't tested due to lack of parser support.

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

Review URL: https://codereview.chromium.org/1455863003 .
2015-11-18 10:26:28 -08:00
Florian Schneider 72bd5adf00 Fix running standalone-precompiled when passing a package-root/-file/-map.
These are missing embedder entry points for standalone VM and
are needed when e.g. passing --package-root to a precompiled snapshot.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1462533002 .
2015-11-18 19:00:47 +01:00
Brian Wilkerson 905cb67e99 Add support for running git in tests
Review URL: https://codereview.chromium.org/1453213002 .
2015-11-18 09:37:14 -08:00
Brian Wilkerson 9d01b15fd2 Fix a bug parsing generic methods
R=paulberry@google.com

Review URL: https://codereview.chromium.org/1459543002 .
2015-11-18 06:17:50 -08:00
Florian Schneider dce89b9b5b VM: Speculative inlining in precompiled code.
Enable inlining of certain smi- and array-operations based on propagated
types and range analysis:

If bounds checks and class checks can not be eliminated, bail out of the
current optimization and retry without speculative inlining using the same
mechanism as we use for far jumps on MIPS.

Allow more speculative inlining attempts with up to n deopt ids black-listed.
For now set n=1 since precompilation time will be proportional to n.

BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1423063005 .
2015-11-18 14:56:06 +01:00
Asger Feldthaus 392bed583c dart2js: Recanonicalize selectors in static fields between runs.
This fixes a bug in batch-mode.

Selectors are canonicalized upon construction, so two equal selectors
are always the same object.

To avoid memory leaks in batch mode, the compiler clears the canonical
cache before each run.

However, some selectors were stored in static fields and thus shared
between runs.  These selectors lost their canonical status when the
cache was cleared.  This patch "fixes" that by reinserting them in
the cache after clearing it.

BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1457733002 .
2015-11-18 13:55:15 +01:00
Lasse R.H. Nielsen 517a443481 Add List.filled parameter to CHANGELOG.md. Sort by library name.
R=kevmoo@google.com, mit@google.com

Review URL: https://codereview.chromium.org/1444263002 .
2015-11-18 13:34:19 +01:00
Konstantin Shcheglov 4ed3afeb5e Fix for mapping SDK files to 'dart:' URIs.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/24873

Review URL: https://codereview.chromium.org/1457643002 .
2015-11-17 17:20:15 -08:00
John McCutchan 28e416b1f4 Revert "Avoid strerror_r portability issues"
This reverts commit ca81c1732b.
2015-11-17 16:34:25 -08:00
Ivan Posva f28afad353 - Do not include the sources as part of the generated files on
Windows to avoid creating string literals that are too large.

BUG=

Review URL: https://codereview.chromium.org/1453353002 .
2015-11-17 16:11:26 -08:00
Paul Berry 178cebb634 Modify summary Builder classes to avoid the use of Object.
Instead of passing around opaque Objects which are the result of
calling the Builder.finish() methods, we pass around the Builder
objects themselves, and we call finish() from within the generated
code.  This pushes the lack of type safety into the generated code,
leaving the handwritten code type safe.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1452363002 .
2015-11-17 15:50:26 -08:00
Matthias Hausner 648e52baa8 Collect closure functions in isolate
Instead of collecting closures functions in each class object, maintain one list per isolate. This is a step towards getting rid of top-level classes.

I'd appreciate if John could take a look at the service isolate and coverage related change.

I'd appreciate if Ryan could take a look at the precompilation related change.

When compiling all of corelib, the list of closures in the isolate is about 600 entries long. If this linear list should become a bottleneck, I'll deal with it later. (Sadly, some code relies on the fact that a closure can be identified with a list index, so making it a hash table instead of an array does not work.)

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1436243005 .
2015-11-17 15:40:27 -08:00
John McCutchan ca81c1732b Avoid strerror_r portability issues
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1450113003 .
2015-11-17 15:23:47 -08:00
John Messerly ec994696df skip new generic method test if task model is not on
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1456773002 .
2015-11-17 15:22:48 -08:00
Ivan Posva d97c7bdbde - Include sources in gen_snapshot and dart_no_snapshot to allow
creating full snapshots without having a full Dart SDK checkout.

BUG=
R=asiva@google.com, chinmaygarde@google.com

Review URL: https://codereview.chromium.org/1449163003 .
2015-11-17 14:58:09 -08:00
John Messerly 09625df4a9 re-land Use FunctionElementImpl for inline function type parameters
This reverts commit 2990a0933a.

And fixes the test failure. The one additional change is in error_verifier.dart

Previous reviews:
(initial) https://codereview.chromium.org/1435153007/
(revert) https://codereview.chromium.org/1445273002/

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1447373002 .
2015-11-17 14:13:14 -08:00
Brian Wilkerson 7537e1fea5 Fix the build by removing a not-yet needed method
Review URL: https://codereview.chromium.org/1450163003 .
2015-11-17 14:02:28 -08:00
Paul Berry 55983428b4 Add summary tests for cascaded show/hide combinators.
At the moment these tests are mostly redundant, since the semantics of
cascaded combinators are implemented elsewhere.  However, when we add
a relinking mechanism these tests will ensure that cascaded combinator
semantics are properly implemented by the relinker.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1455693002 .
2015-11-17 14:02:18 -08:00
Zachary Anderson 157cbe9738 Use a List for outstanding load requests
Saves another ms during Isolate startup.

BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org/1452053003 .
2015-11-17 13:57:12 -08:00
Brian Wilkerson 8c3722e92a Add server utilities for the stress test
R=keertip@google.com

Review URL: https://codereview.chromium.org/1454813002 .
2015-11-17 13:18:04 -08:00
John Messerly 9f938594bc skip task-model only tests if not running with task model
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1451243002 .
2015-11-17 12:37:13 -08:00
Todd Turnidge b9af3683fd Don't unsubscribe to streams we aren't subscribed to.
Gets rid of some stray uncaught exceptions when running Flutter.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1456643002 .
2015-11-17 11:29:39 -08:00