diff options
Diffstat (limited to 'deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h')
-rw-r--r-- | deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h b/deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h index f0b4833eb8..6e32d71063 100644 --- a/deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h +++ b/deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h @@ -92,41 +92,53 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerS390 private: // Offsets from frame_pointer() of function parameters and stored registers. - static const int kFramePointer = 0; + static const int kFramePointerOffset = 0; // Above the frame pointer - Stored registers and stack passed parameters. - static const int kStoredRegisters = kFramePointer; - static const int kCallerFrame = - kStoredRegisters + kCalleeRegisterSaveAreaSize; - - // Below the frame pointer. + static const int kStoredRegistersOffset = kFramePointerOffset; + static const int kCallerFrameOffset = + kStoredRegistersOffset + kCalleeRegisterSaveAreaSize; + + // Below the frame pointer - the stack frame type marker and locals. + static constexpr int kFrameTypeOffset = + kFramePointerOffset - kSystemPointerSize; + static_assert(kFrameTypeOffset == + CommonFrameConstants::kContextOrFrameTypeOffset); // Register parameters stored by setup code. - static const int kIsolate = kFramePointer - kSystemPointerSize; - static const int kDirectCall = kIsolate - kSystemPointerSize; - static const int kNumOutputRegisters = kDirectCall - kSystemPointerSize; - static const int kRegisterOutput = kNumOutputRegisters - kSystemPointerSize; - static const int kInputEnd = kRegisterOutput - kSystemPointerSize; - static const int kInputStart = kInputEnd - kSystemPointerSize; - static const int kStartIndex = kInputStart - kSystemPointerSize; - static const int kInputString = kStartIndex - kSystemPointerSize; + static const int kIsolateOffset = kFrameTypeOffset - kSystemPointerSize; + static const int kDirectCallOffset = kIsolateOffset - kSystemPointerSize; + static const int kNumOutputRegistersOffset = + kDirectCallOffset - kSystemPointerSize; + static const int kRegisterOutputOffset = + kNumOutputRegistersOffset - kSystemPointerSize; + static const int kInputEndOffset = kRegisterOutputOffset - kSystemPointerSize; + static const int kInputStartOffset = kInputEndOffset - kSystemPointerSize; + static const int kStartIndexOffset = kInputStartOffset - kSystemPointerSize; + static const int kInputStringOffset = kStartIndexOffset - kSystemPointerSize; // When adding local variables remember to push space for them in // the frame in GetCode. - static const int kSuccessfulCaptures = kInputString - kSystemPointerSize; - static const int kStringStartMinusOne = - kSuccessfulCaptures - kSystemPointerSize; - static const int kBacktrackCount = kStringStartMinusOne - kSystemPointerSize; + static const int kSuccessfulCapturesOffset = + kInputStringOffset - kSystemPointerSize; + static const int kStringStartMinusOneOffset = + kSuccessfulCapturesOffset - kSystemPointerSize; + static const int kBacktrackCountOffset = + kStringStartMinusOneOffset - kSystemPointerSize; // Stores the initial value of the regexp stack pointer in a // position-independent representation (in case the regexp stack grows and // thus moves). - static const int kRegExpStackBasePointer = - kBacktrackCount - kSystemPointerSize; + static const int kRegExpStackBasePointerOffset = + kBacktrackCountOffset - kSystemPointerSize; // First register address. Following registers are below it on the stack. - static const int kRegisterZero = kRegExpStackBasePointer - kSystemPointerSize; + static const int kRegisterZeroOffset = + kRegExpStackBasePointerOffset - kSystemPointerSize; // Initial size of code buffer. static const int kRegExpCodeSize = 1024; + void CallCFunctionFromIrregexpCode(ExternalReference function, + int num_arguments); + // Check whether preemption has been requested. void CheckPreemption(); |