sra@google.com
6ab9b2ceb2
Optimize DateTime properties
...
Several small pieces fit together to improve calendar arithmetic code in a customer's app.
1. Mark DateTime primitives that return small integers as returning uint31.
2. uint31 + uint31 -> uint32 in type inference.
3. uint32 / N can be generated as (uint32 / N) | 0 when N >= 2.
R=floitsch@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45621
Review URL: https://codereview.chromium.org//1106443003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45625 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 00:52:29 +00:00
sra@google.com
532a7948d8
Optimize DateTime properties
...
Several small pieces fit together to improve calendar arithmetic code in a customer's app.
1. Mark DateTime primitives that return small integers as returning uint31.
2. uint31 + uint31 -> uint32 in type inference.
3. uint32 / N can be generated as (uint32 / N) | 0 when N >= 2.
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1106443003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45621 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 21:39:17 +00:00
sigmund@google.com
d0002db5ed
Avoid reparsing metadata expressions
...
BUG= http://dartbug.com/23404
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1126423002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45600 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 17:07:04 +00:00
johnniwinther@google.com
f238761664
Improve resolution/codegen separation invariant.
...
BUG=
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1126163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45593 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 13:30:05 +00:00
johnniwinther@google.com
065b2163e3
Differentiate between unresolved class and constructor.
...
BUG=
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1130773002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45591 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 13:02:49 +00:00
ricow@google.com
e92f697236
Remove dart2dart support from testing scripts and status files
...
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)
R=kustermann@google.com , floitsch@google.com , kmillikin@google.com
BUG=
Review URL: https://codereview.chromium.org//1126363003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +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
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
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
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
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
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
sigurdm@google.com
f218f0797f
Remove non-existing tests from co19-dart2js.status.
...
These lines are not referring to existing tests
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1116133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45523 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 11:02:36 +00:00
paulberry@google.com
964bb448cc
Fix status file after r45489.
...
TBR=scheglov@google.com
Review URL: https://codereview.chromium.org//1121283002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45498 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 18:07:06 +00:00
paulberry@google.com
7138d01444
In constant evaluation, handle final vars initialized at declaration site.
...
Previously final variables initialized at the declaration site
would simply be ignored, causing some checked-mode compile time
errors to be missed, and causing the analyzer to produce
incorrect values for any such constants.
BUG=dartbug.com/23292
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//1099953004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45494 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 16:21:54 +00:00
johnniwinther@google.com
af1b401714
Handle default values on constant redirecting factories.
...
BUG=
R=sigurdm@google.com
Review URL: https://codereview.chromium.org//1118423003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45490 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 13:39:14 +00:00
paulberry@google.com
34d8b562be
Make sure to visit function annotations in ElementBuilder.
...
Since r44861, ElementBuilder is responsible for creating the
ConstantInstanceCreationHandle objects associated with
InstanceCreationExpressions. Since InstanceCreationExpressions may
appear inside annotations, we must make sure the ElementBuilder visits
all annotations. Previous to this change, it didn't visit function
annotations.
BUG=dartbug.com/23354
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1125613003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45489 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 13:25:08 +00:00
asgerf@google.com
5a2bb3b761
cps-ir: Remove redundant identical() calls in type propagation.
...
Also, use the inferred type from dynamic method calls.
Changed the file from a "part of" to a re-exported file
so the imports are not polluting the other optimization passes.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1086323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45488 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 12:14:17 +00:00
asgerf@google.com
5522990c4f
tree-ir: Move labeled statements outside loops.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1094433003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45486 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 11:26:23 +00:00
karlklose@google.com
6abb79a95b
cps-ir: Implement type tests for interface types without type arguments.
...
R=sigurdm@google.com , kmillikin@google.com
Review URL: https://codereview.chromium.org//1110813005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45484 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 07:58:38 +00:00
sigurdm@google.com
1e723f68d1
Allow use of deferred type-literals in non-constant contexts.
...
BUG= dartbug.com/22893
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1109393012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45459 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-30 11:38:54 +00:00
karlklose@google.com
dd7d140bc3
Adjust test expectations for dart2js-cps-ir.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1116863002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45457 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-30 09:48:09 +00:00
johnniwinther@google.com
d9b0cc7da2
Refactor SsaBuilder.visitStaticSend and visitGetterSend.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1112563002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45449 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-29 11:44:05 +00:00
karlklose@google.com
f59e077911
Update dart2js-cps_ir test expectations for new tests committed in r45444.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1117543004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45448 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-29 07:27:39 +00:00
rmacnak@google.com
fd8e2db578
Fix status for Dartium (can't distinguish compile-time errors).
...
Review URL: https://codereview.chromium.org//1112783002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45446 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-29 03:52:25 +00:00
rmacnak@google.com
a6e42c48b5
Deal with deferred loading in the VM mirrors.
...
- Invalidate MirrorSystem.libraries when a load completes.
- Recheck if a deferred import's target has been loaded before failing.
- Allow loading libraries from a LibraryDepedencyMirror.
- Propogate compile-time error when attempting to reflect a deferred type.
BUG=http://dartbug.com/22592
R=asiva@google.com , gbracha@google.com
Review URL: https://codereview.chromium.org//1095903002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45444 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 23:47:45 +00:00
johnniwinther@google.com
e464269f96
Refactor SsaBuilder.visitSuperSend.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1108783003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45439 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 08:23:58 +00:00
kmillikin@google.com
f44f9c78ac
Support rethrow in the dart2js JS backend.
...
The approach is simple: translate rethrow to a throw of the enclosing
catch block's JS exception. There is already an assert that the JS
backend does not see rethrow at code generation time.
R=karlklose@google.com , floitsch@google.com
BUG=
Review URL: https://codereview.chromium.org//1094453006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45397 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 11:23:09 +00:00
asiva@google.com
49d1dc7252
Address issue 13719, cleanup the status file to reflect reality.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//1085363005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45383 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 20:42:28 +00:00
karlklose@google.com
adcdabdfd9
Update test expectations for native tests on dart2js-cps_ir.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1093893003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45373 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 10:32:36 +00:00
karlklose@google.com
e8fa15c30a
Update dart2js-cps_ir test expectations.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1091143003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45371 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 08:40:49 +00:00
regis@google.com
f40270798e
Add reference to existing issue in status file.
...
This test has to be skipped on dartium because the VMOptions line is ignored.
Review URL: https://codereview.chromium.org//1098343003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45366 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:58:52 +00:00
alanknight@google.com
25c6f198f5
"Reverting 45351"
...
BUG=
Review URL: https://codereview.chromium.org//1097053006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45353 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 17:51:58 +00:00
alanknight@google.com
7431beaec2
appendHtml and insertAdjacentHtml should be consistently sanitized
...
BUG=
R=terry@google.com
Review URL: https://codereview.chromium.org//1081973003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45351 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 17:16:01 +00:00
johnniwinther@google.com
19c838f3eb
Fix dart2dart new backend status.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1083093005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45346 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 13:20:48 +00:00
johnniwinther@google.com
3fbdff8783
Add structural equality to ConstantExpression.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1050133006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45344 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 13:03:57 +00:00
kmillikin@google.com
ed699ec05d
Mark a dart2js test that fails in --use-cps-ir mode.
...
R=karlklose@google.com
BUG=
Review URL: https://codereview.chromium.org//1085913004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45337 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 11:08:39 +00:00
kmillikin@google.com
4f7c1d3d54
Clean up handling of constants in the CPS backend.
...
Before: constant-valued expressions were usually compiled by the JS constant
compiler task, which surprisingly produces a Dart (not JS) constant.
After: use the already computed constant value of a constant-valued
expression. This is looked up in one of two ways depending on whether the
expression is an identifier or not. For primitive constants (Booleans,
doubles, integers, strings, and null) simply construct them as they have not
had a value computed.
Also, fix a variety of small bugs. In some case the fix is disabling an
incorrect code path and bailing out of the compiler.
BUG=
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1057483004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45335 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:59:03 +00:00
lrn@google.com
f139d0e93b
Add List.unmodifiable constructor.
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1056353004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45334 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:48:22 +00:00
floitsch@google.com
6594a922d5
Mark dart2js/exit_code_test as slow.
...
R=ricow@google.com
Review URL: https://codereview.chromium.org//1090273007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45330 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:09:29 +00:00
karlklose@google.com
9e154bc62a
Allow access to type variables as expressions in factory constructors.
...
BUG= http://dartbug.com/22700
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1100073002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45328 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 09:11:14 +00:00
sigmund@google.com
3b57a3d8b7
Fix test in try affected by refactor
...
TBR=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1079523004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45317 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:40:46 +00:00
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
sigmund@google.com
667173800b
Visit arguments of invalid TypeLiteralSends during inference
...
BUG= http://dartbug.com/23264
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1081873005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45315 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 15:36:22 +00:00
sgjesse@google.com
170be8d7d1
Process outstanding events before making a new HTTP client request
...
This re-applies r45127, which was reverted in r45129. The revert was due
to a failing test which is re-written here to perform the separate steps
in a deterministic order.
Original change description:
This fixes the issue of using a HTTP client connection from the
connection pool which was closed and where the close indication has
already been received by the event handler.
This specifically fixes the 'pub get' issue where a long running
constraint resolver would end with the error "Connection closed before
full header was received"
Retrying GET methods when the connection is closed after succesfuly
sending (parts of) the request is still missing.
R=lrn@google.com
BUG=http://dartbug.com/21798
Review URL: https://codereview.chromium.org//1055943004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45313 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 12:14:55 +00:00
johnniwinther@google.com
af8a0dcdca
Add SourceInformationFactory.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1100723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45312 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 12:07:51 +00:00
sra@google.com
f1ab388015
Rewrite for-in loop on JavaScript indexable arrays as indexing loop
...
for (E variable in a) <body>
is generated as:
_end = a.length;
for (_i = 0; _i < a.length; a.length == _end || (0, H.throwConcurrentModificatiionError)(a), ++_i) {
variable = a[_i];
<body>;
}
or, when the list is known to be fixed length:
for (_i = 0; _i < a.length; ++_i) {
variable = a[_i];
<body>;
}
R=floitsch@google.com
Committed: https://code.google.com/p/dart/source/detail?r=45270
Reverted: https://code.google.com/p/dart/source/detail?r=45271
Review URL: https://codereview.chromium.org//1087973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45309 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 03:13:36 +00:00