Commit Graph

12444 Commits

Author SHA1 Message Date
Asger Feldthaus cb8d7994ce dart2js cps: Refactor CallExpressions into Primitives.
(Work-in-progress, but mostly done)

InvokeMethod and friends no longer take a continuation, but are instead
primitives bound by LetPrim.

This touches a lot of code. Some general housekeeping came along in the
process.

InvokeMethod has a "calling convention" enum on it to enable
dartReceiver and getDartArgument convenience methods.

There is a new UnsafePrimitive class to help type propagation
constant-fold InvokeMethods.  I expect the class will go away after
some changes to type propagation.

Most optimizations work exactly as before, but not all are 100%
consistent.  The consecutive push rewrite was removed entirely because
V8 does not like that.

BUG=
R=kmillikin@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1458703007 .
2015-11-23 12:29:43 +01:00
Karl Klose b0b841d976 corelib: Do not print value in ArgumentError.notNull
R=lrn@google.com

Review URL: https://codereview.chromium.org/1460903003 .
2015-11-23 12:25:58 +01:00
Todd Turnidge c6c6f121ed Skip isolate spawning tests on Dartium.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1455233007 .
2015-11-20 11:10:17 -08:00
Florian Schneider e028ebc28e Temporarily mark standalone/io/process_sync_test as Pass, Timout on Windows
BUG=#24596

TBR=zra@google.com

Review URL: https://codereview.chromium.org/1461253003 .
2015-11-20 11:11:57 +01: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
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
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
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
Asger Feldthaus 44a200b88d dart2js cps: Update status file.
These used to fail with an assertion error about GlobalEventHandlers,
but not anymore.

BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1455503003 .
2015-11-17 15:23:12 +01:00
Lasse R.H. Nielsen 5363e5c945 Make dart2js code retain the original stack trace for uncaught async errors.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1383213002 .
2015-11-17 15:17:04 +01:00
Johnni Winther aa16622d8d Handle prefix as expression in SendSet.
Closes #23611

BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1449343003.
2015-11-17 13:45:13 +01:00
Johnni Winther 25aeab3c40 Revert "Limit interceptedElements to instantiated members only."
This reverts commit c71f758cba.

BUG=

Review URL: https://codereview.chromium.org/1450843002.
2015-11-16 13:16:55 +01:00
Johnni Winther c71f758cba Limit interceptedElements to instantiated members only.
BUG=
R=asgerf@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1418643008.
2015-11-16 12:46:09 +01:00
Srdjan Mitrovic 6f73461202 Making bots greener
BUG=

Review URL: https://codereview.chromium.org/1441743004 .
2015-11-13 09:40:05 -08:00
Lasse R.H. Nielsen 50aa43569d Add "growable" parameter to List.filled constructor.
Fixes issue #24884
BUG= http://dartbug.com/24884
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1440663003 .
2015-11-13 09:30:46 +01:00
Alan Knight aeceee15ef Suppress flaky co19 test on Dartium
BUG=

Review URL: https://codereview.chromium.org/1436933004 .
2015-11-12 17:48:53 -08:00
Srdjan Mitrovic 0553fd711b Disable a failing test on Windows, release, ia32; filed issue.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1439123002 .
2015-11-12 14:26:19 -08:00
Srdjan Mitrovic 4600d37dc1 Background compilation work:
- Defer deoptimization from optimizing compiler to code installation in mutator thread.
- Defer registration of field and leaf class dependency until code is installed in mutator thread.
- Cleanup.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1433243003 .
2015-11-12 11:25:58 -08:00
Søren Gjesse bcd7466b56 Ensure proper response to chrome client_max_window_bits request.
I undid the patch John McCutchan did to disable compression and compiled and verify that Chrome does not experience any issues with websocket compression negotiation and that compression is enabled.

Also tested with observatory on Firefox and Edge (IE) and both work with current configuration.

BUG=#24864
subject: Ensure proper response to chrome client_max_window_bits

R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1437623002 .
2015-11-12 17:04:07 +01:00
Lasse R.H. Nielsen ed0b187d58 Add data-URI support class to dart:core (next to Uri).
R=floitsch@google.com, fschneider@google.com

Committed: https://github.com/dart-lang/sdk/commit/bbc66c2c41e61d82d6b85fdd16e2b0f1204c2a33

Review URL: https://codereview.chromium.org/1381033002 .
2015-11-12 13:02:20 +01:00
John McCutchan 291befa1cd Redo TimelineTask API
A TimelineTask represents an asynchronous track of operations on the timeline.

The old API allowed multiple isolates to emit events simultaneously on the same task or to start / finish events in any order. This isn't supported by our UI and probably many other tools that consume trace-event.

With this change, operations within a TimelineTask must complete in the reverse order of their start calls (aka a stack). You can pass a TimelineTask from one isolate to another but you must first complete all open operations before passing it.

Example:

var task = new TimelineTask();

task.start('Some phase');
await someFuture;
task.finish();

Also: Add support for instant events.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1412183008 .
2015-11-11 10:59:38 -08:00
William Hesse 5c2102fbac Fix format error in co19 status file.
BUG=
R=mit@google.com

Review URL: https://codereview.chromium.org/1433873003 .
2015-11-11 18:58:13 +01:00
William Hesse 7e2efcbb2a Update browser status for co19 roll.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1440663002 .
2015-11-11 16:09:03 +01:00
Stephan Herhut 1fdcb882d5 Fix a bug in type inference for locals in switch statements.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1439603002 .
2015-11-11 16:03:19 +01:00
William Hesse 13b2d4463c Update dart2js/check_members_test for co19 renaming.
BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1440573002 .
2015-11-11 14:23:20 +01:00
Johnni Winther 9cfba28da1 Compute NewStructure in resolution.
Closes #21134

R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1437463005.
2015-11-11 11:46:08 +01:00
William Hesse df5ef1b136 Revert "Add data-URI support class to dart:core (next to Uri)."
This reverts commit bbc66c2c41.

BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1432203002 .
2015-11-11 11:42:04 +01:00
Kevin Millikin d20d3f6419 dart2js CPS: Triage an issue in the corelib tests.
R=asgerf@google.com
BUG=https://github.com/dart-lang/sdk/issues/24878

Review URL: https://codereview.chromium.org/1434933002 .
2015-11-11 11:32:49 +01:00
William Hesse d524cf4076 Update co19 test suite to commit Oct 1 2015 1d96fbbf94c534c9076f90bd4ebce6226169da48
Update co19-co19.status

Update co19 to tot.

Rename co19 language tests in status files, and roll co19 version.

BUG=
R=ricow@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org/1390533003 .
2015-11-11 10:47:46 +01:00
Lasse R.H. Nielsen bbc66c2c41 Add data-URI support class to dart:core (next to Uri).
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1381033002 .
2015-11-11 10:27:08 +01:00
Stephen Adams 2d60a9cf45 js_ast: Avoid precedence issue with negative numbers as receivers at calls
This change makes LiteralNumber and DeferredNumber have a precedence based on the value so that the sign always binds to the number.

An alternative is to change constant generation to built the negation of a positive constant, but this approach does not work for deferred numbers since the sign is unknown at AST generation time.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1438633002 .
2015-11-10 19:02:05 -08:00
Johnni Winther 0133786ae0 Use DiagnosticMessage in MockCompiler.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1415463022.
2015-11-10 11:12:51 +01:00
Johnni Winther 89e5781fed Update cps status.
BUG=

Review URL: https://codereview.chromium.org/1421603005.
2015-11-09 14:57:12 +01:00
Johnni Winther e9c53271c5 Improve messages and static use for super/this-calls.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1423623008.
2015-11-09 13:24:38 +01:00
Ryan Macnak a825ac73f8 Skip precompilation_dart2js_test on the MIPS bots.
R=zra@google.com

Review URL: https://codereview.chromium.org/1410833007 .
2015-11-06 15:23:03 -08:00
Johnni Winther 7b458eb1d6 Normalize type masks to use the least upper instantiated subclass/type.
BUG=
R=sigurdm@google.com

Committed: https://github.com/dart-lang/sdk/commit/d3c68df8532fee63cd846fda7130d28c99c591df

Reverted: https://github.com/dart-lang/sdk/commit/c1b102a94dbc6a7a0ffe022d4bef26f9390a90f2

Review URL: https://codereview.chromium.org/1413613010.
2015-11-06 15:37:14 +01:00
Lasse R.H. Nielsen 580d8601d0 Fix co19 expectation after fixing compile-time constant interpolation bug.
Review URL: https://codereview.chromium.org/1417553012 .
2015-11-06 12:28:34 +01:00
Asger Feldthaus a32a12f900 dart2js: Change how super tear-offs are registered.
Previously, torn off super methods would be registered by emulating a
dynamic getter call using an exact TypeMask for the super class as the
receiver.

If the super class was abstract (or just not instantiated), using an
exact TypeMask is absurd since there are no objects with that exact
class.

Now, methods that have been registered as "needing super getter" are
always considered to have their getter invoked, removing the need to
emulate the dynamic getter call.

BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1418573011 .
2015-11-06 11:49:05 +01:00
Asger Feldthaus 40632b2155 dart2js cps: Add failing test to status file.
BUG=

Review URL: https://codereview.chromium.org/1413343005 .
2015-11-06 11:32:43 +01:00
Asger Feldthaus eb7befc3d9 dart2js cps: Propagate container types for lists.
Container type masks depend on the allocation site of an object, but the
allocation site "key" is an AST node. We need to assign types to nodes
in the type propagation pass where the AST nodes are (and should be)
inaccessible, so we cannot directly query the type inference from there.

The key could be changed to an opaque "AllocationSiteID" object with no
members (just a key), but for now, we're just preserving the type mask
for container types from build-time.

Also has some other type propagation improvements related to containers.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1416723008 .
2015-11-06 11:29:26 +01:00
Lasse R.H. Nielsen 3c41869d3c Make dart2js accept constant null values in string interpolations.
Fixes issue #24839.
BUG= http://dartbug.com/24839
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1425823004 .
2015-11-06 10:58:06 +01:00
Søren Gjesse 95bb2159d9 Web Socket compression - take two
Resolve issues with typed data tests and compression.
Uses HeaderValues to parse permessage_deflate option.

Includes changes from https://codereview.chromium.org/1208473005/

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

Committed: https://github.com/dart-lang/sdk/commit/59bb84127b63a7516a32a32eae6a6839420709db

Reverted: https://github.com/dart-lang/sdk/commit/d1e01e205a615257ba9391cb531ad8b053af1fed

Additional fixes for failing tests.

Review URL: https://codereview.chromium.org/1390353005 .
2015-11-06 08:59:02 +01:00
Alan Knight 42b9d7b702 Serialize the data argument to History's state-related APIs.
BUG=

Review URL: https://codereview.chromium.org/1414903007 .
2015-11-05 16:23:44 -08:00
Ryan Macnak 165c21026a Add test precompiling dart2js.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1430993003 .
2015-11-05 10:43:15 -08:00
William Hesse abcb3a4d4d Update status for Firefox 42.
BUG=https://github.com/dart-lang/sdk/issues/24838
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1415473006 .
2015-11-05 16:14:46 +01:00
Stephan Herhut 6ba13e2570 Use better names for captured variables in closures.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1428853004 .
2015-11-05 11:57:50 +01:00
Johnni Winther c1b102a94d Revert "Normalize type masks to use the least upper instantiated subclass/type."
This reverts commit d3c68df853.

BUG=

Review URL: https://codereview.chromium.org/1431513010.
2015-11-05 11:14:47 +01:00
Johnni Winther d3c68df853 Normalize type masks to use the least upper instantiated subclass/type.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1413613010.
2015-11-05 10:54:21 +01:00
Jacob Richman 6bfbb93d72 Make Dartium JS interop implementation more robust in the presence of JS paths that touch dart:html types. Note that the dart2js implementation was already robust in the presence of dart:html types.
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/1415463019 .
2015-11-04 15:47:46 -08:00
Jacob Richman 1e3fb098d5 TBR. Only the method test group fails. Updated the test expectations file to reflect that.
BUG=

Review URL: https://codereview.chromium.org/1405953006 .
2015-11-04 10:56:30 -08:00