Commit graph

33342 commits

Author SHA1 Message Date
Florian Schneider b5966db69e VM: Clean up and fix bugs in instructions patterns
Fix bug in DecodeLoadWordFromPool: used Array::element_offset instead of ObjectPool::element_offset.
This only worked because they accidentally return the same value.

Remove virtual methods from InstructionsPatterns on ia32 and x64. Instead use a template for code reuse.
This avoids among others vtables for the *Pattern classes and saves >= 4K in VM binary code size.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1301963003 .
2015-08-21 09:31:36 +02:00
Ivan Posva 3aa62d03fc - Prevent interrupting the NULL thread when the isolate is
exiting from within a thread.

BUG=

Review URL: https://codereview.chromium.org//1307833002 .
2015-08-20 23:00:06 -07:00
Ivan Posva d0b03eebbd - Initialize fields used in the profiler interrupts.
BUG=
R=koda@google.com

Review URL: https://codereview.chromium.org//1304043003 .
2015-08-20 21:37:19 -07:00
Ivan Posva 3ff350ed09 - Clarify the order of setting the interrupt bit and posting a message in
Dart_InterruptIsolate.

BUG=

Review URL: https://codereview.chromium.org//1290893006 .
2015-08-20 19:26:25 -07:00
Srdjan Mitrovic 14be219d84 GrowableObjectArray -> GrowableArray for parsing type arguments
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//1309523002 .
2015-08-20 15:54:46 -07:00
Harry Terkelsen ccc8a1c538 Mark invalid package config tests as 'Crash, OK' for analyzer.
The analyzer terminates with nonzero exit code if given an invalid
package spec.

BUG=
R=pquitslund@google.com

Review URL: https://codereview.chromium.org//1307653002 .
2015-08-20 15:47:59 -07:00
Srdjan Mitrovic 4280716656 Remove new space allocation in optimizing compiler, use Symbols::FromConcat where appropriate
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//1303923002 .
2015-08-20 15:13:06 -07:00
John McCutchan 664742f016 Completely remove InterruptableThreadState
- InterruptableThreadState is gone.
- Moved InterruptableThreadState fields directly into Thread.
- Iterate over all threads in an isolate when profiling.
- Still only sample the mutator thread.

Fix ThreadRegistry leak

- When deleting a Thread, iterate over all isolates and remove it from the isolate's thread registry.

R=iposva@google.com

Review URL: https://codereview.chromium.org//1293253005 .
2015-08-20 14:38:38 -07:00
pq 67e988bb9f No more warnings for duplicate unnamed lib imports
Fixes #24156.

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

Review URL: https://codereview.chromium.org//1305433005 .
2015-08-20 14:30:37 -07:00
John McCutchan a0273cd24b Relax symbol match on Windows
BUG=

Review URL: https://codereview.chromium.org//1290273005 .
2015-08-20 14:06:28 -07:00
Seth Ladd 26eaf632cf removes a return from a void function
BUG=

Review URL: https://codereview.chromium.org//1305583003 .
2015-08-20 13:40:29 -07:00
keertip f07cec063c fix links in readme
BUG=
R=sethladd@google.com

Review URL: https://codereview.chromium.org//1299873003 .
2015-08-20 13:17:34 -07:00
John McCutchan 7e2113bc6e Reland More allocation tracing unit tests
- Context allocation unit test.
- Class allocation unit test.
- Adjust behaviour of RecordAllocation when we haven't exited Dart code and we aren't profiling the VM to match the sampler.
- Fix tests to ignore embedder samples by default

BUG=

Review URL: https://codereview.chromium.org//1307593003 .
2015-08-20 13:08:57 -07:00
Todd Turnidge 0706f6de29 Fix the error response for bad isolate ids, etc.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1297313005 .
2015-08-20 12:58:28 -07:00
Stephen Adams b569deac48 update language_dart2js.status for --cps-ir ??= tests
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org//1294773003 .
2015-08-20 12:14:56 -07:00
John McCutchan de2ef79d56 Revert "More allocation tracing unit tests"
This reverts commit d14e50b9c7.

BUG=

Review URL: https://codereview.chromium.org//1293383010 .
2015-08-20 11:47:55 -07:00
Srdjan Mitrovic 92013dd381 Use zone allocated growable array to populate interim static and stub calls table, thus allocating less objects in old space
BUG=
R=koda@google.com

Review URL: https://codereview.chromium.org//1288863006 .
2015-08-20 11:42:21 -07:00
John McCutchan d14e50b9c7 More allocation tracing unit tests
- Context allocation unit test.
- Class allocation unit test.
- Adjust behaviour of RecordAllocation when we haven't exited Dart code and we aren't profiling the VM to match the sampler.

R=iposva@google.com

Review URL: https://codereview.chromium.org//1297693003 .
2015-08-20 11:10:37 -07:00
Todd Turnidge bfd59ed799 Fix some errors in service.md.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1304803002 .
2015-08-20 11:00:23 -07:00
Paul Berry 03a156c891 Plumb "enableSuperMixins" option through analysis server (implements DEP 34).
Partially addresses #23772.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1301533003 .
2015-08-20 09:47:26 -07:00
Paul Berry 79d85a9d34 Pull in new analyzer_cli to enable support for the "--supermixin" flag.
Partially addresses #23772.

R=pquitslund@google.com

Review URL: https://codereview.chromium.org//1301023004 .
2015-08-20 09:33:38 -07:00
Sigmund Cherem 6e0b2418c7 [dart2js] fix inference of ??= and []??=
Fixes #24134
Fixes #24135

R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//1305663002 .
2015-08-20 07:32:34 -07:00
Johnni Winther 34db6ed4cb Handle static assignment to final/const fields in SSA.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1305443004.
2015-08-20 14:25:34 +02:00
Lasse R.H. Nielsen 1d537028f7 Mark resource as experimental
Fixes issue 24150
BUG= http://dartbug.com/24150
R=sandholm@google.com

Review URL: https://codereview.chromium.org//1284393004 .
2015-08-20 13:59:01 +02:00
Lasse R.H. Nielsen e3963b88d1 Move package_config deps to 0.1.3.
R=whesse@google.com

Review URL: https://codereview.chromium.org//1302073004 .
2015-08-20 13:46:03 +02:00
Johnni Winther 99bc71afe6 Move common identifiers, names and selectors to a separate library.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//1299413002.
2015-08-20 13:08:10 +02:00
Johnni Winther 256092eee3 Refactor handling of unqualified static updates.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1292673005.
2015-08-20 12:43:28 +02:00
Johnni Winther b731e6230b Refactor updates of locals.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1303503002.
2015-08-20 12:32:09 +02:00
Kevin Millikin aa9e569ecf dart2js: Use 'new Array' instead of 'Array' in the JS output.
Though the spec says that they are equivalent when called, they are not
optimized equivalently by V8.  This might be considered a performance bug in
V8 (https://code.google.com/p/v8/issues/detail?id=4380) but we should use
the much faster one unless that issue is fixed.

BUG=
R=asgerf@google.com, floitsch@google.com

Review URL: https://codereview.chromium.org//1291323004 .
2015-08-20 11:03:40 +02:00
Kevin Millikin 1ed82e83c8 dart2js: Just because it's slow doesn't mean it has to be dumb.
Change LinkEntry.slowLength to be iterative instead of recursive.  The
Guassian blur benchmark, ported from the Kraken JS benchmark suite, has a
427,200 element list literal.  Computing the length of a linked list of
427,200 entries will be a stack overflow.

R=asgerf@google.com
BUG=

Review URL: https://codereview.chromium.org//1299393002 .
2015-08-20 11:01:51 +02:00
Rico Wind 171ca680ba Upstream change to also kill fletch as part of task_kill.py.
This is to keep the patching of our branch as small as possible (and to guarantee consistency if we share bots between sdk and fletch runners)

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

Review URL: https://codereview.chromium.org//1304613002 .
2015-08-20 09:32:59 +02:00
Harry Terkelsen 7a219da572 Remove test for packages with ':' in the name.
Windows does not allow paths with ':'. If we include a directory
named 'qu:ux' in the repo then it cannot even be cloned on a Windows
machine.

BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1293793010 .
2015-08-19 17:53:15 -07:00
Harry Terkelsen a5b78597a6 Ignore IntelliJ .idea folders
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1300813011 .
2015-08-19 17:26:41 -07:00
Harry Terkelsen 714734b220 Disable target_with_colon_test on Windows.
Windows does not allow colons in paths.

BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1303613003 .
2015-08-19 16:58:29 -07:00
Stephen Adams 24588d9fec Recognize corelib.identical.
Convert to BuiltinOperator.Identical to enable type based
simplifications.  Remaining unsimplified BuiltinOperator.Identical
applications are still codegen-ed as calls to corelib.identical.

About half of the calls to identical() in swarm are improved.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1294283005 .
2015-08-19 16:31:50 -07:00
Harry Terkelsen 98e67aa065 dart2js: fail gracefully with invalid package config
Fixes #24118
Fixes #24120
Fixes #24121
Fixes #24122

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1291283006 .
2015-08-19 16:00:37 -07:00
Ryan Macnak 7055e4862b Toward precompiled snapshots.
R=asiva@google.com, fschneider@google.com

Review URL: https://codereview.chromium.org//1290933002 .
2015-08-19 15:34:17 -07:00
John McCutchan 719794f50a Disable developer extension test
BUG=

Review URL: https://codereview.chromium.org//1288293005 .
2015-08-19 15:24:56 -07:00
Daniel Andersson 00ef260503 Enable concurrent optimization test after migrating scopes to Thread*
Also move static call target table allocation into old space.

Note that stats are not thread-safe, so running two compilers concurrently may lead to inaccurate stats.

BUG=https://github.com/dart-lang/sdk/issues/24109

Review URL: https://codereview.chromium.org//1291803009 .
2015-08-19 15:16:47 -07:00
Sigmund Cherem 27b55b60bb Revert use of ?? to unbreak the build
TBR=sra@google.com

Review URL: https://codereview.chromium.org//1293533006 .
2015-08-19 14:16:16 -07:00
Ryan Macnak 9278cc312b Really update return type of dart2js patch of dart:developer.log.
Review URL: https://codereview.chromium.org//1296553003 .
2015-08-19 14:00:40 -07:00
Sigmund Cherem aae02054d2 Record information about constants in dump info
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1301903002 .
2015-08-19 13:52:49 -07:00
Ryan Macnak 360b40a599 Update return type of dart2js patch of dart:developer.log.
Review URL: https://codereview.chromium.org//1302823002 .
2015-08-19 13:42:53 -07:00
Gilad Bracha a0e4f28160 Unnamed libraries do not cause warnings.
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1299283002 .
2015-08-19 13:21:29 -07:00
Harry Terkelsen c6655ad43d Add more tests for .packages
BUG=
R=iposva@google.com, pquitslund@google.com

Review URL: https://codereview.chromium.org//1298323002 .
2015-08-19 13:17:01 -07:00
Ryan Macnak b7a8c29d92 Highlight the whole token when marking the current execution. Truncate call site annotations to one token.
Fix display of retained size for a class's top retaining instances for non-Instances.

Fix type of Instance.pattern.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1302533003 .
2015-08-19 13:10:09 -07:00
Seth Ladd 41e670f913 add void to dart:developer log
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1295803004 .
2015-08-19 13:01:29 -07:00
pq e11ce8ba87 Handle comparison of empty URIs (sdk/24126).
Fixes issue where `.packages` provides a key mapped to an empty value (https://github.com/dart-lang/sdk/issues/24126).

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1298393004 .
2015-08-19 12:53:55 -07:00
Ryan Macnak 9162166b54 Functions are objects too!
- Fix allInstances of non-Instances.
 - Fix loading _vmName.
 - Make refs of top-level classes (::) display something instead of empty string.
 - Fix inbound references to display C++ word offsets like retaining path.
 - Make inbound references and retaining path to display '<root>' instead of empty.
 - Make more types display heap object tools.
 - Add missing function kind for signature functions.

BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1300853006 .
2015-08-19 11:18:21 -07:00
Srdjan Mitrovic 5dedcf9d28 Reuse canonicalized type for receiver type if class is not signature class and has no type parameters.
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//1284093004 .
2015-08-19 10:57:36 -07:00