Commit graph

12338 commits

Author SHA1 Message Date
Alan Knight a9362610ee Hide internal methods like wrap_jso from the dart:html public interface
Issue https://github.com/dart-lang/sdk/issues/24602

R=terry@google.com

Review URL: https://codereview.chromium.org/1409743003 .
2015-10-19 11:28: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
William Hesse 6a816f2dc1 Update status for failing tests
BUG=https://github.com/dart-lang/sdk/issues/24608
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1410803002 .
2015-10-16 14:00:48 +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
William Hesse b459efe087 Update status files for Chrome 46
BUG=
TBR=sgjesse@google.com

Review URL: https://codereview.chromium.org/1407923002 .
2015-10-15 22:42:58 +02:00
Stephen Adams 14dcffa124 dart2js cps_ir: Unary operator improvements
~ and - are reduced to BuiltinOperators.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1394003008 .
2015-10-15 12:00:15 -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
Stephen Adams 334549af20 Add more dart2js operator tests
The test was completely constant folded!

Making functions @NoInline() and also obfuscating values to a num/uint31/uint32 value gives better coverage of the internals of the more complex operators.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1388423004 .
2015-10-15 11:11:11 -07:00
Regis Crelier 09954546fb Add a 'secure' constructor to Random in dart:math returning a cryptographically
secure random generator which reads from the entropy source provided by the
embedder for every generated random value.
Add a test.
Fixes #1746.

R=lrn@google.com

Review URL: https://codereview.chromium.org/1398453004 .
2015-10-15 10:16:03 -07:00
Lasse R.H. Nielsen a8e3eb4e10 Fix bug in Uri.removeFragment.
It used the external getters for the existing port and query, which
are non-null even when the port or query are absent. This introduced
a new default-valued/empty part.

Also reordered declarations to have fields > constructors > rest.

Fixes issue #24593
BUG= http://dartbug.com/24593
R=asgerf@google.com

Review URL: https://codereview.chromium.org/1396973004.
2015-10-15 12:42:36 +02:00
Alan Knight 208e3f981a Fix co19 test suppressions
BUG=

Review URL: https://codereview.chromium.org/1393353006 .
2015-10-14 15:49:32 -07:00
Ryan Macnak 5532a354c3 Add a test configuration for noopt so we can add status file entries for it.
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1409543004 .
2015-10-14 12:36:39 -07:00
Terry L. Lucas e562934def More tests now pass and fixed custom elements to only work in default html and svg namespace
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1392063003 .
2015-10-14 11:44:01 -07:00
Terry L. Lucas 4653701a76 Fixed native element extension, custom events, _VMUpgrader, and data binding.
Enabled tests that exercise this areas.

TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1391143006 .
2015-10-14 10:03:56 -07:00
Johnni Winther 5a956826a5 Move WorldImpact to universe/world_impact.dart
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1394793004.
2015-10-14 15:22:40 +02:00
William Hesse d04dbcd688 Update status for failing Dartium tests.
TBR=terry@google.com
BUG=https://github.com/dart-lang/sdk/issues/24585
BUG=https://github.com/dart-lang/sdk/issues/24584

Review URL: https://codereview.chromium.org/1407713002 .
2015-10-14 14:02:23 +02:00
William Hesse 184c7b0182 Add script that generates X509 certificates for testing dart:io SecureSocket
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1399243004 .
2015-10-14 10:50:48 +02:00
Alan Knight def9b86310 StorageQuota should not be exposed. Remove tests
BUG=

Review URL: https://codereview.chromium.org/1393103003 .
2015-10-13 16:45:06 -07:00
Jacob Richman 58547f5508 Fix JavaScript property ordering issue that was breaking js_array_test on FireFox
BUG=

Review URL: https://codereview.chromium.org/1408453003 .
2015-10-13 16:23:23 -07:00
Alan Knight 8ab9253879 Unsuppress/fix most indexeddb tests on Dartium
BUG=

Review URL: https://codereview.chromium.org/1405443003 .
2015-10-13 15:32:02 -07:00
Jacob Richman fe431b9730 Fix analyzer warning in mirrors_js_typed_interop_test.
BUG=

Review URL: https://codereview.chromium.org/1402873004 .
2015-10-13 14:00:37 -07:00
Jacob Richman cd2752431e Support user generated custom native JS classes.
BUG=
R=jmesserly@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1318043005 .
2015-10-13 13:15:28 -07:00
Harry Terkelsen b7bb39a062 dart2js: mark FunctionElements as dependencies always
We were only marking FunctionElements as dependencies if they were
closurized class members. This prevented us from adding functions that
were top level.

BUG=
R=floitsch@google.com, sigurdm@google.com

Review URL: https://codereview.chromium.org/1395183004 .
2015-10-13 10:55:05 -07:00
Alan Knight 8005f2000a Unsuppress Windows tests from Issue 24546
BUG=

Review URL: https://codereview.chromium.org/1391193005 .
2015-10-13 08:59:18 -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
Asger Feldthaus c4b418a2c3 dart2js cps: Updated status file for host-checked mode.
BUG=

Review URL: https://codereview.chromium.org/1402943003 .
2015-10-13 15:31:40 +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
Asger Feldthaus d43d95aaa3 dart2js cps: Maintain parent pointers instead of recomputing them.
All passes must now preserve valid parent pointers. Several passes
already did this (or tried to do it).

The IR integrity checker can now check that parent pointers are valid.
This has caught a number of missing parent pointers assignments in
passes that otherwise tried to preserve them.

All node constructors now set parent pointers. This is very convenient
for simple transformations, but also a bit of a trap since updating a
field on an existing node does not update the parent pointer.

This is a pretty heavy-handed change. The main rationale for it are:

- The helpers methods require parent pointers, so they are more useful
  when parent pointers are always set.

- The integrity checker can catch bogus parent pointers after passes
  that have to maintain them anyway.

- The integrity checker is super slow, but this can finally be fixed
  if it can assume parent pointers are valid (not part of this CL).

The IR visitors have been changed a bit to support a generic parent
visitor that does not have to implement every visit method.

The 'parent index' fields have been removed.

BUG=
R=kmillikin@google.com

Committed: 6cc9b43535

Review URL: https://codereview.chromium.org/1375213003 .
2015-10-13 10:50:41 +02:00
William Hesse 35ba8f396e Update status for failing map_literal_oom_test on content shell.
BUG=https://github.com/dart-lang/sdk/issues/24571
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1406503002 .
2015-10-13 10:41:07 +02:00
Alan Knight e70fe7bb11 Suppress IFrame failing test for try.dartlang.org as well
BUG=

Review URL: https://codereview.chromium.org/1398393003 .
2015-10-12 16:40:54 -07:00
Alan Knight 0835f93bbf Suppress failing iframe test. Issue 24568
BUG=

Review URL: https://codereview.chromium.org/1389353005 .
2015-10-12 15:29:49 -07:00
Alan Knight 44be115184 Unsuppress newly-passing test co19/LayoutTests/fast/dom/custom/document-register-type-extensions_t01
BUG=

Review URL: https://codereview.chromium.org/1394483004 .
2015-10-12 13:42:35 -07:00
Alan Knight f799386f88 Change test name so it's easier to suppress
BUG=

Review URL: https://codereview.chromium.org/1404513002 .
2015-10-12 13:31:44 -07:00
Siva Annamalai 02c702bf92 1. Write the backing data array of a GrowableObjectArray as a reference
2. Cleanup and refactor WriteObjectRef and WriteObjectInlined and pass as_reference as a parameter to the WriteTo function to allow respective types to deal with it.
3. Added a as_reference parameter to the ReadFrom functions (currently the parameter is not used but the next round of changes will cleanup ReadObjectRef and ReadObjectInlined similarly).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1388543008 .
2015-10-12 12:45:59 -07:00
Stephen Adams 5ac49b5f29 dart2js cps_ir: BuiltinOperation improvements
Type propagation:

Added better type_propagation rules for various operators to detect more uint31/uint32/non-negative cases.
Moved the rules to per-operator code so the rules can be shared by invokes (e.g. '<') and the builtin operations they are lowered to (NumLt).
In the case of NumLt, this removes lower bounds checks from injected bounds checks (i.e. NumLt(index, 0)) for constant indexes by simple constant folding.

Bit operations:

The '>>> 0' coercion is often not needed.

If we can tell the result is in the uint31 range then the result
generated by JavaScript's bit operations will not have become
negative.

Added a tree analysis to codegen to tell if the result fits in uint31.
This works quite well and removes about as many coercions as SSA.
It misses some coercions due to lack of type information in tree_ir.

Added missing operators:

NumShr aka '>>>', valid on limited inputs.
NumDiv (Seems like a simple omission, boost some math code)
NumTruncatingDivideToSigned32

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1393763004 .
2015-10-12 12:29:09 -07:00
Harry Terkelsen e067a52e44 dart2js: set effective target for patched constructors
Closes #24461

BUG=
R=johnniwinther@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1382313002 .
2015-10-12 11:19:00 -07:00
Terry L. Lucas 5e8a506677 Extension support
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1401063003 .
2015-10-12 10:09:42 -07:00
Ivan Posva 52bd332576 - Adjust test to renamed optional parameter.
BUG=

Review URL: https://codereview.chromium.org/1388413006 .
2015-10-12 09:42:56 -07:00
Ivan Posva 60eab65aa0 - Implement package map parameter when spawning isolate.
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org/1403693002 .
2015-10-12 09:05:37 -07:00
Asger Feldthaus 77eb3fb60f Revert "dart2js cps: Maintain parent pointers instead of recomputing them."
This reverts commit 6cc9b43535.

BUG=

Review URL: https://codereview.chromium.org/1386343003 .
2015-10-12 16:50:37 +02:00
Asger Feldthaus 6cc9b43535 dart2js cps: Maintain parent pointers instead of recomputing them.
All passes must now preserve valid parent pointers. Several passes
already did this (or tried to do it).

The IR integrity checker can now check that parent pointers are valid.
This has caught a number of missing parent pointers assignments in
passes that otherwise tried to preserve them.

All node constructors now set parent pointers. This is very convenient
for simple transformations, but also a bit of a trap since updating a
field on an existing node does not update the parent pointer.

This is a pretty heavy-handed change. The main rationale for it are:

- The helpers methods require parent pointers, so they are more useful
  when parent pointers are always set.

- The integrity checker can catch bogus parent pointers after passes
  that have to maintain them anyway.

- The integrity checker is super slow, but this can finally be fixed
  if it can assume parent pointers are valid (not part of this CL).

The IR visitors have been changed a bit to support a generic parent
visitor that does not have to implement every visit method.

The 'parent index' fields have been removed.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1375213003 .
2015-10-12 16:26:32 +02:00
Terry L. Lucas 5c04f8a13c Disable bad test and don't allow registerElement of direct class in dart:html or dart:svg
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1397323002 .
2015-10-12 03:17:21 -07:00
Sigurd Meldgaard a763c71d92 Introduce the "Embedded" category.
It is not visible from the dart2js command line.

BUG=
R=brianwilkerson@google.com, johnniwinther@google.com

Committed: 0aef0efb6a
Reverted: https://codereview.chromium.org/1401513002

Review URL: https://codereview.chromium.org/1395863002 .
2015-10-12 12:15:48 +02:00
Johnni Winther ab5225a353 Introduce DartType.unaliased to avoid use of Resolution in the backend.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1397053002.
2015-10-12 11:28:56 +02:00
Johnni Winther 1414d9b27e Use common.dart to re-export commonly used entities.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1394063004.
2015-10-12 09:34:02 +02:00
Terry L. Lucas 6227b207e6 Fixed to allow only HtmlElement in registerElement
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1403683002 .
2015-10-11 20:53:50 -07:00
Terry L. Lucas b6503c7f74 Added for registerElement checking
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1401703002 .
2015-10-11 18:57:59 -07:00
Terry L. Lucas 2353f3ce4d Another one now passes
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1397303002 .
2015-10-11 13:44:50 -07:00
Terry L. Lucas 4f9771f4e1 Fixed JS custom elements and temporarily mark polymer test as failing
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1402693002 .
2015-10-10 16:50:10 -07:00