Commit graph

31221 commits

Author SHA1 Message Date
srdjan@google.com fef4e08b75 Fix breakage by disabling lazy local var descriptors.
Review URL: https://codereview.chromium.org//1133523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45582 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 04:31:31 +00:00
srdjan@google.com 3744661bc4 Lazily generate local var descriptors.
R=hausner@google.com

Review URL: https://codereview.chromium.org//1128803002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45581 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 04:16:50 +00:00
het@google.com acfd54f53a Report malformed URIs in library dependencies as errors.
For instance: "import '../../Udyn[mic ils/expect.dart';" used to cause an internal compiler error. The error is now caught and the compiler reports the invalid import.

BUG=http://dartbug.com/23228
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1131593006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45580 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 00:11:47 +00:00
brianwilkerson@google.com 1124eaacd8 Rename EMPTY_ARRAY to EMPTY_LIST
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1127183003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45579 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 23:47:59 +00:00
alanknight@google.com dd9150542d Keep dart:debugger comments in sync
BUG=
R=johnmccutchan@google.com, skybrian@google.com

Review URL: https://codereview.chromium.org//1130043002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45578 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 23:14:38 +00:00
alanknight@google.com 6fe25b0578 Provide a dart2js implementation of dart:debugger
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1121293003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45577 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 22:36:01 +00:00
johnmccutchan@google.com 37feb0c855 Add embedded_dart_io source_set for Sky
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1124193004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45576 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:36:15 +00:00
sra@google.com ac0f1ade9e Recognize unmodifiable lists
Add a new type, JSUnmodifiableArray, that is the type returned by
List.unmodifiable and the type of const list literals.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1126063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45575 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:25:25 +00:00
floitsch@google.com 067bdb8331 dart2js: Access to metadata and types goes through builtins.
Instead of exposing an embedded constant "METADATA" and "TYPES" provide a builtin-function that reads these values.
This allows us to implement the metadata and types table differently. In particular we want to be able to generate them lazily.

R=sra@google.com

Review URL: https://codereview.chromium.org//1125083002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45574 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:20:17 +00:00
fschneider@google.com 5dd0bc5c52 VM: Reduce size of PC descriptors with --noopt.
In this case, deoptimization descriptors are not needed.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1129673003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45573 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 20:45:13 +00:00
nweiz@google.com 0a7ea97a6f Fix or work around failing pub tests.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1123323003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45572 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 20:40:46 +00:00
nweiz@google.com 1f70e37a96 Cache pubspecs when HostedSource.getVersions is called.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1113363004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45571 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 18:25:29 +00:00
rmacnak@google.com b48fc7a2f4 Make script-insets obey their bounds, and other padding tweaks.
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1123143002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45570 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 17:10:43 +00:00
paulberry@google.com 2ade74e561 Clone AST nodes of default formal parameters prior to constant evaluation.
We need to clone these nodes for the same reason we need to clone the
nodes for constant variables--because once constant evaluation is
moved into the new task model, we will not necessarily have access to
the AST at the time we need to evaluate these constants (they may be
depended upon by constant invocation expressions in other libraries).

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1115993005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45568 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 15:51:39 +00:00
johnmccutchan@google.com 1c16abecf7 Fix breakage due to package upgrades
Paired with https://codereview.chromium.org/1129463003/

Review URL: https://codereview.chromium.org//1125203002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45567 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 14:53:12 +00:00
regis@google.com 8d26ed95e6 Implement Smi_bitLength intrinsic on mips, arm, and arm64.
Add support for clz instruction in arm64 assembler, disassembler, and simulator.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1124173002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45564 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 13:56:08 +00:00
ricow@google.com 654799e919 Trigger bots after github outage
TBR=herhut@google.com
BUG=

Review URL: https://codereview.chromium.org//1128103002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45563 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 13:26:44 +00:00
herhut@google.com d63b7df4aa dart2js: Update status of deferred_inheritance_constraints test, again.
BUG=
TBR=sigurdm@google.com

Review URL: https://codereview.chromium.org//1128063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45562 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 11:40:54 +00:00
herhut@google.com aab9414511 dart2js: Update status of deferred_inheritance_constraints test.
BUG=
TBR=sigurdm@google.com

Review URL: https://codereview.chromium.org//1128843002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45561 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 11:00:42 +00:00
herhut@google.com 3fd132b658 Add test for calling an empty function from unloaded deferred library.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//1127043003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45560 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 10:28:55 +00:00
herhut@google.com a37bc208f1 dartjs: Remove unused isFromMainOutputUnit.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//1131493002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45559 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 10:13:29 +00:00
lrn@google.com 92c526b2a2 Make EfficientLength public, as EfficientLengthIterable.
R=iposva@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1104063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45556 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 09:00:45 +00:00
herhut@google.com a79c250c13 dart2js: Inline across deferred output units if that leads to reduced size.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1117223002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45553 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 08:37:54 +00:00
lrn@google.com b3d466a1ca Update {,Linked}Hash{Set,Map} documentation.
Now specifies that the default [isValidKey] accepts all values in the
default and identity cases.

BUG= http://dartbug.com/23356
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1130453003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45552 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 08:35:23 +00:00
lrn@google.com 7fe3363524 Fix SplayTreeMap.from ignoring the compare and isValidKey arguments.
BUG= http://dartbug.com/23387
R=wibling@google.com

Review URL: https://codereview.chromium.org//1127043002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45550 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 08:18:56 +00:00
srdjan@google.com 3f4e5da63d Reduce code size: in unoptimized code do not inline array allocation if length is known.
R=vegorov@google.com

Review URL: https://codereview.chromium.org//1130513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45549 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 05:48:54 +00:00
hausner@google.com ddd1db9bd2 Fix FieldAccess test
Removing an overly strict assertion I added today.

TBR=asiva

Review URL: https://codereview.chromium.org//1126093002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45548 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 05:03:52 +00:00
koda@google.com b5ea484105 Share code for building recognized native getters.
Internalizing the maps will add a few more of these, so let's avoid duplication.

R=fschneider@google.com

Review URL: https://codereview.chromium.org//1124963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45547 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 02:49:56 +00:00
floitsch@google.com 10d128dc5e dart2js: add builtin 'isSubtype'.
R=sra@google.com

Review URL: https://codereview.chromium.org//1121313007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45546 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 00:52:04 +00:00
nweiz@google.com 95e45dbb89 Fix version solver tests.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1128683002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45545 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 23:54:40 +00:00
hausner@google.com ad130e2b0f Minor cleanup for getter/setter lookup
Prevent a few getter/setter name mangling calls and random cleanup I came across while doing some experiments.

R=asiva@google.com

Review URL: https://codereview.chromium.org//1120223003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45544 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 23:42:53 +00:00
nweiz@google.com 7f8e604192 Don't let the version solver starve the event queue.
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//1127863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45543 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 22:54:36 +00:00
johnmccutchan@google.com 76d972c9f4 Add debugger to BUILD.gn
BUG=

Review URL: https://codereview.chromium.org//1119903003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45542 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 21:51:16 +00:00
paulberry@google.com dc04ae1271 Remove const instance creation expressions from the dependency graph.
Instead of treating them as separate nodes in the dependency graph,
evaluate them directly in the ConstantVisitor at the time they are
needed.  This makes the dependency graph more uniform, since
everything in it is now associated with an element.  This should make
it easier to adapt constant evaluation to the new task model.

In order to avoid introducing regressions with this change, I had to
implement proper reporting of cycles in compile-time constants.
(Previously, this was unimplemented but worked correctly in most cases
by luck.)

Note: technically this constitutes a breaking API change, since it
removes the field constantHandle and the getter evaluationResult from
the InstanceCreationExpression class.  I believe these members are not
used outside of analyzer, so I'm leaving the analyzer version number
as is.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1124733008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45541 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 21:46:25 +00:00
johnmccutchan@google.com bd54a500d3 Add debugger library to create_sdk.py script
BUG=
R=danrubel@google.com

Review URL: https://codereview.chromium.org//1127883002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45540 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 21:41:35 +00:00
danrubel@google.com 4d0cce227d Sort the containing method first in completions following super
BUG=dartbug.com/22850
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1121773003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45539 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 21:11:11 +00:00
scheglov@google.com 76c543689d Don't recurse into (external) compilation units.
I forgot to turn on assertions for local tests, so it broke on the bots instead...

TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1117143004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45538 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 20:54:54 +00:00
floitsch@google.com ceabb95bd6 dart2js: add classNameFromIsCheckProperty to compiler builtins.
R=sra@google.com

Review URL: https://codereview.chromium.org//1106613006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45537 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 19:32:19 +00:00
scheglov@google.com b1ae4d74c2 Use IncrementalCompilationUnitElementBuilder in BuildCompilationUnitElementTask.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1113223006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45536 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 19:31:41 +00:00
danrubel@google.com b05fb8ba98 suggest only superclass elements for "super."
BUG=dartbug.com/23208
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1127643003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45535 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 19:09:51 +00:00
scheglov@google.com c236100c96 Incrementally build unit member elements.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1119683004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45534 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 18:36:56 +00:00
paulberry@google.com 3d770ab87a Create a class for evaluating const instance creation expressions.
Previously the methods for evaluating const instance creation
expressions were all in the ConstantValueComputer class.  Moving them
to their own class allows for the possibility of evaluating them in
the ConstantVisitor, which in a future CL should allow us to avoid
making these expressions part of the const dependency graph.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1129563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45533 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:47:35 +00:00
johnmccutchan@google.com a25e355731 Add hasStoppedAtBreakpoint
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1128583002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45532 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:30:19 +00:00
brianwilkerson@google.com 0305ce28e1 Compute explicit imports
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1124923002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45531 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:09:42 +00:00
fschneider@google.com 399e2a160a VM: Don't emit usage counter code when optimizations are disabled.
Review URL: https://codereview.chromium.org//1127453003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45530 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:06:18 +00:00
johnmccutchan@google.com a19cd071e5 Add 'dart:debugger' library
- Add the 'dart:debugger' library.
- Add the 'Debugger' class.
- Add explicit Dart breakpoint triggered by a call to: Debugger.breakHere();
- Add Debugger.breakHereIf(bool expr)

R=hausner@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//1116263004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45529 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:05:37 +00:00
scheglov@google.com e5f7e02484 Initial steps for the incremental elements builder.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1124553005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45528 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 14:54:13 +00:00
paulberry@google.com fe50987b74 Move validation logic for constant evaluation into its own class.
This will help facilitate some refactoring of constant evaluation that
needs to be done in order to prepare it for the new task model.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1121313004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45527 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 14:22:53 +00:00
srdjan@google.com ce1e6777b1 Move megamorphic lookup code to stub instead of inlining. Preformance loss < 5%, instruction size reduced by 30% (when using always-megamorphic).
R=fschneider@google.com

Review URL: https://codereview.chromium.org//1125623003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45525 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 14:07:48 +00:00
paulberry@google.com f2b84f9988 Fix constant evaluation logic for String.length.
Previously, we used static resolution to determine whether
String.length was being referred to, causing incorrect results in the
presence of bad type annotations.  Also, we were missing a null check,
causing constant evaluation to crash if an attempt was made to take
the length of a constant that couldn't be evaluated.

BUG=dartbug.com/23383
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1124433007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45524 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 13:07:21 +00:00