fschneider@google.com
a49870e721
VM: Remove use of IterableMixinWorkaround from _List, _ImmutableList and _GrowableList.
...
_List, _ImmutableList and _GrowableList now extend ListBase which uses ListMixin.
Note that typed data lists are still using IterableMixinWorkaround for now.
They will be changed in a separate CL since it involves a few more changes
to the VM.
BUG=dartbug.com/13647
R=lrn@google.com
Review URL: https://codereview.chromium.org//730543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42061 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 10:38:51 +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
fc7306ce38
Another type error in regexp patch file.
...
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//762683004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41987 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 10:44:40 +00:00
zerny@google.com
7fb66c920c
Fix type typo in regexp patch file.
...
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//759913003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41985 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 10:23:38 +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
regis@google.com
57888924c4
Resubmit bigint changes of r41817 that were later reverted.
...
An inliner issue was fixed in r41840.
A missing length increment is added by this cl.
Minor improvements and comments.
R=zra@google.com
Review URL: https://codereview.chromium.org//747483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41873 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 23:18:03 +00:00
srdjan@google.com
eddeb860eb
Restructure inlining of Bigint accessors, use consistent approach, fixes a potential crash.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//736113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41840 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-19 22:28:49 +00:00
regis@google.com
bbf3bfc0cd
Revert bigint changes of r41817 until dart2js failures are understood and fixed.
...
Keep x64 assembler additions.
Review URL: https://codereview.chromium.org//741613002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41820 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-19 02:00:07 +00:00
regis@google.com
925f0b6292
Process two 32-bit digits as one 64-bit digit in bigint absAdd and absSub
...
intrinsic on x64. More to follow.
Added assembler instructions and tests.
R=zra@google.com
Review URL: https://codereview.chromium.org//732663003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41817 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-19 00:12:25 +00:00
hausner@google.com
4bf624ebc0
Implement enum types in VM
...
Fully support enum types as per language spec version 1.6.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//735723003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41815 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-18 23:10:07 +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
fschneider@google.com
b26ff22adf
Allocation sinking for contexts.
...
Improved aliasing computation in presence of Redefinition and AssertAssignable.
Added possibility for inlining annotations via --enable-inlining-annotations flag.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//184523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41713 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-13 13:53:58 +00:00
lrn@google.com
e8ca26953e
Reduce foot-print of Error.safeToString on strings.
...
Use existing JSON encoding instead of a custom encoding.
This allows dart2js to use the system JSON stringifier directly.
R=sra@google.com
Review URL: https://codereview.chromium.org//718053003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41704 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-13 06:47:17 +00:00
vegorov@google.com
29f021439a
Infer range for BIT_XOR.
...
When selecting representations unbox integer phis that have Int32 range and have only constants or boxing operations flowing into them.
BUG=http://dartbug.com/13869
R=fschneider@google.com
Review URL: https://codereview.chromium.org//712993005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41667 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 14:51:10 +00:00
zra@google.com
0219bdb81a
Regularize naming to make BUILD.gn files easier to write.
...
Review URL: https://codereview.chromium.org//703693002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41510 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-04 22:03:57 +00:00
lrn@google.com
e3d4226c63
Make JSON.fuse(UTF8) be more efficient by not creating intermediate string.
...
Adds JsonUtf8Encoder class that can be used directly, or through jsonEncoder.fuse(utf8Encoder) or jsonEncoder.startChunkedConversion(_Utf8EncoderSink).
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//689043002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41479 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-04 10:25:41 +00:00
regis@google.com
30dce6a5d1
Fix issue 21474 in mirrors.
...
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//690413002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41453 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-31 23:16:11 +00:00
fschneider@google.com
876193b31a
Make CTX allocatable by the register allocator.
...
This change makes CTX available by not caching the current
context while in Dart code. Instead the current context
is held in a local variable (:saved_current_context_var) and
is passed as argument in CTX at calls.
This also simplifies a lot of code in the debugger: As a result,
Isolate::top_context is not needed anymore since the current context
can always be extracted from a Dart frame.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//678763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41422 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 15:42:38 +00:00
lrn@google.com
8050a0392b
Fix assertion not holding (calling with start==end) and typo.
...
Review URL: https://codereview.chromium.org//677423002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41317 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 14:00:13 +00:00
lrn@google.com
7485b6fff2
Fix type-errors.
...
R=whesse@google.com
Review URL: https://codereview.chromium.org//680073002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41315 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 13:33:49 +00:00
lrn@google.com
a3dd8cd26f
Fix typo reutrn -> return typo.
...
R=whesse@google.com
Review URL: https://codereview.chromium.org//684433003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41314 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 13:05:21 +00:00
lrn@google.com
e2e17c3f26
Make JSON parsing work as a chunked conversion sink.
...
This allows JSON parsing to work on individual chunks of source instead
of collecting and concatenating all the parts before parsing.
This is made in anticipation of having a UTF-8 version that parses directly
on the input codes, without creating a String first.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//649113005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41311 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 12:11:39 +00:00
iposva@google.com
c7c9d5d12f
Fix http://dartbug.com/21335
...
- Make the VM internal AssertionError, TypeError and CastError implement
the public classes instead of patching them.
R=asiva@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//669733004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41231 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-21 17:00:16 +00:00
lrn@google.com
4d4c8a6332
Make Iterable.toSet say that it returns a Set with the same equality as the Iterable's contains method.
...
Let's consider whether this is really desirable once more.
It seems messy, but so does not doing it.
R=ajohnsen@google.com , floitsch@google.com
Review URL: https://codereview.chromium.org//451633003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40893 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-03 07:43:10 +00:00
lrn@google.com
d8a2043098
Fix wrong limit on list index in double.parse.
...
Review URL: https://codereview.chromium.org//623073002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40892 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-03 07:03:45 +00:00
lrn@google.com
3192c983bf
Dart version of double.parse that works for numbers that can be represented exactly as doubles.
...
BUG= http://dartbug.com/17711
R=vegorov@google.com
Review URL: https://codereview.chromium.org//520693004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40891 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-03 06:01:44 +00:00
regis@google.com
3cf27d550e
Disable 2 intrinsics causing optimizer issues (under investigation).
...
Rename 2 intrinsics (was not the issue).
Added a static cast to eliminate a warning on Windows.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//616983003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40825 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 23:01:40 +00:00
regis@google.com
f7ac8841a9
Provide ia32 intrinsics for bigint add, sub, quotient digit estimation, and
...
Montgomery mulMod.
Refactored bigint dart code to allow for the above intrinsics.
Added support for unsigned division on ia32 and added assembly tests.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//620553002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40822 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 18:49:41 +00:00
regis@google.com
cff788380b
Eliminate global argument passing list.
...
Refactor _mulAdd to perform carry propagation and update intrinsic on ia32.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//610433003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40816 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 16:47:48 +00:00
regis@google.com
50086cbc75
Resubmit reverted r40623 unchanged after GC issue fixed.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//603943005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40815 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 16:21:23 +00:00
lrn@google.com
28937c86ae
Optimize _GrowableArray._join and _StringBase._interpolate.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//551823002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40800 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 08:28:00 +00:00
lrn@google.com
2ef0e0b993
Fix bad call of RangeError.value in String.fromCharCodes.
...
Review URL: https://codereview.chromium.org//608213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40760 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-29 09:33:08 +00:00
lrn@google.com
de514055bf
Change restrictions on start/end on String.fromCharCodes.
...
Must now be 0 <= start <= end <= iterable.length.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//605213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40755 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-29 08:15:49 +00:00
lrn@google.com
b89409c112
Change type of multiplier to int, not _Smi.
...
Review URL: https://codereview.chromium.org//603353003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40704 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-26 12:30:35 +00:00
lrn@google.com
d57732d359
Optimize int.parse with a radix.
...
Handles bignums by parsing chunks of of digits into smis, then
combining the smi into a (potential) bignum, using smi arithmetic as
much as possible.
Use the optimized version for radix 10 and 16 too, instead of going to runtime.
R=fschneider@google.com
Committed: https://code.google.com/p/dart/source/detail?r=40702
Review URL: https://codereview.chromium.org//596763002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40703 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-26 12:13:47 +00:00
lrn@google.com
15ad26af35
Optimize int.parse with a radix.
...
Handles bignums by parsing chunks of of digits into smis, then
combining the smi into a (potential) bignum, using smi arithmetic as
much as possible.
Use the optimized version for radix 10 and 16 too, instead of going to runtime.
R=fschneider@google.com
Review URL: https://codereview.chromium.org//596763002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40702 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-26 12:04:43 +00:00
lrn@google.com
8bba32d131
Make String.fromCharCodes take start/end.
...
This avoids having to make a sublist of a list of character codes before passing it to String.fromCharCodes.
new String.fromCharCodes(codes.sublist(start, end))
becomes just
new String.fromCharCodes(codes, start, end)
R=floitsch@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//515183002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40672 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-25 10:45:24 +00:00
whesse@google.com
1f87b5feba
Revert r40623, "Refactor bigint _sqrTo in preparation of intrinsification."
...
This reverts commit r40623, https://codereview.chromium.org//600533002 , which
is failing snapshot generation on x64 and arm architectures.
BUG=dartbug.com/21061
R=ricow@google.com
Review URL: https://codereview.chromium.org//603493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40628 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-24 09:40:19 +00:00
regis@google.com
edd503f7d0
Refactor bigint _sqrTo in preparation of intrinsification.
...
Provide _sqrAdd intrinsic on ia32.
Review URL: https://codereview.chromium.org//600533002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40623 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-24 01:51:04 +00:00
ajohnsen@google.com
0491f4e887
Per isolate package root.
...
BUG=
R=iposva@google.com , ricow@google.com , sgjesse@google.com , turnidge@google.com
Committed: https://code.google.com/p/dart/source/detail?r=40534
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40581 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 05:46:14 +00:00
ajohnsen@google.com
38619425c2
Revert "Per isolate package root."
...
Revert "Fix test in checked mode."
The Dartium branch is locked atm, making it impossible to land this and have green Dartium bots.
BUG=
Review URL: https://codereview.chromium.org//590123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40540 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 11:13:28 +00:00
ajohnsen@google.com
a058d07806
Per isolate package root.
...
BUG=
R=iposva@google.com , sgjesse@google.com , turnidge@google.com
Review URL: https://codereview.chromium.org//545483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40534 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 08:07:06 +00:00
koda@google.com
667454a233
Support old-space allocation in generated code (bump block only for now).
...
First steps towards general pretenuring support.
* Generalize Heap::Top/EndAddress.
* Add testing flag to exercise new code paths.
* Also update the slow-case runtime calls, to ensure a fresh block will be allocated in old.
Next steps are general invalidation of the generated code and adding a policy that doesn't blow up the store buffers), and freelist allocation.
Review URL: https://codereview.chromium.org//578443003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40530 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 23:46:22 +00:00
asiva@google.com
302c93b050
1. Add user tag to the pointers traversed in the object store
...
2. Added support for UserTag objects in a full snapshot.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//583583007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40508 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 18:00:13 +00:00
regis@google.com
879043ba6f
Intrinsify Bigint 'multiply and accumulate" function on ia32.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//582963003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40485 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 02:05:00 +00:00
srdjan@google.com
5ef243e688
Make sure Bigint._digits is always a Uint32List and bever null. Adapt type information for get:_digits.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//580903004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40463 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-18 21:18:25 +00:00
lrn@google.com
38bb5d2a36
Don't use identical for null.
...
This was just a test to see if it generated the same code (it did),
but I forgot to revert it again.
R=fschneider@google.com
Review URL: https://codereview.chromium.org//578213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40432 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-18 11:56:01 +00:00
regis@google.com
2be1822329
Cache value of '_digits' and '_used' fields in a local variable as appropriate.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//577093003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40409 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-17 22:22:42 +00:00