Commit graph

32474 commits

Author SHA1 Message Date
Terry L. Lucas
4947e570d4 Changed to use JSInterop
Review URL: https://codereview.chromium.org//1173403004 .
2015-07-13 12:38:16 -07:00
Johnni Winther
ddf8ec8169 Fix try/poi.
BUG=

Review URL: https://codereview.chromium.org//1237663005.
2015-07-13 21:28:12 +02:00
Johnni Winther
0da5b34305 Add interfaces for a new compiler API.
Main changes are in the added files, compiler/compiler.dart, src/compiler.dart and src/apiimpl.dart.

Start by looking at compiler/compiler_new.dart and compiler/compiler.dart.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1235563003.
2015-07-13 21:15:23 +02:00
William Hesse
e29d39a363 Update co19 status for IE11.
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org//1235953003 .
2015-07-13 19:22:37 +02:00
Brian Wilkerson
0c6872acef Hook for overriding the ContextManager and some code clean-up (with more to follow)
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1223413003 .
2015-07-13 10:20:13 -07:00
Brian Wilkerson
10b7db100f Revert "Update Analysis Server highlight API and implementation."
This reverts commit 739847402b.

Rolling the wire protocol API version forward caused existing clients to break, so we're rolling it back until we can find a backward compatible way of adding the new functionality.

R=paulberry@google.com

Review URL: https://codereview.chromium.org//1236433003 .
2015-07-13 09:49:55 -07:00
Paul Berry
f9fec69a79 Add a tool to generate a graph of tasks and their dependencies.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1235963002 .
2015-07-13 09:41:59 -07:00
Daniel Andersson
c3a9aa21d6 error can shift more than 32 bits.
From upstream fix:
0d25506a2e

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1239493002 .
2015-07-13 08:50:37 -07:00
Konstantin Shcheglov
3f99fc1744 Add test for 'getNavigation'.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//1229833004 .
2015-07-13 07:46:07 -07:00
Florian Schneider
141d6bdcd2 Make subtype test cache stub shared between isolates.
Also remove an the unused pp paramters from LoadIsolate on ARM64.

BUG=
R=koda@google.com

Review URL: https://codereview.chromium.org//1235843003 .
2015-07-13 15:42:16 +02:00
Johnni Winther
12e232dca7 Refactoring handle type literals.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1232613003.
2015-07-13 12:57:41 +02:00
Florian Schneider
81deeaeedc VM: Share some stub code between isolates.
This CL also lifts the restriction that the object pool can't be used
in VM isolate code on x64 and arm64.

Stubs that perform allocation can't be shared yet, because the inline allocation
code is not yet isolate-independent. This will be added in a separate CL.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1229283002 .
2015-07-13 10:00:51 +02:00
Konstantin Shcheglov
d7c2f4550b Issue 23640. Implement 'analysis.getNavigation' request.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/23640

Review URL: https://codereview.chromium.org//1232683003 .
2015-07-10 15:31:25 -07:00
John McCutchan
4da11ef37f Test tracing of string allocations
Also, fix a bug in string allocation tracing.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1230063010 .
2015-07-10 14:30:04 -07:00
John McCutchan
13a372eca0 Add forgotten toggle on / off part of typed array allocation test
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1225343004 .
2015-07-10 14:00:16 -07:00
Brian Wilkerson
4d2bb64183 Generic method support in element model
R=leafp@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//1217373005 .
2015-07-10 13:53:35 -07:00
John McCutchan
01192a2175 Trace typed data allocations
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1227963004 .
2015-07-10 13:50:55 -07:00
pq
a81c308283 Analyzer code cleanup.
Removed some unused imports and fixed member sorting.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1230273002 .
2015-07-10 13:42:27 -07:00
Srdjan Mitrovic
04fa456a88 Fix prefix errors with --noopt
BUG=

Review URL: https://codereview.chromium.org//1227123004 .
2015-07-10 13:28:46 -07:00
John McCutchan
a891b75709 Remove Assembler::kFarJump when not necessary
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1234443005 .
2015-07-10 13:10:47 -07:00
John McCutchan
e89b2eeaac Trace allocation of arrays
BUG=
R=fschneider@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//1226143011 .
2015-07-10 13:06:17 -07:00
John McCutchan
f2bdf68919 Fix X64 build by switching from near jumps to far jumps
BUG=

Review URL: https://codereview.chromium.org//1231083004 .
2015-07-10 13:03:23 -07:00
John McCutchan
598c67001b Update Assembler::TryAllocate to support inline allocation tracing
- Track whether class allocation should be traced in existing ClassHeapStats structure.
- Emit compare and branch at top of ::TryAllocate

These changes appear to be performance neutral.

An alternative approach is to deoptimize all code that inlined allocations for a specific class. I do not think this is a good approach because we will spoil the water- allocations that aren't occurring in the (optimized steady state) running program  will appear in the allocation profile. This will make the data much less actionable bordering on misleading. The approach used in this CL will guarantee the allocation profile aligns with the actual running program.

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

Review URL: https://codereview.chromium.org//1213013002 .
2015-07-10 12:19:01 -07:00
Srdjan Mitrovic
1eac96c5ba Fix deferred error reporting.
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//1230173003 .
2015-07-10 11:31:37 -07:00
Florian Loitsch
ec398a7385 dart2js: Rename "current isolate" to "static state (holder)".
R=herhut@google.com

Review URL: https://codereview.chromium.org//1232463007 .
2015-07-10 19:08:11 +02:00
Asger Feldthaus
306b627a05 dart2js cps: Redundant join elimination.
There is a new pass that optimizes for continuations that branch on a
parameter, where every invocation passes a constant as that parameter.

This avoids unnecessary boolean flags that can arise from specializing a
call to a method that returns a boolean.

A current short-coming is that this lives in its own pass.
I believe shrinking reductions and redundant joins elimination can
trigger redexes of each other, so in theory we may still get redundant
joins in the output. The two passes might need to be reorganized at
some point.

R=karlklose@google.com

Review URL: https://codereview.chromium.org//1229893002.
2015-07-10 16:32:53 +02:00
Søren Gjesse
36b82c9fe2 Update CHANGELOG
BUG=https://github.com/dart-lang/sdk/issues/19334
TBR=kevmoo@google.com

Review URL: https://codereview.chromium.org//1235543003.
2015-07-10 16:29:57 +02:00
Johnni Winther
73572dc3f1 Generated source mapping through CPS.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1229673006.
2015-07-10 15:32:36 +02:00
Asger Feldthaus
9a7d77604b dart2js cps: Rewrite iterator/moveNext/current into JS array accesses.
For example, the code (assuming 'list' is a native list):

  for (var x in list) {
    print(x);
  }

Becomes:

  var i = 0, x = null, $length = list.length, v0;
  while (true) {
    if (i < list.length) {
      x = list[i];
      i = i + 1;
      v0 = true;
    } else {
      x = null;
      v0 = false;
    }
    if (!v0)
      return null;
    P.print(x);
    if ($length !== list.length)
      H.throwConcurrentModificationError(list);
  }

This is clearly in need of redundant join elimination, which is an
optimization that I plan to land separately.

After redundant join elimination it becomes:

  var i = 0, x = null, $length = list.length;
  while (i < list.length) {
    x = list[i];
    i = i + 1;
    P.print(x);
    if ($length !== list.length)
      H.throwConcurrentModificationError(list);
  }
  x = null;

There is still room for improvement regarding redundant assignemnts
to 'x'. They occur because x is a MutableVariable. Rewriting these
into "SSA variables" (continuation parameters) is another optimization
we may want to implement.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1229563005.
2015-07-10 15:22:00 +02:00
Stephan Herhut
22ce26bffa dart2js: Fix checked mode error in nameForGetOneShotInterceptor.
BUG=
TBR=karlklose@google.com

Review URL: https://codereview.chromium.org//1235593002 .
2015-07-10 15:04:08 +02:00
Stephan Herhut
374f9e3941 dart2js: Take named arguments into account (again) when naming one-shot interceptors.
R=karlklose@google.com
BUG=

Review URL: https://codereview.chromium.org//1235463004 .
2015-07-10 14:32:59 +02:00
Karl Klose
52f0390b68 dart2js cps: Update test expectations after 6b36c8acc6.
TBR=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1232133002 .
2015-07-10 14:19:10 +02:00
Soren Gjesse
4205b2997e Change stdout/stderr to binary mode on Windows
Every other file opened in Windows is in binary mode, and there is no
way of opening a file in text mode.

This is a breaking change if one is relying on the CR insertion
when writing to stdout/stderr on Windows.

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

Review URL: https://codereview.chromium.org//1228053002.
2015-07-10 13:57:15 +02:00
Asger Feldthaus
fe2c4c5d97 dart2js cps: Emit unlabeled breaks and continues when possible.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1232083002.
2015-07-10 12:25:51 +02:00
Johnni Winther
a07f023f48 Fix dart2js_extra/23486_test
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1229253002.
2015-07-10 11:40:37 +02:00
Florian Loitsch
2b1e0999c4 dart2js: Update library names for the lazy emitter.
R=herhut@google.com

Review URL: https://codereview.chromium.org//1230793004 .
2015-07-10 11:31:34 +02:00
Natalie Weizenbaum
420bad6bb1 Pull in more pub test fixes.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1230083002 .
2015-07-09 17:01:25 -07:00
Seth Ladd
d69cd1dcfd one-liners for typed data
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1231903007 .
2015-07-09 16:47:41 -07:00
Seth Ladd
4bc681814b make one-line docs for math
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1231933007 .
2015-07-09 16:28:22 -07:00
Seth Ladd
4c685b6e84 add docs for indexed_db
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//1233513002 .
2015-07-09 16:20:03 -07:00
Seth Ladd
41ed922e4f add one-liner docs to dart:developer
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1229173002 .
2015-07-09 15:35:04 -07:00
Srdjan Mitrovic
940cc2dab8 Fix package load error reporting.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org//1224403002 .
2015-07-09 14:49:54 -07:00
Brian Wilkerson
dee2389549 Merge branch 'pr/23814' 2015-07-09 14:25:33 -07:00
Natalie Weizenbaum
04eb0719bb Bring in the latest path and pub.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1226413005 .
2015-07-09 14:13:44 -07:00
guillermooo
1383dd8684 typo 2015-07-09 13:52:12 -07:00
guillermooo
d7d272de81 minor changes to comments and strings 2015-07-09 13:52:12 -07:00
Daniel Andersson
f2f9c3556b Remove incorrect ASSERT (profiler thread needs to walk stack).
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1225103005 .
2015-07-09 13:50:11 -07:00
Daniel Andersson
aadf109beb Remove static Mutex construction.
This is suspected to cause problems on MacOS; see
https://github.com/dart-lang/sdk/issues/8377

BUG=

Review URL: https://codereview.chromium.org//1226103010 .
2015-07-09 13:21:59 -07:00
Natalie Weizenbaum
3fe8cf3211 Bring in the latest pub.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1223343003 .
2015-07-09 13:20:03 -07:00
Srdjan Mitrovic
a3e1db6263 Fix --compile_all flag (--compile-all is wrong)
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1230883002 .
2015-07-09 13:16:37 -07:00