lrn@google.com
88ba8efed9
Optimize one-byte string's toUpperCase.
...
R=ajohnsen@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//213293002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34812 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 07:19:33 +00:00
ajohnsen@google.com
a9f357b4b6
Speed up toLowerCase, by manually inlining the upper-case part.
...
Some benchmarks show up to 25% faster toLowerCase.
BUG=
R=lrn@google.com
Review URL: https://codereview.chromium.org//212163005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34423 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 12:19:55 +00:00
lrn@google.com
249d09fd82
Optimize String.fromCharCode.
...
BUG= http://dartbug.com/17781
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//212423003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34419 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 11:37:01 +00:00
ajohnsen@google.com
fbdb9a85d8
Add optimized _OneByteString.toLowerCase.
...
BUG=
R=sgjesse@google.com , sra@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//209443005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34393 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-25 21:44:09 +00:00
lrn@google.com
f95e190651
Add string.trimLeft/trimRight.
...
BUG= http://dartbug.com/5589
R=floitsch@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//190853009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33638 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 07:16:51 +00:00
lrn@google.com
69145994de
Allow multi-codeunit padding in String.padLeft/padRight.
...
Also allow negative repeats.
Based on suggestions from Stephen.
R=sra@google.com
Review URL: https://codereview.chromium.org//171773003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32843 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-20 07:17:11 +00:00
lrn@google.com
a3ad46de0d
Add String.repeat, String.padLeft, String.padRight.
...
We keep seeing reimplementations everywhere, and reimplementing it ourselves.
BUG= http://dartbug.com/16919
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//172153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32784 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-19 12:32:56 +00:00
ajohnsen@google.com
03c7cf69f3
Add optimized String.fromCharCodes path for Uint8List and Int8List.
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//74423005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30496 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-21 06:12:01 +00:00
hausner@google.com
c96bc29ab5
Compile time error if name is used before variable is declared
...
Implement proper semantics if a name has been referenced in a
block and later a variable with that same name is declared.
Fix library code that was wrong.
Add new language test, delete a couple of tests that are
outdated, file co19 bug 649.
Dart2js and dart2dart are not yet implementing these compile-time
errors.
R=iposva@google.com
Review URL: https://codereview.chromium.org//51533003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29770 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 21:28:31 +00:00
srdjan@google.com
98aad1b1d0
Optimize OneByteString’s contains function for one character patterns (similar to indexOf).
...
R=zra@google.com
Review URL: https://codereview.chromium.org//54503004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29701 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 21:13:46 +00:00
sgjesse@google.com
36a67fa046
Implement fromEnvironment on bool, int and String
...
This implements const constructor fromEnvironment on bool, int and
String.
The VM have the added -Dname=value option to define the value for the
properties. All values are provided by using the -D - nothing is read
from the environment.
If the resulting value is null or - in the case of int.fromEnvironment
- not a number an ArgumentError is thrown.
This CL does not have any implementation for dart2js.
This is a continuation of the change
https://chromiumcodereview.appspot.com/24975002 by iposva@
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//50983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29642 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 05:46:57 +00:00
srdjan@google.com
cacd63cf7b
Improve indexOf for one byte string receiver to work with other string classes.
...
Optimize access to core class’s class-ids.
R=zra@google.com
Review URL: https://codereview.chromium.org//47073009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29610 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 23:51:42 +00:00
srdjan@google.com
15d2afdca4
Fix performance degradation in string buffer benchmarks: concat in native instead of in Dart.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//52813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29567 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 17:25:23 +00:00
srdjan@google.com
a81288c8ca
Improve string library performance. String concat and indexOf.
...
Rename String concatAll to concatRange. Optimize concatRange for OneByteStrings (avoids natives), optimize indexOf for one character onByteStrings.
R=iposva@google.com
Review URL: https://codereview.chromium.org//42443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29472 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 18:18:40 +00:00
srdjan@google.com
255ffb6947
Specialize string equality for various string classes. Add intrinsics for one/two-byte string equality. Improves sudoku_solver by 10%.
...
R=regis@google.com , zra@google.com
Review URL: https://codereview.chromium.org//41573003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29266 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 18:00:27 +00:00
lrn@google.com
ff1d105a0f
Remove deprecated 'str' getter on Match.
...
BUG= http://dartbug.com/12843
R=floitsch@google.com
Review URL: https://codereview.chromium.org//36073010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29167 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-24 12:06:41 +00:00
srdjan@google.com
1676113897
Fix runtimeType for strings, integers and double: return their interface type.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//25674017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28286 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-04 22:08:55 +00:00
iposva@google.com
e7e2e4bf03
- Rename arrays to lists:
...
_ObjectArray -> _List
_GrowableObjectArray -> _GrowableList
_ImmutableArray -> _ImmutableList
R=srdjan@google.com
Review URL: https://codereview.chromium.org//25813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28189 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 00:15:14 +00:00
srdjan@google.com
30197aab9d
Improve performance of string buffer by modifying concatAll native to allow growable array and an interval. Eliminate unnecessary check for String elements in release mode.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//25087006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28102 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 16:48:12 +00:00
lrn@google.com
df78198c50
Remove String.concat from implementation classes.
...
It was removed from the interface a long time ago.
BUG= http://dartbug.com/13128
R=floitsch@google.com
Review URL: https://codereview.chromium.org//23464040
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27286 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 11:04:45 +00:00
lrn@google.com
3f23ba6d14
Fix implementations of Match too, to use "input", not "str".
...
Fix accidental rename of str to src.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//23490008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26781 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 11:33:56 +00:00
lrn@google.com
e73a721d8e
Make String.startsWith take an optional start index.
...
R=floitsch@google.com , ngeoffray@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//17281002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24142 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 13:59:19 +00:00
lrn@google.com
9b67f92679
Use Pattern.matchAsPrefix to let String.indexOf/lastIndexOf/startsWith accept Pattern.
...
Rearranged co19-runtime.status to only have one section for each configuration,
and tried to keep them in a logical order.
BUG=http://dartbug.com/11129
R=floitsch@google.com
Review URL: https://codereview.chromium.org//16957002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23974 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 12:49:44 +00:00
lrn@google.com
9614a603bb
Proof-of-concept matchPrefix on Pattern.
...
Can be used to implement startsWith (and endsWith with a loop).
R=floitsch@google.com
Review URL: https://codereview.chromium.org//15709018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23897 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 08:37:36 +00:00
asiva@google.com
937da3dd4a
Delete some dead code
...
Strings.concatAll
Strings.join
R=srdjan@google.com
Review URL: https://codereview.chromium.org//16654007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23882 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 21:13:27 +00:00
lrn@google.com
7dd35ed656
Better documentation on Sets and Maps.
...
Small updates on other documentation too.
BUG= http://dartbug.com/474 , http://dartbug.com/1289 , http://dartbug.com/5516 , http://dartbug.com/10902 , http://dartbug.com/10315
R=floitsch@google.com , ngeoffray@google.com
Review URL: https://codereview.chromium.org//16285004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23734 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-07 08:51:35 +00:00
floitsch@google.com
5d058bb0eb
Adding isNotEmpty property to collection and string.
...
BUG= http://dartbug.com/3074
R=floitsch@google.com
Review URL: https://codereview.chromium.org//15263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23294 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 17:30:37 +00:00
floitsch@google.com
c5bd888acb
Fix string.trim (adding more runes).
...
R=lrn@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//15348003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23006 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-22 11:10:11 +00:00
asiva@google.com
551cde79fa
Reuse _isOneByteWhitespace in all the classes for implementing _isWhitespace.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//15339002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22882 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-17 23:49:50 +00:00
asiva@google.com
4ba1fdafba
Remove obsolete code (FourByteString).
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//15330002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22871 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-17 20:59:39 +00:00
srdjan@google.com
7797d39362
Added Object._cid getter, optimized it. Added to (some) classes a static final _clCid. Use those to test for exact type in VM's libraries.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//14703005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22695 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-14 18:16:44 +00:00
srdjan@google.com
70d8860c17
Optimize concatenation of lists of onebyte strings by implementing it in Dart.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//14820013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22532 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 21:33:03 +00:00
srdjan@google.com
ddc9d23610
Inline _OneByteString._setAt. The key knowledge is that _setAt is an internal method that has to be called with correct arguments, therefore no checks are needed.
...
R=fschneider@google.com , zra@google.com
Review URL: https://codereview.chromium.org//14917020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22528 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 20:03:33 +00:00
srdjan@google.com
ab188d327c
Improve performance of String.fromCharCodes by implementing it in Dart. Add tow internal natives to Dart in order to be able to allocate and fill a String. Next step is to implement String.concatAll in Dart as well and to inline String._setAt operation (currently intrinsified).
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//14862006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22399 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 23:48:10 +00:00
srdjan@google.com
596f203f2a
Do not copy immutable arrays in String.createFromCharCodes. Tighten the types a little in string_patch.dart.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//14868002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22338 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-02 20:45:06 +00:00
floitsch@google.com
07b02a845c
Remove String.slice. Too much overlap with String.substring.
...
Review URL: https://codereview.chromium.org//13874008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21442 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 12:20:07 +00:00
lrn@google.com
6160e59850
Moving ListBase, FixedLengthListMixin and UmodifiableListMixin to collection.
...
Users can now create lists easily by extending these classes, just
as they can create iterables by extending Iterable.
Reduce the dependency of IterableMixinWorkaround outside of core/collection
implementations. I plan to move IterableMixinWorkaround to _collection-dev
before M4.
Review URL: https://codereview.chromium.org//13774006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21147 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-09 12:11:05 +00:00
iposva@google.com
3a858ca8a9
- Consolidate String sources in the runtime libraries.
...
Review URL: https://codereview.chromium.org//13097009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20578 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 20:57:25 +00:00
lrn@google.com
f79786d726
Fix String.fromCharCodes to work with iterables.
...
BUG=http://dartbug.com/8922
Review URL: https://codereview.chromium.org//12431010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19602 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-07 09:14:43 +00:00
floitsch@google.com
ecce8a6293
Remove deprecated Strings class.
...
Review URL: https://codereview.chromium.org//12295014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18686 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 13:57:03 +00:00
floitsch@google.com
4a7dfd2da3
Big merge from experimental to bleeding edge.
...
Review URL: https://codereview.chromium.org//11783009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
erikcorry@google.com
84da84c22d
Revert "Add some support for the code-point code-unit distinction."
...
This reverts commit r15150
R=karlklose@google.com
BUG=
Review URL: https://codereview.chromium.org//11411092
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15152 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 15:23:41 +00:00
erikcorry@google.com
547cbf9da6
Add some support for the code-point code-unit distinction.
...
Adds String.fromCodeUnits and String.codeUnitAt, and modifies
String.fromCodePoints and String.codePointAt to actually use code points.
Fixes String.charCodes to use code points and adds String.codeUnits.
Reenables some tests, and adds new ones for non-BMP characters.
Fixes issues 6418, 6501 and 1357.
R=floitsch@google.com
BUG=
Review URL: https://codereview.chromium.org//11368138
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15150 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 14:51:25 +00:00
lrn@google.com
1555c1db26
Convert String to a class.
...
Remove the StringImplementation class.
Review URL: https://codereview.chromium.org//11085003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14779 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 08:16:59 +00:00
ajohnsen@google.com
806fa6fab1
Move StringImplementation from coreimpl to core as _StringImpl.
...
BUG=
Review URL: https://codereview.chromium.org//11348035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14281 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-30 14:19:57 +00:00
ager@google.com
70216ab4cd
Hide internal details of VM string implementation.
...
R=lrn@google.com ,srdjan@google.com
BUG=
Review URL: https://codereview.chromium.org//11035057
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13352 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-08 13:00:33 +00:00
ajohnsen@google.com
60c99504bc
Unify String.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10883052
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11380 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-27 12:26:32 +00:00