Commit graph

7840 commits

Author SHA1 Message Date
hausner@google.com 21ca62f8bc Properly resolve top-level setters
Fixes issue 4386.

When converting a getter to a setter (converting a right-hand
side expression to a left-hand side, assignable entity),
we need to know where to look for the setter function.
Top-level setters need to be resolved in the library or prefix
scope in which the getter was found.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45316 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:36:34 +00:00
rmacnak@google.com 11d54fd84f Reapply "Add tests for evalutating against activation records."
Also kill the testee if the tester has an exceptions running its tests.

BUG=http://dartbug.com/20047
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45305 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:13:59 +00:00
johnmccutchan@google.com 52022c23fd Do not register service isolate descendants for debugging
BUG=
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45304 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:10:54 +00:00
asiva@google.com ec55c135c5 Fix check for return of error before calling SyncDirectoryListing.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45292 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 17:23:10 +00:00
zra@google.com a1c3f3356a Marks crashing test as crash on MIPS.
Review URL: https://codereview.chromium.org//1062743004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45283 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 14:42:18 +00:00
vegorov@google.com 7db7425826 Reland r45243.
Type and constant propagator should guard against mutable class ids.

Constant strings can be externalized so we can't fold away class checks against
them.

Prevent CP from removing redefinitions of constants with mutable cids.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45275 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 10:42:54 +00:00
koda@google.com db7d4bb417 Skip vm/cc/ArrayLengthMaxElements on simulators while debugging issue 23254.
BUG=23254
TBR=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45267 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 02:36:49 +00:00
rmacnak@google.com f415625d5c Revert "Add tests for evalutating against activation records."
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45264 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 00:56:26 +00:00
rmacnak@google.com 677c32a426 Add tests for evalutating against activation records.
Report an exception when the testee hits an assertion failure.

BUG=http://dartbug.com/20047
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45263 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 00:06:21 +00:00
koda@google.com 6ff7a0afad Extend list length unit test.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45262 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 23:56:55 +00:00
turnidge@google.com ec2519c464 Apparently every flag is modified in some test configurations on the buildbot.
This broke my assumption that I could find at least one unmodified flag.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45261 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 23:28:00 +00:00
turnidge@google.com a91774ba56 Fix buildbot.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45260 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 22:32:09 +00:00
turnidge@google.com ad2bb796bc My new tests made some bad assumptions about flag values.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45259 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 22:04:32 +00:00
srdjan@google.com 425c6de684 Emit OSR check stub only if needed.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45258 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:25:53 +00:00
turnidge@google.com ca5de9eac9 Kill service_test.cc tests in favor of dart tests for the service protocol.
Associated cleanups and fixes that I noticed as I rewrote the tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45257 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:08:02 +00:00
johnmccutchan@google.com 900f88389c Set version back to 111
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45255 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:35:43 +00:00
johnmccutchan@google.com 75ac0ef5e8 Analytics version for 1.10
TBR=iposva

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45254 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:31:50 +00:00
regis@google.com c983ebf506 Fix bigint division (issue 23238).
Add regression test.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45253 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:30:29 +00:00
hausner@google.com a75b05bc31 Don’t search scope of top-level class twice
When resolving an identifier in top-level code, we don’t need
to search the class scope. That scope is searched again when
resolving the identifier in the library scope.

Sadly, the change makes no measurable difference. It’s just a drop
in the bucket.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45249 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 18:08:12 +00:00
vegorov@google.com ea74236e5c Revert "Type and constant propagator should guard against mutable class ids."
This reverts commit r45243.

Reason: VM segfauls when running dart2js in Release mode.

TBR=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45245 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 17:39:52 +00:00
vegorov@google.com 1cf4621d46 Type and constant propagator should guard against mutable class ids.
Constant strings can be externalized so we can't fold away class checks against them.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45243 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 16:58:25 +00:00
zra@google.com c90248c51d Adds comments about ARM versions.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45242 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 16:42:32 +00:00
fschneider@google.com 1fa1c69019 Remove redundant variable descriptors from optimized code.
The unoptimized code already contains a copy of these, so
we don't need to store them in two places.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45228 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 09:11:38 +00:00
rmacnak@google.com 9f56280609 Add asserts that isolates have a root library set up before they become runnable.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45224 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:44:47 +00:00
koda@google.com ce40dfd81e Fix List length size check; add test.
Ensures that we throw an exception rather than exit the VM (FATAL).

BUG=dart:23227
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45223 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:34:44 +00:00
iposva@google.com 2028a4ee7e - Avoid inconsistency of for example IterateObjects vs VisitObjects.
The majority of the sites uses VisitXYZ.
- Removed IterateNew* and IterateOld* as they are not needed any longer.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45221 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 23:16:25 +00:00
srdjan@google.com fc8076b6e3 Reduce instruction size on X64.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45220 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 21:10:23 +00:00
regis@google.com 9a2468736a Add support for debug break in Dart source.
The new flag --enable-debug-break turns the otherwise illegal Dart statement
  break "message";
into a break instruction preceded with a debug message, the equivalent of
emitting an Assembler::Stop("message").
Add a language test expecting a syntax error without the flag.
Change expected break instruction in arm64 simulator.
Remove constants related to now deleted simulator tracing on mips and arm64.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45218 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:32:48 +00:00
rmacnak@google.com 899490d306 Add annotation for function declarations. Mark functions with performance problems in red.
Reduce the saturation of the coverage markers.

Creating service-refs is horribly expensive: build the details for call sites and function declarations lazily.

Report is_inlinable instead of CanBeInlined because the latter depends whether the function currently has code or breakpoints.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45217 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:06:35 +00:00
sra@google.com 39dfecbfb5 Revert "Change ListIterator to only check for concurrent modification at each iteration"
Revert "Fix ListIterator.iterator function hash for VM."

This is not as easy to optimize for dart2js as initially thought.
Revert this change while we discuss.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45216 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 18:53:39 +00:00
johnmccutchan@google.com 138828554a Add page view analytics to Observatory
BUG=
R=sethladd@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45215 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 16:36:27 +00:00
lrn@google.com ef51a58b22 Fix ListIterator.iterator function hash for VM.
Review URL: https://codereview.chromium.org//1094533002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45199 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 09:17:56 +00:00
sra@google.com 6467b4302d dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45184
Reverted: https://code.google.com/p/dart/source/detail?r=45186

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45188 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:29 +00:00
sra@google.com 18dd1aa826 Revert "dart2js implementation of StringBuffer.writeAll that optimizes better."
StringBuffer.writeAll is expected by pub tests to not be patched or inlined.  I'll fix that and redo.

TBR=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45186 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:55:05 +00:00
koda@google.com 95bdd07cfb Never mark free list elements.
Avoid confusion between heap premarking and verification by introducing the
invariant that FreeListElement is never marked.

Also fix incorrect statement about instruction objects being allocated premarked.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45185 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:18:07 +00:00
sra@google.com 54718dc6e2 dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45184 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:02:05 +00:00
regis@google.com 639df72133 Implement bigint shift intrinsics on IA32.
Make shifter register ECX explicit in shld and shrd instructions on IA32.
Fix bad encoding of shld and shrd on X64 and update assembler tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45182 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:46:24 +00:00
zra@google.com 86bfd7cb30 Adds a simarmv5te build and test target.
Also:
- Removes command line flags to choose simulated arm version.
  I think we should use build targets instead, like in this change,
  to make building and testing more obvious.
- Skips pkg tests on all simulators.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45181 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:44:43 +00:00
koda@google.com 8990cbfcd2 Before write-protecting a PageSpace, return bump allocation block to freelist.
This fixes a potential issue where attempts to iterate over a write-protected
heap might try to ensure it's walkable by writing a header into the bump block.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45173 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 16:59:02 +00:00
johnmccutchan@google.com 6f40403682 Remove embedder-package scheme
- Soon mojo embedder private packages will be imported with a 'dart:_' prefixes.
- Add an explicit test of transitive private library access. This ensures that imports of 'dart:embedder_private_packages' cannot access anything imported within it.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45169 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 15:49:50 +00:00
karlklose@google.com d839c64766 Establish test expectations for dart2js running with the CPS based backend.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45162 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 11:44:02 +00:00
rmacnak@google.com 26548a2f3d Remove some duplication in code that extracts the source for a function.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45145 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 19:41:38 +00:00
rmacnak@google.com 5797153584 Add Dart_NewIntegerFromUint64. Fix Dart_IntegerToUint64 for negative Smis.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45143 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 17:52:06 +00:00
johnmccutchan@google.com 484a2d2cfa Disable debugging_test on Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45141 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 15:56:10 +00:00
vegorov@google.com d93103a35b Fix String._substringUnchecked intrinsic on x64.
It should check sminess of both start and end, not of end only.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45139 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 13:27:35 +00:00
fschneider@google.com 210c1073ce VM: Fix bug in stack map builder.
It did not crash because unoptimized code never has both
untagged cpu registers and FPU registers on the stack, but
resulted in unnecessary alloction of empty stackmaps in
unoptimized code.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45137 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 12:37:51 +00:00
hausner@google.com c9400962f7 Cleanup obsolete setter code
Early on in Dart, it was ok to have a static getter and dynamic setter
with the same name. This is no longer the case. Remove code that handles
the obsolete case.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45122 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 21:23:10 +00:00
koda@google.com c042387868 Move CHA field back to Isolate, pending a permanent fix.
Since the Thread structure is currently cleared on Enter/ExitIsolate,
there is a risk that CHA is cleared if an embedder callback executes during
compilation and switches/spawns isolates. This CL eliminates that risk.

However, Isolate is still not a good long-term place for CHA,
since it doesn't fit with a concurrent compilation model. Issue 23153 tracks
the work towards a permanent solution that couples its life cycle with
compilation.

R=fschneider@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45121 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 20:59:51 +00:00
fschneider@google.com 4aa1febbe6 Eliminate object table and use regular object pool for deoptimization infos.
On platforms that already use an object pool, we had a separate object table
used only for deoptimization infos. With this CL we don't have separate
tables, but only use the common object pool for both purposes.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45108 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 15:43:58 +00:00
lrn@google.com e96a973492 Reduce timer stack overhead by getting immediate callback and run it, instead of calling through function.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45097 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 12:35:40 +00:00