Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
This reverts commit 1f61ac5033
.
TBR=littledan@chromium.org
BUG=chromium:513160
LOG=N
Review URL: https://codereview.chromium.org/1256193002
Cr-Commit-Position: refs/heads/master@{#29866}
This commit is contained in:
parent
5c5c55fb94
commit
e01f34fae6
@ -154,9 +154,9 @@ function RegExpExecJS(string) {
|
||||
string = TO_STRING_INLINE(string);
|
||||
var lastIndex = this.lastIndex;
|
||||
|
||||
// Conversion is required by the ES6 specification (RegExpBuiltinExec
|
||||
// algorithm, step 4) even if the value is discarded for non-global RegExps.
|
||||
var i = $toLength(lastIndex);
|
||||
// Conversion is required by the ES5 specification (RegExp.prototype.exec
|
||||
// algorithm, step 5) even if the value is discarded for non-global RegExps.
|
||||
var i = TO_INTEGER(lastIndex);
|
||||
|
||||
var updateLastIndex = this.global || (harmony_regexps && this.sticky);
|
||||
if (updateLastIndex) {
|
||||
@ -202,9 +202,9 @@ function RegExpTest(string) {
|
||||
|
||||
var lastIndex = this.lastIndex;
|
||||
|
||||
// Conversion is required by the ES6 specification (RegExpBuiltinExec
|
||||
// algorithm, step 4) even if the value is discarded for non-global RegExps.
|
||||
var i = $toLength(lastIndex);
|
||||
// Conversion is required by the ES5 specification (RegExp.prototype.exec
|
||||
// algorithm, step 5) even if the value is discarded for non-global RegExps.
|
||||
var i = TO_INTEGER(lastIndex);
|
||||
|
||||
if (this.global || (harmony_regexps && this.sticky)) {
|
||||
if (i < 0 || i > string.length) {
|
||||
|
@ -85,8 +85,6 @@
|
||||
'ecma/String/15.5.4.8-1': [FAIL],
|
||||
'ecma/String/15.5.4.9-1': [FAIL],
|
||||
|
||||
# ToLength, not ToUint32, is called on RegExps' lastIndex property
|
||||
'ecma_3/RegExp/15.10.6.2-2': [FAIL],
|
||||
|
||||
##################### SKIPPED TESTS #####################
|
||||
|
||||
|
@ -418,6 +418,9 @@
|
||||
# https://code.google.com/p/v8/issues/detail?id=4003
|
||||
'built-ins/RegExp/prototype/15.10.6': [FAIL],
|
||||
|
||||
# https://code.google.com/p/v8/issues/detail?id=4244
|
||||
'built-ins/RegExp/prototype/exec/S15.10.6.2_A5_T3': [FAIL],
|
||||
|
||||
# https://code.google.com/p/v8/issues/detail?id=4006
|
||||
'built-ins/String/prototype/S15.5.4_A1': [FAIL],
|
||||
'built-ins/String/prototype/S15.5.4_A2': [FAIL],
|
||||
|
@ -281,9 +281,6 @@
|
||||
'15.2.3.13-1-3': [FAIL],
|
||||
'15.2.3.13-1-4': [FAIL],
|
||||
|
||||
# ES6 RegExp test calls ToLength, not ToUint32
|
||||
'S15.10.6.2_A5_T3': [FAIL],
|
||||
|
||||
# ES6 says for dates to default to the local timezone if none is specified
|
||||
'15.9.1.15-1': [FAIL],
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user