Johnni Winther
9cfba28da1
Compute NewStructure in resolution.
...
Closes #21134
R=sigurdm@google.com
Review URL: https://codereview.chromium.org/1437463005 .
2015-11-11 11:46:08 +01:00
Asger Feldthaus
a32a12f900
dart2js: Change how super tear-offs are registered.
...
Previously, torn off super methods would be registered by emulating a
dynamic getter call using an exact TypeMask for the super class as the
receiver.
If the super class was abstract (or just not instantiated), using an
exact TypeMask is absurd since there are no objects with that exact
class.
Now, methods that have been registered as "needing super getter" are
always considered to have their getter invoked, removing the need to
emulate the dynamic getter call.
BUG=
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org/1418573011 .
2015-11-06 11:49:05 +01:00
Asger Feldthaus
40632b2155
dart2js cps: Add failing test to status file.
...
BUG=
Review URL: https://codereview.chromium.org/1413343005 .
2015-11-06 11:32:43 +01:00
Lasse R.H. Nielsen
3c41869d3c
Make dart2js accept constant null values in string interpolations.
...
Fixes issue #24839 .
BUG= http://dartbug.com/24839
R=sigurdm@google.com
Review URL: https://codereview.chromium.org/1425823004 .
2015-11-06 10:58:06 +01:00
Florian Schneider
598018bd21
VM: Fix bug with ??= expressions using await.
...
Moving the construction of ?? into the parser using LetNode, so that the await-transformations are properly applied.
a ?? b becomes { temp = a; temp !== null ? temp : b; }
a ??= b becomes { temp = a; temp != null ? temp : a = b; }
BUG=issue #24392
R=hausner@google.com
Review URL: https://codereview.chromium.org/1417733007 .
2015-11-03 21:47:06 +01:00
Asger Feldthaus
f4429324eb
dart2js cps: Fix codegen for yield.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/1415843006 .
2015-11-03 14:21:52 +01:00
Stephen Adams
ef0c55f8a9
Upgrade some tests to use annotations instead of 'clever' confuse() function.
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1411243003 .
2015-11-02 14:11:36 -08:00
Florian Schneider
e75056ccb4
VM: Fix bug with CHA-based inlining in --noopt mode.
...
Use propagated cids (not abstract types) only to specialize instance calls.
BUG=dartbug.com/24789
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1419013006 .
2015-11-02 19:48:26 +01:00
Florian Schneider
dde638f7db
Mark tests failing with --noopt in the status files.
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1415823004 .
2015-10-31 01:45:50 +01:00
Florian Schneider
64261cbb9d
VM: Improve and fix double negation on MIPS.
...
Add neg-instruction to the MIPS backend and use it instead of mul with -1.
Fixes the test that requires that identical(nan, -nan) == false.
TEST=language/nan_identical_test
R=zra@google.com
Review URL: https://codereview.chromium.org/1425143003 .
2015-10-29 22:34:46 +01:00
Asger Feldthaus
0c25cd27ac
dart2js cps: Remove unneeded bailout on captured loop variables.
...
The analysis of try-boxed variables reused some code from the old
dart2dart CPS backend, which had bailouts for code that is handled just
fine in the dart2js CPS backend.
R=karlklose@google.com , kmillikin@google.com
Committed: https://github.com/dart-lang/sdk/commit/695bdf4fa365fc84ef4dda9e0fde84b58772ca9b
Review URL: https://codereview.chromium.org/1410123005 .
2015-10-27 13:01:10 +01:00
Asger Feldthaus
11c7b77f63
Revert "dart2js cps: Remove unneeded bailout on captured loop variables."
...
This reverts commit 695bdf4fa3 .
BUG=
Review URL: https://codereview.chromium.org/1417773008 .
2015-10-27 12:58:48 +01:00
Asger Feldthaus
11826bf9b7
dart2js cps: Do not inline static async methods.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org/1414333008 .
2015-10-27 12:44:21 +01:00
Asger Feldthaus
695bdf4fa3
dart2js cps: Remove unneeded bailout on captured loop variables.
...
The analysis of try-boxed variables reused some code from the old
dart2dart CPS backend, which had bailouts for code that is handled just
fine in the dart2js CPS backend.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/1410123005 .
2015-10-27 11:51:28 +01:00
Asger Feldthaus
3634c3998a
dart2js: Bugfix for when 'await' occurs in an initializer list.
...
If the JS ast contains an initializer list:
var x = foo(), y = await x;
It would be retained as a single statement and generate invalid output
that awaits 'x' before it has been defined.
CLOSES=23997
BUG=
R=sigurdm@google.com
Review URL: https://codereview.chromium.org/1427593003 .
2015-10-27 11:36:57 +01:00
Asger Feldthaus
7c09a56c76
dart2js: Fix marking of boxed loop variables.
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1409933004 .
2015-10-23 17:40:34 +02:00
Asger Feldthaus
62f4488e6d
dart2js: Update status file.
...
BUG=
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org/1420213002 .
2015-10-23 14:08:00 +02:00
Ryan Macnak
7c44ffb0cd
Fix some loads of fields with large offsets.
...
BUG=http://dartbug.com/24673
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1416233003 .
2015-10-22 09:48:29 -07:00
Ryan Macnak
d7ed079d31
Noopt crash in deopt_inlined_function_lazy_test is expected because the test specifies --deoptimize-alot.
...
BUG=http://dartbug.com/24677
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1415353002 .
2015-10-22 09:47:30 -07:00
Ryan Macnak
371a5dc932
Get tools/test.py --noopt green.
...
More specifically ./tools/test.py --noopt -mall -ax64,simarm,simarm64,simmips --exclude-suite=pkg
- Add missing dart:io entry point.
- Add checks that Dart_FinalizeLoading, Dart_Precompile, Dart_CreatePrecompiledSnapshot are called in order.
- Add checks for --precompilation flag.
- Add checks for dropped class in Dart_New/Allocate/AllocateWithNativeFields.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1407393005 .
2015-10-21 10:35:01 -07:00
Brian Wilkerson
cc8f64b824
Do not generate warnings when noSuchMethod is inherited (issue 24337)
...
R=paulberry@google.com
Review URL: https://codereview.chromium.org/1414003003 .
2015-10-20 10:35:53 -07:00
Stephen Adams
f80d85dee0
Generalize and_operation_on_non_int_operand_test.
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1411633002 .
2015-10-16 10:29:14 -07:00
Asger Feldthaus
ee0f98ab33
dart2js cps: Ensure parameter default values are emitted.
...
BUG=
R=sra@google.com
Review URL: https://codereview.chromium.org/1411763002 .
2015-10-16 17:00:32 +02:00
Matthias Hausner
647ada25ed
Make enum values array canonical
...
BUG=24594
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1407103002 .
2015-10-15 15:56:25 -07:00
Ryan Macnak
b56991878f
Fix Enum.toString when enum type is private.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org/1398843008 .
2015-10-15 11:28:13 -07:00
Asger Feldthaus
a50105543f
dart2js cps: Add a pass for eliminating bounds checks.
...
The analysis uses a watered-down octagon domain which reduces range
analysis to a graph problem.
There are more ideas to try out to improve on this, but I think this is
a nice baseline to work from.
BUG=
R=sra@google.com
Review URL: https://codereview.chromium.org//1353443002 .
2015-10-13 16:40:54 +02:00
Johnni Winther
c1214e8f99
Avoid creating invalid TypeMask.nonNullExact
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org/1402913003 .
2015-10-13 15:12:40 +02:00
Florian Schneider
ed42136acd
Mark newly added sqrt test as pass/fail on ia32.
...
Some math libraries that use 80-bit precision operations may
give a wrong result for sqrt.
TBR=whesse@google.com
BUG=dartbug.com/24517
Review URL: https://codereview.chromium.org/1396743003 .
2015-10-08 20:06:50 +02:00
Florian Schneider
9f54259d57
VM: Fix FP math discrepancies by adding -mfpmath=sse to 32-bit simulator and cross host builds.
...
BUG=dartbug.com/24517
R=zra@google.com
Review URL: https://codereview.chromium.org/1395543003 .
2015-10-08 17:16:46 +02:00
Johnni Winther
11b0377ffa
Update cps status.
...
BUG=
Review URL: https://codereview.chromium.org/1398443003 .
2015-10-08 12:21:37 +02:00
Florian Schneider
8adefa8e79
VM: Support phis with pair representations.
...
This enables unboxed int64 values in phis on 32-bit platforms (ia32, ARM, MIPS).
On ia32 I measured SHA256 +14%, SHA1 +6%, MD5 +2%.
BUG=
R=johnmccutchan@google.com , regis@google.com
Review URL: https://codereview.chromium.org//1377113004 .
2015-10-08 11:43:55 +02:00
Paul Berry
e34b7ddf00
Pull in analyzer_cli support for enabling the new task model.
...
Note that we are not pulling in the latest version of analyzer_cli,
since there is additional work to do in analyzer_cli before the pull
request can be merged into master (in particular, lint support needs to
be fixed--see https://github.com/dart-lang/analyzer_cli/pull/67 ).
Instead we pull in the commit from the pull request itself, which
enables the new task model but makes no other changes.
R=pquitslund@google.com
Review URL: https://codereview.chromium.org/1386233002 .
2015-10-06 14:25:22 -07:00
Matthias Hausner
c5ed2f55b7
Fix await transformation of function calls
...
Ensure that side effects in actual parameter lists
are preserved in await’ed function calls,
eg. await foo(a++, a++)
BUG=24488
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1382123003 .
2015-10-05 10:31:05 -07:00
Asger Feldthaus
f1a40e23c1
dart2js cps: Status updates and minor fixes for host checked mode.
...
CPS should now run the test suite cleanly in host-checked mode. Let's keep it that way.
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org/1377323003 .
2015-10-02 15:36:21 +02:00
Regis Crelier
451eaab718
Remove --supermixin flag from VM.
...
Update tests and test status files.
Fixes #24479 .
R=hausner@google.com
Review URL: https://codereview.chromium.org/1383923002 .
2015-10-01 18:04:31 -07:00
Stephen Adams
c6ef91be72
Suppress other test configs that do not handle mixins with super calls
...
TBR=regis@google.com
Review URL: https://codereview.chromium.org//1375233005 .
2015-09-30 10:57:25 -07:00
Alan Knight
25a262435a
Suppress flaky language test
...
BUG=
Review URL: https://codereview.chromium.org//1380793002 .
2015-09-30 10:11:38 -07:00
Stephen Adams
e3e8141069
More mixin super tests.
...
Test for super method calls when method with super call is at multiple positions on subclass chain. It is not yet clear how to implement this efficiently in dart2js.
R=regis@google.com
Review URL: https://codereview.chromium.org//1372213006 .
2015-09-30 10:00:48 -07:00
Johnni Winther
d6ea60bdfc
Normalize constructor lookup.
...
BUG=
R=sigurdm@google.com
Review URL: https://codereview.chromium.org//1360153005 .
2015-09-24 10:07:08 +02:00
Stephen Adams
5f4b76d353
Update status for --cps-ir language/async_return_types_test
...
TBR=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1364063004 .
2015-09-23 18:09:32 -07:00
Sigurd
1c3dd67408
Avoid warning when using return; from sync* and async* functions.
...
Fixes https://github.com/dart-lang/sdk/issues/24406
R=johnniwinther@google.com
Committed: https://github.com/dart-lang/sdk/commit/75f80a204b98ebd65a5da1f2c1db6c6388d67887
Reverted: https://github.com/dart-lang/sdk/commit/8163c4a14199314b6fad626de61d031a35b4d2c1
Review URL: https://codereview.chromium.org//1367433002 .
2015-09-23 13:50:56 +02:00
Sigurd
8163c4a141
Revert "Avoid warning when using return; from sync* and async* functions."
...
This reverts commit 75f80a204b .
BUG=
Review URL: https://codereview.chromium.org//1361813003 .
2015-09-23 12:21:52 +02:00
Florian Loitsch
f36b8aa4e4
dart2js: Make sure that super classes have their inheritance chain set up correctly.
...
This bug was only happening for the --fast-startup.
For most browsers we simply change the '__proto__' and the order wouldn't be important. However, for the other browsers we have to do it in order.
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1347423003 .
2015-09-23 11:48:18 +02:00
Sigurd
75f80a204b
Avoid warning when using return; from sync* and async* functions.
...
Fixes https://github.com/dart-lang/sdk/issues/24406
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1367433002 .
2015-09-23 11:07:31 +02:00
Karl Klose
e28e578731
dart2js cps: Support sync* and yield.
...
R=asgerf@google.com , kmillikin@google.com
Review URL: https://codereview.chromium.org//1353843002 .
2015-09-23 11:01:34 +02:00
Asger Feldthaus
ccb3af54ab
dart2js cps: Set result of 'await' to dynamic instead of empty.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//1349723002 .
2015-09-21 11:37:39 +02:00
Ryan Macnak
f4baf19a4c
Mark dart2js as failing invocation_mirror_empty_arguments_test.
...
BUG=http://dartbug.com/24331
Review URL: https://codereview.chromium.org//1359443006 .
2015-09-18 18:03:17 -07:00
Ryan Macnak
5ee2da4475
Spec says empty namedArguments is const {}, not const <Symbol, dynamic>{}.
...
BUG=http://dartbug.com/24331
R=gbracha@google.com
Review URL: https://codereview.chromium.org//1359503002 .
2015-09-18 17:05:35 -07:00
Terry L. Lucas
c5a690fa26
Revert "Mark tests problems because of Dartium JSInterop"
...
This reverts commit d1a7ee9ad7 .
TBR=alanknight@google.com
Review URL: https://codereview.chromium.org//1355683005 .
2015-09-18 11:00:54 -07:00
Terry L. Lucas
d1a7ee9ad7
Mark tests problems because of Dartium JSInterop
...
TBR=alanknight@google.com
Review URL: https://codereview.chromium.org//1358503002 .
2015-09-18 09:37:37 -07:00