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) {
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) {
'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 #####################
# 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],
'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],
-
######################## NEEDS INVESTIGATION ###########################
# These test failures are specific to the intl402 suite and need investigation