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