From 3f3f958c14cf4e963a73d6f037ac381c77fe78bb Mon Sep 17 00:00:00 2001 From: isaacs Date: Tue, 15 May 2012 19:53:16 -0700 Subject: Upgrade V8 to 3.11.1 --- deps/v8/src/regexp.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'deps/v8/src/regexp.js') diff --git a/deps/v8/src/regexp.js b/deps/v8/src/regexp.js index bc9508d81..a574f62bf 100644 --- a/deps/v8/src/regexp.js +++ b/deps/v8/src/regexp.js @@ -278,11 +278,7 @@ function TrimRegExp(regexp) { function RegExpToString() { - // If this.source is an empty string, output /(?:)/. - // http://bugzilla.mozilla.org/show_bug.cgi?id=225550 - // ecma_2/RegExp/properties-001.js. - var src = this.source ? this.source : '(?:)'; - var result = '/' + src + '/'; + var result = '/' + this.source + '/'; if (this.global) result += 'g'; if (this.ignoreCase) result += 'i'; if (this.multiline) result += 'm'; @@ -296,7 +292,7 @@ function RegExpToString() { // of the last successful match. function RegExpGetLastMatch() { if (lastMatchInfoOverride !== null) { - return lastMatchInfoOverride[0]; + return OVERRIDE_MATCH(lastMatchInfoOverride); } var regExpSubject = LAST_SUBJECT(lastMatchInfo); return SubString(regExpSubject, @@ -334,8 +330,8 @@ function RegExpGetLeftContext() { subject = LAST_SUBJECT(lastMatchInfo); } else { var override = lastMatchInfoOverride; - start_index = override[override.length - 2]; - subject = override[override.length - 1]; + start_index = OVERRIDE_POS(override); + subject = OVERRIDE_SUBJECT(override); } return SubString(subject, 0, start_index); } @@ -349,8 +345,9 @@ function RegExpGetRightContext() { subject = LAST_SUBJECT(lastMatchInfo); } else { var override = lastMatchInfoOverride; - subject = override[override.length - 1]; - start_index = override[override.length - 2] + subject.length; + subject = OVERRIDE_SUBJECT(override); + var match = OVERRIDE_MATCH(override); + start_index = OVERRIDE_POS(override) + match.length; } return SubString(subject, start_index, subject.length); } @@ -362,7 +359,9 @@ function RegExpGetRightContext() { function RegExpMakeCaptureGetter(n) { return function() { if (lastMatchInfoOverride) { - if (n < lastMatchInfoOverride.length - 2) return lastMatchInfoOverride[n]; + if (n < lastMatchInfoOverride.length - 2) { + return OVERRIDE_CAPTURE(lastMatchInfoOverride, n); + } return ''; } var index = n * 2; -- cgit v1.2.1