Commit Graph

22 Commits

Author SHA1 Message Date
Peter von der Ahé 00bed94e0c Fix various nits in VM patch files.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2705593002 .
2017-02-17 16:28:57 +01:00
Matthias Hausner 1a6d1eca32 Implement @patch annotation for patch class members
Allow members of patch classes to be annotated with @patch. The VM
ignores the annotation. I simply replaces the original method
if the name matches, or reports an error if field names match.

Adding a bit is_patched to members to do more checking remains a
TODO. There are currently no unused bits available, and I don’t want
to increase the size of Function objects for this.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2230383003 .
2016-08-10 12:54:57 -07:00
Matthias Hausner e11ca24053 Use metadata annotation @patch for patch classes
Annotate patch classes and top-level patch functions with @patch
instead of the pseudo-keyword patch. This allows the analyzer
to read patch files, and matches the syntax that dart2js uses.

The deprecated syntax is still supported, but a warning is printed when detected.

BUG=

Review URL: https://codereview.chromium.org/2220883004 .
2016-08-09 09:48:03 -07:00
Stephen Adams 2bb2a12720 Avoid multiple reallocations of StringBuffer._parts
The original code

    _parts = [ str ];

allocated a _GrowableList backed by a single element _List.
Subsequent calls to _parts.add() grows the backing list to 2, then 4, etc.

On a dart2js workload, allocating with a reasonable initial capacity
reduces the number of _List objects allocated by 8%, with 4% reduction in
_List bytes allocated.

R=lrn@google.com

Review URL: https://codereview.chromium.org/1888453011 .
2016-04-18 18:08:16 -07:00
Srdjan Mitrovic caa3cce77e Fix some TODOs
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org//1263963003 .
2015-08-04 17:13:22 -07:00
sra@google.com 6467b4302d dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45188 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:29 +00:00
sra@google.com 18dd1aa826 Revert "dart2js implementation of StringBuffer.writeAll that optimizes better."
StringBuffer.writeAll is expected by pub tests to not be patched or inlined.  I'll fix that and redo.

TBR=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45186 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:55:05 +00:00
sra@google.com 54718dc6e2 dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45184 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:02:05 +00:00
fschneider@google.com 8621f8bda9 VM: Remove explicit field initialization with null from library classes.
It is redundant since fields are implicitly null-initialized.

R=ajohnsen@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37261 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 10:59:20 +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
iposva@google.com fbec69dca1 - Fix typos and add comments.
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28180 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 20:52:15 +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
kasperl@google.com a37950273c Improve the memory consumption and performance of our string buffer implementation.
R=lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27698 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 12:07:39 +00:00
regis@google.com 9eb12ad303 Implement updated method overriding rules in the vm (issue 11495).
Introduce --error-on-bad-override flag and use it when generating snapshots.
Fix signature checking when patching methods.
Fix errors in patch files.
Fix receiver type of constructors.
Fix finalization of mixin application typedefs.
Update tests and status files.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26027 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-12 20:28:52 +00:00
lrn@google.com a5a93492d9 Change VM's string-buffer patch to use a Uin16Array as backing buffer.
Review URL: https://codereview.chromium.org//12421002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19679 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 10:21:52 +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 d65511b707 Add StringSink and update StringBuffer.
Committed: https://code.google.com/p/dart/source/detail?r=18313
Reverted: http://code.google.com/p/dart/source/detail?r=18327

Committed: https://code.google.com/p/dart/source/detail?r=18626
Reverted: http://code.google.com/p/dart/source/detail?r=18629

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18631 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-18 14:15:53 +00:00
floitsch@google.com ab46bbd209 Revert "Add StringSink and update StringBuffer."
This reverts commit 18626.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18629 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-18 13:57:41 +00:00
floitsch@google.com c32a0fd519 Add StringSink and update StringBuffer.
Committed: https://code.google.com/p/dart/source/detail?r=18313
Reverted: http://code.google.com/p/dart/source/detail?r=18327

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18626 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-18 13:26:51 +00:00
floitsch@google.com 3b0c2885b7 Revert "Add StringSink and update StringBuffer."
This reverts commit 18313.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18327 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:29:54 +00:00
floitsch@google.com 7c194d0d06 Add StringSink and update StringBuffer.
Review URL: https://codereview.chromium.org//12218086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18313 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 17:11:56 +00:00
ahe@google.com 8d698fdf19 Improve performance of dart2js StringBuffer.
Review URL: https://codereview.chromium.org//11565034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17639 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 15:32:10 +00:00