Commit Graph

882 Commits

Author SHA1 Message Date
koda@google.com ec00a4ace6 Make test compatible with dart2js integer semantics.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43941 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-22 05:57:35 +00:00
koda@google.com 574028165f Ensure hash pattern is non-zero. Re-enable compact hash map/set.
BUG=dart:22520
TBR=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43940 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-22 03:04:35 +00:00
koda@google.com c6e3dd73c2 Default to compact Map/Set implementation.
Also adjust unit tests accoringly to maintain coverage, and remove some redundant ones.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43894 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 21:28:56 +00:00
vegorov@google.com e8b7f9cb06 Don't constant fold operation if result is incompatible with it.
For example we can't replace BinarySmiOp with Mint constant because we might have removed the checks based on the assumption that BinarySmiOp always returns a Smi.

BUG=http://dartbug.com/22480
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43875 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 13:48:48 +00:00
koda@google.com 780ab3a2ec Correct status for opt counter threshold failure.
R=whesse@google.com
TBR=whesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43871 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 13:20:26 +00:00
koda@google.com d438fcac21 Mark test as failing due to optimizer issue 22480.
There doesn't seem to be any way to specify the optimization-counter-threshold builder, so allow both RuntimeError and Pass for now.

TBR=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43855 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 22:50:29 +00:00
koda@google.com 1d7ca12fdc Compact LinkedHashMap/Set implementation.
Add GC-friendly replacement for default Map/Set:
* open-addressing hash table, avoiding the overhead of chained entries
* index separate from the keys/values, allowing more of it to fit in the cache
* new keys are always appended, to allow insertion-order iteration
* spare bits in index entries are used to store hashes
* index is typed data, so can be ignored by GC

Enable it with --use_compact_hash (disabled by default).

Reduces Dart2JS compilation time for huge codebase (N=200) by ~30%, due to reduced time in GC. Slightly slower for small maps and maps with deletions: json benchmarks regress by ~5%.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43840 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 13:58:32 +00:00
regis@google.com 6a7be914e3 Add modPow tests.
Fix selection of modular reduction algorithm for modPow.
Remove bad assert and fix digits array length in classic modular reduction.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43817 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 19:32:32 +00:00
herhut@google.com 4e3b966bbd Support positional optional parameters even if stubs are missing.
BUG=
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43805 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 09:39:19 +00:00
lrn@google.com 688d50f1c9 Add String.replaceFirstMapped.
Also refactory VM implementation of checking if a string is one-byte,
and adds dart2js implementation of replaceFirst for non-string/regexp pattern.

BUG= http://dartbug.com/2979
R=floitsch@google.com, iposva@google.com

Committed: https://code.google.com/p/dart/source/detail?r=43716

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43718 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:16:57 +00:00
lrn@google.com 7c9248c642 Revert "Add String.replaceFirstMapped."
Changes to interpolation should be separate CL.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43717 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:12:06 +00:00
lrn@google.com 6b9ff4c4d4 Add String.replaceFirstMapped.
Also refactory VM implementation of checking if a string is one-byte,
and adds dart2js implementation of replaceFirst for non-string/regexp pattern.

BUG= http://dartbug.com/2979
R=floitsch@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43716 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:04:09 +00:00
paulberry@google.com 181b3b71c3 Work around warning in new duration2_test.
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43670 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 22:50:31 +00:00
floitsch@google.com b5d8e838dc All nsm error in duration test.
Review URL: https://codereview.chromium.org//911913002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43659 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 17:35:36 +00:00
floitsch@google.com c7d0c7ffed corelib: Don't blow up in memory if a duration receives a string as argument.
BUG= http://dartbug.com/22309
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43658 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-10 16:39:33 +00:00
zerny@google.com 52cf25b213 Regression test for issue 19193.
Issue resolved by r42312.

R=lrn@google.com
BUG=http://dartbug.com/19193

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43276 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 12:14:08 +00:00
lrn@google.com ab51ccc9f0 Create string efficiently from Uint16List/View.
R=asiva@google.com, fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43235 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 12:44:44 +00:00
lrn@google.com 7c43721a45 Make RangeError.toString use the name field that it inherits from ArgumentError.
Refactor the toString code to make it reuse more of the logic and
thereby be more consistent.

BUG= http://dartbug.com/22148
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43231 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 09:39:05 +00:00
sra@google.com 1204d2b859 Recognize and special case String.fromCharCodes for Uint8List in JavaScript.
Speeds up UTF8 decoding, boosting JsonUtf8RoundTrip 4x.
This should also improve binary protobuf parsing of strings.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43055 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 22:50:00 +00:00
fschneider@google.com 1e7310d48f Improve constant pool implementation in the assembler.
Instead of using RawObject* as keys, use Object*. Using handles eliminates any assumption
about the underlying GC implementation (e.g. requiring that old objects don't move).

Remove special handling of null_object by making HashMap more generic and
allowing the trait to specify the value used to indicate an empty element.

The goal is to use one unified, efficient implementation of the constant
pool on all architectures that require one (x64, arm64, mips).

R=vegorov@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42901 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 10:43:36 +00:00
whesse@google.com 5bba992965 Enable co19 dart2js browser tests on content shell (drt).
Update co19 status files for Firefox update to 35, and other flakes.

TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42873 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-14 15:56:28 +00:00
lrn@google.com 6d2427d1b6 Update toRadixString test so that it fails on d8 too.
Review URL: https://codereview.chromium.org//847773004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42771 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 13:53:08 +00:00
lrn@google.com 8ebe51d63c Update status files after enforcing integer arguments to toRadixString etc, and adding more and harder tests for toRadixString.
Review URL: https://codereview.chromium.org//849573002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42769 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 10:48:49 +00:00
lrn@google.com bb4e97f519 Change dart2js int.toRadixString to not return spurious format on IE.
BUG= http://dartbug.com/15316
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42764 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 08:59:58 +00:00
zerny@google.com 34a556e5a9 Mark corelib/regexp/pcre_test as slow on debug builds.
TBR=floitsch@google.com,fschneider@google.com
BUG=http://dartbug.com/22008

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42659 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 13:24:58 +00:00
whesse@google.com 37028ca998 Mark dart2js http_test as slow in checked mode.
BUG=
R=zerny@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42652 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 10:03:55 +00:00
lrn@google.com cfa14bc32f Fix typo in set_test.dart, makes analyzer complain.
Review URL: https://codereview.chromium.org//837703002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42633 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 14:53:22 +00:00
lrn@google.com 182b7b8083 Don't inherit two versions of Comparable. Not supported by dart2js.
Review URL: https://codereview.chromium.org//836123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42625 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 11:21:12 +00:00
lrn@google.com 404d4a7243 Make Super abstract in map_test.dart to avoid warning.
Review URL: https://codereview.chromium.org//820693005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42624 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 11:17:28 +00:00
lrn@google.com 3f1780f70d Change List/Set/Map/Queue.from constructrs to accept any iterable.
This allows using the .from constructor as a cast:

  new Set<int>.from(numSetContainingOnlyInts);

BUG= http://dartbug.com/21731
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42620 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 10:14:56 +00:00
whesse@google.com 5c6b29f057 Update status for slow regexp test on debug MIPS.
BUG=dartbug.com/21995
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42595 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 14:45:17 +00:00
floitsch@google.com 79f0df2cc8 dart2js: put all type-test related properties on the prototype and not on the constructor.
R=karlklose@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42435 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 15:05:15 +00:00
fschneider@google.com 4fada4c9a8 Revert r42426: Re-enable regexp test.
This test still times out with --optimization-counter-threshold=5

TBR=zerny@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42428 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 13:14:28 +00:00
sigurdm@google.com b0e9fbedce Generative constructors in the new dart backend.
With super and field initializers.

Field initializers and the arguments to a super-initializer
are treated as zero-arg nested functions, and if they assign
to a parameter, that parameter is set to be a closure
variable.

Still no 'this' initializer redirections.

initializing formals (such as `C(this.x)` ) are translated
to field initializers. We might want to revisit this choice.

R=asgerf@google.com, kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42427 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 10:34:21 +00:00
fschneider@google.com 433f36c06e Re-enable regexp test.
This test was skipped because of too long-running.

It is now finishing faster (2s release-checked, 10s debug mode)

R=zerny@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42426 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-17 10:01:32 +00:00
zerny@google.com 0a80eaec06 Revert "Revert "Revert "Disable the irregexp backend."""
This enables the irregexp backend by reverting commit
http://code.google.com/p/dart/source/detail?r=42246

R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42312 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 09:02:24 +00:00
zerny@google.com 0bfa80b5a5 Revert "Revert "Disable the irregexp backend.""
This reverts commit http://code.google.com/p/dart/source/detail?r=42240
Reason for revert: failures and timeouts on Dartium bots.

TBR=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42246 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 15:38:10 +00:00
zerny@google.com d1f5aacd77 Revert "Disable the irregexp backend."
This reverts commit http://code.google.com/p/dart/source/detail?r=41999

R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42240 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 09:56:53 +00:00
regis@google.com e20569cf8b Reenable a few previously slow tests on MIPS.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42141 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 19:32:39 +00:00
lrn@google.com a3c7e0a0d9 Fix date_time_test to not assume a particular slowness of running code.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42083 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 07:19:49 +00:00
regis@google.com a17adcd1de Fix overflow check when shifting unboxed mints on 32-bit platforms, except on
MIPS, which does not yet support unboxed mints (work in progress). Issue 21715.
Add regression test.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42003 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 17:36:32 +00:00
zerny@google.com 487ca247d7 Disable the irregexp backend.
Currently the use of irregexp breaks the Dartium build.

TBR=vegorov@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41999 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 16:21:08 +00:00
zerny@google.com 858bdd8a8b Skip slow test corelib/regexp/global_test.
R=vegorov@google.com
BUG=http://dartbug.com/21709,http://dartbug.com/21708

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41994 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 14:24:48 +00:00
zerny@google.com 8e807c8550 Integrate the Irregexp Regular Expression Engine.
BUG=http://dartbug.com/19090
R=fschneider@google.com

Committed: https://code.google.com/p/dart/source/detail?r=41949

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41983 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 09:32:43 +00:00
zerny@google.com 84a4135901 Revert "Integrate the Irregexp Regular Expression Engine."
This reverts commit https://code.google.com/p/dart/source/detail?r=41949

TBR=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41950 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 13:36:40 +00:00
zerny@google.com 43ac0c6f33 Integrate the Irregexp Regular Expression Engine.
BUG=http://dartbug.com/19090
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41949 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 13:10:21 +00:00
johnniwinther@google.com ba110b93ff Avoid patching in dart2dart.
BUG=http://dartbug.com/21441
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41901 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 13:42:56 +00:00
regis@google.com 3c16a2c0f9 Skip MIPS tests. Still too slow. See issue 20879.
Review URL: https://codereview.chromium.org//728483004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41729 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-14 01:21:25 +00:00
regis@google.com defc9a5c54 Specialize _toPow2String for bigint to make it linear instead of quadratic.
Remove some duplicated bigint corelib tests.
Cleanup corelib tests status file.
Partially fix issue 20879 (not closed).

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41728 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-13 23:54:33 +00:00
whesse@google.com e5d6c3d424 Update status for fixed test.
BUG=dartbug.com/21582
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41712 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-13 13:14:18 +00:00