| Index: src/js/regexp.js
 | 
| diff --git a/src/js/regexp.js b/src/js/regexp.js
 | 
| index 67b203236e49ae944c4d6897958720d72c31fc66..dbe4837c6456b87ae1484687c1065396b2d63cee 100644
 | 
| --- a/src/js/regexp.js
 | 
| +++ b/src/js/regexp.js
 | 
| @@ -38,15 +38,17 @@ utils.Import(function(from) {
 | 
|  // regexp match.  The property RegExpLastMatchInfo includes the matchIndices
 | 
|  // array of the last successful regexp match (an array of start/end index
 | 
|  // pairs for the match and all the captured substrings), the invariant is
 | 
| -// that there are at least two capture indeces.  The array also contains
 | 
| +// that there are at least two capture indices.  The array also contains
 | 
|  // the subject string for the last successful match.
 | 
| -var RegExpLastMatchInfo = new InternalPackedArray(
 | 
| - 2,                 // REGEXP_NUMBER_OF_CAPTURES
 | 
| - "",                // Last subject.
 | 
| - UNDEFINED,         // Last input - settable with RegExpSetInput.
 | 
| - 0,                 // REGEXP_FIRST_CAPTURE + 0
 | 
| - 0                  // REGEXP_FIRST_CAPTURE + 1
 | 
| -);
 | 
| +// We use a JSObject rather than a JSArray so we don't have to manually update
 | 
| +// its length.
 | 
| +var RegExpLastMatchInfo = {
 | 
| +  REGEXP_NUMBER_OF_CAPTURES: 2,
 | 
| +  REGEXP_LAST_SUBJECT:       "",
 | 
| +  REGEXP_LAST_INPUT:         UNDEFINED,  // Settable with RegExpSetInput.
 | 
| +  CAPTURE0:                  0,
 | 
| +  CAPTURE1:                  0
 | 
| +};
 | 
|  
 | 
|  // -------------------------------------------------------------------
 | 
|  
 | 
| @@ -1201,7 +1203,13 @@ for (var i = 1; i < 10; ++i) {
 | 
|  // -------------------------------------------------------------------
 | 
|  // Internal
 | 
|  
 | 
| -var InternalRegExpMatchInfo = new InternalPackedArray(2, "", UNDEFINED, 0, 0);
 | 
| +var InternalRegExpMatchInfo = {
 | 
| +  REGEXP_NUMBER_OF_CAPTURES: 2,
 | 
| +  REGEXP_LAST_SUBJECT:       "",
 | 
| +  REGEXP_LAST_INPUT:         UNDEFINED,
 | 
| +  CAPTURE0:                  0,
 | 
| +  CAPTURE1:                  0
 | 
| +};
 | 
|  
 | 
|  function InternalRegExpMatch(regexp, subject) {
 | 
|    var matchInfo = %_RegExpExec(regexp, subject, 0, InternalRegExpMatchInfo);
 | 
| 
 |