| Index: src/string.js
|
| diff --git a/src/string.js b/src/string.js
|
| index 44315bba168b20197194556986be5d2aa97f7a8a..a04b23f7dbb0e54e1b9df385d275a27465e2220d 100644
|
| --- a/src/string.js
|
| +++ b/src/string.js
|
| @@ -495,8 +495,7 @@ function StringReplaceGlobalRegExpWithFunction(subject, regexp, replace) {
|
| }
|
| }
|
| }
|
| - var resultBuilder = new ReplaceResultBuilder(subject, res);
|
| - var result = resultBuilder.generate();
|
| + var result = %StringBuilderConcat(res, res.length, subject);
|
| resultArray.length = 0;
|
| reusableReplaceArray = resultArray;
|
| return result;
|
| @@ -950,43 +949,6 @@ function StringSup() {
|
| return "<sup>" + this + "</sup>";
|
| }
|
|
|
| -
|
| -// ReplaceResultBuilder support.
|
| -function ReplaceResultBuilder(str) {
|
| - if (%_ArgumentsLength() > 1) {
|
| - this.elements = %_Arguments(1);
|
| - } else {
|
| - this.elements = new InternalArray();
|
| - }
|
| - this.special_string = str;
|
| -}
|
| -
|
| -SetUpLockedPrototype(ReplaceResultBuilder,
|
| - $Array("elements", "special_string"), $Array(
|
| - "add", function(str) {
|
| - str = TO_STRING_INLINE(str);
|
| - if (str.length > 0) this.elements.push(str);
|
| - },
|
| - "addSpecialSlice", function(start, end) {
|
| - var len = end - start;
|
| - if (start < 0 || len <= 0) return;
|
| - if (start < 0x80000 && len < 0x800) {
|
| - this.elements.push((start << 11) | len);
|
| - } else {
|
| - // 0 < len <= String::kMaxLength and Smi::kMaxValue >= String::kMaxLength,
|
| - // so -len is a smi.
|
| - var elements = this.elements;
|
| - elements.push(-len);
|
| - elements.push(start);
|
| - }
|
| - },
|
| - "generate", function() {
|
| - var elements = this.elements;
|
| - return %StringBuilderConcat(elements, elements.length, this.special_string);
|
| - }
|
| -));
|
| -
|
| -
|
| // -------------------------------------------------------------------
|
|
|
| function SetUpString() {
|
|
|