summaryrefslogtreecommitdiff
path: root/deps/v8/src/regexp/s390/regexp-macro-assembler-s390.h
diff options
context:
space:
mode:
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.h54
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();