| Index: src/regexp/jsregexp.h
|
| diff --git a/src/regexp/jsregexp.h b/src/regexp/jsregexp.h
|
| index 811888996652ccd7baaf1a239ce046b30d084b7a..b2e84ba4f3a69a4b25861f600bd8da12f2d218fa 100644
|
| --- a/src/regexp/jsregexp.h
|
| +++ b/src/regexp/jsregexp.h
|
| @@ -48,7 +48,7 @@ class RegExpImpl {
|
| // This function calls the garbage collector if necessary.
|
| V8_EXPORT_PRIVATE MUST_USE_RESULT static MaybeHandle<Object> Exec(
|
| Handle<JSRegExp> regexp, Handle<String> subject, int index,
|
| - Handle<JSObject> lastMatchInfo);
|
| + Handle<RegExpMatchInfo> last_match_info);
|
|
|
| // Prepares a JSRegExp object with Irregexp-specific data.
|
| static void IrregexpInitialize(Handle<JSRegExp> re,
|
| @@ -71,7 +71,7 @@ class RegExpImpl {
|
|
|
| static Handle<Object> AtomExec(Handle<JSRegExp> regexp,
|
| Handle<String> subject, int index,
|
| - Handle<JSObject> lastMatchInfo);
|
| + Handle<RegExpMatchInfo> last_match_info);
|
|
|
| enum IrregexpResult { RE_FAILURE = 0, RE_SUCCESS = 1, RE_EXCEPTION = -1 };
|
|
|
| @@ -103,12 +103,12 @@ class RegExpImpl {
|
| // Returns an empty handle in case of an exception.
|
| MUST_USE_RESULT static MaybeHandle<Object> IrregexpExec(
|
| Handle<JSRegExp> regexp, Handle<String> subject, int index,
|
| - Handle<JSObject> lastMatchInfo);
|
| + Handle<RegExpMatchInfo> last_match_info);
|
|
|
| // Set last match info. If match is NULL, then setting captures is omitted.
|
| - static Handle<JSObject> SetLastMatchInfo(Handle<JSObject> last_match_info,
|
| - Handle<String> subject,
|
| - int capture_count, int32_t* match);
|
| + static Handle<RegExpMatchInfo> SetLastMatchInfo(
|
| + Handle<RegExpMatchInfo> last_match_info, Handle<String> subject,
|
| + int capture_count, int32_t* match);
|
|
|
| class GlobalCache {
|
| public:
|
| @@ -142,49 +142,6 @@ class RegExpImpl {
|
| Handle<String> subject_;
|
| };
|
|
|
| -
|
| - // Array index in the lastMatchInfo array.
|
| - static const int kLastCaptureCount = 0;
|
| - static const int kLastSubject = 1;
|
| - static const int kLastInput = 2;
|
| - static const int kFirstCapture = 3;
|
| - static const int kLastMatchOverhead = 3;
|
| -
|
| - // Direct offset into the lastMatchInfo array.
|
| - static const int kLastCaptureCountOffset =
|
| - FixedArray::kHeaderSize + kLastCaptureCount * kPointerSize;
|
| - static const int kLastSubjectOffset =
|
| - FixedArray::kHeaderSize + kLastSubject * kPointerSize;
|
| - static const int kLastInputOffset =
|
| - FixedArray::kHeaderSize + kLastInput * kPointerSize;
|
| - static const int kFirstCaptureOffset =
|
| - FixedArray::kHeaderSize + kFirstCapture * kPointerSize;
|
| -
|
| - // Used to access the lastMatchInfo array.
|
| - static int GetCapture(FixedArray* array, int index) {
|
| - return Smi::cast(array->get(index + kFirstCapture))->value();
|
| - }
|
| -
|
| - static void SetLastCaptureCount(FixedArray* array, int to) {
|
| - array->set(kLastCaptureCount, Smi::FromInt(to));
|
| - }
|
| -
|
| - static void SetLastSubject(FixedArray* array, String* to) {
|
| - array->set(kLastSubject, to);
|
| - }
|
| -
|
| - static void SetLastInput(FixedArray* array, String* to) {
|
| - array->set(kLastInput, to);
|
| - }
|
| -
|
| - static void SetCapture(FixedArray* array, int index, int to) {
|
| - array->set(index + kFirstCapture, Smi::FromInt(to));
|
| - }
|
| -
|
| - static int GetLastCaptureCount(FixedArray* array) {
|
| - return Smi::cast(array->get(kLastCaptureCount))->value();
|
| - }
|
| -
|
| // For acting on the JSRegExp data FixedArray.
|
| static int IrregexpMaxRegisterCount(FixedArray* re);
|
| static void SetIrregexpMaxRegisterCount(FixedArray* re, int value);
|
|
|