summaryrefslogtreecommitdiff
path: root/deps/v8/src/regexp/mips64
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@google.com>2017-08-01 11:36:44 -0500
committerMyles Borins <mylesborins@google.com>2017-08-01 15:23:15 -0500
commit0a66b223e149a841669bfad5598e4254589730cb (patch)
tree5ec050f7f78aafbf5b1e0e50d639fb843141e162 /deps/v8/src/regexp/mips64
parent1782b3836ba58ef0da6b687f2bb970c0bd8199ad (diff)
downloadnode-new-0a66b223e149a841669bfad5598e4254589730cb.tar.gz
deps: update V8 to 6.0.286.52
PR-URL: https://github.com/nodejs/node/pull/14004 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/src/regexp/mips64')
-rw-r--r--deps/v8/src/regexp/mips64/OWNERS7
-rw-r--r--deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc187
-rw-r--r--deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.h3
3 files changed, 95 insertions, 102 deletions
diff --git a/deps/v8/src/regexp/mips64/OWNERS b/deps/v8/src/regexp/mips64/OWNERS
index 89455a4fbd..3f8fbfc7c8 100644
--- a/deps/v8/src/regexp/mips64/OWNERS
+++ b/deps/v8/src/regexp/mips64/OWNERS
@@ -1,6 +1,3 @@
-paul.lind@imgtec.com
-gergely.kis@imgtec.com
-akos.palfi@imgtec.com
-balazs.kilvady@imgtec.com
-dusan.milosavljevic@imgtec.com
ivica.bogosavljevic@imgtec.com
+Miran.Karic@imgtec.com
+dusan.simicic@imgtec.com
diff --git a/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc b/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc
index e0317dec8a..595d6fd4de 100644
--- a/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc
+++ b/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.cc
@@ -17,7 +17,9 @@ namespace v8 {
namespace internal {
#ifndef V8_INTERPRETED_REGEXP
-/*
+
+/* clang-format off
+ *
* This assembler uses the following register assignment convention
* - t3 : Temporarily stores the index of capture start after a matching pass
* for a global regexp.
@@ -41,15 +43,14 @@ namespace internal {
*
* The O32 stack will have the following structure:
*
- * - fp[76] Isolate* isolate (address of the current isolate)
- * - fp[72] direct_call (if 1, direct call from JavaScript code,
+ * - fp[72] Isolate* isolate (address of the current isolate)
+ * - fp[68] direct_call (if 1, direct call from JavaScript code,
* if 0, call through the runtime system).
- * - fp[68] stack_area_base (High end of the memory area to use as
+ * - fp[64] stack_area_base (High end of the memory area to use as
* backtracking stack).
- * - fp[64] capture array size (may fit multiple sets of matches)
- * - fp[60] int* capture_array (int[num_saved_registers_], for output).
+ * - fp[60] capture array size (may fit multiple sets of matches)
* - fp[44..59] MIPS O32 four argument slots
- * - fp[40] secondary link/return address used by native call.
+ * - fp[40] int* capture_array (int[num_saved_registers_], for output).
* --- sp when called ---
* - fp[36] return address (lr).
* - fp[32] old frame pointer (r11).
@@ -74,9 +75,8 @@ namespace internal {
*
* The N64 stack will have the following structure:
*
- * - fp[88] Isolate* isolate (address of the current isolate) kIsolate
- * - fp[80] secondary link/return address used by exit frame on native call. kSecondaryReturnAddress
- kStackFrameHeader
+ * - fp[80] Isolate* isolate (address of the current isolate) kIsolate
+ * kStackFrameHeader
* --- sp when called ---
* - fp[72] ra Return from RegExp code (ra). kReturnAddress
* - fp[64] s9, old-fp Old fp, callee saved(s9).
@@ -112,19 +112,16 @@ namespace internal {
* int start_index,
* Address start,
* Address end,
- * Address secondary_return_address, // Only used by native call.
* int* capture_output_array,
+ * int num_capture_registers,
* byte* stack_area_base,
* bool direct_call = false,
- * void* return_address,
* Isolate* isolate);
* The call is performed by NativeRegExpMacroAssembler::Execute()
* (in regexp-macro-assembler.cc) via the CALL_GENERATED_REGEXP_CODE macro
* in mips/simulator-mips.h.
- * When calling as a non-direct call (i.e., from C++ code), the return address
- * area is overwritten with the ra register by the RegExp code. When doing a
- * direct call from generated code, the return address is placed there by
- * the calling code, as in a normal exit frame.
+ *
+ * clang-format on
*/
#define __ ACCESS_MASM(masm_)
@@ -186,9 +183,9 @@ void RegExpMacroAssemblerMIPS::AdvanceRegister(int reg, int by) {
DCHECK(reg >= 0);
DCHECK(reg < num_registers_);
if (by != 0) {
- __ ld(a0, register_location(reg));
+ __ Ld(a0, register_location(reg));
__ Daddu(a0, a0, Operand(by));
- __ sd(a0, register_location(reg));
+ __ Sd(a0, register_location(reg));
}
}
@@ -218,7 +215,7 @@ void RegExpMacroAssemblerMIPS::CheckCharacterGT(uc16 limit, Label* on_greater) {
void RegExpMacroAssemblerMIPS::CheckAtStart(Label* on_at_start) {
- __ ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
__ Daddu(a0, current_input_offset(), Operand(-char_size()));
BranchOrBacktrack(on_at_start, eq, a0, Operand(a1));
}
@@ -226,7 +223,7 @@ void RegExpMacroAssemblerMIPS::CheckAtStart(Label* on_at_start) {
void RegExpMacroAssemblerMIPS::CheckNotAtStart(int cp_offset,
Label* on_not_at_start) {
- __ ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
__ Daddu(a0, current_input_offset(),
Operand(-char_size() + cp_offset * char_size()));
BranchOrBacktrack(on_not_at_start, ne, a0, Operand(a1));
@@ -240,7 +237,7 @@ void RegExpMacroAssemblerMIPS::CheckCharacterLT(uc16 limit, Label* on_less) {
void RegExpMacroAssemblerMIPS::CheckGreedyLoop(Label* on_equal) {
Label backtrack_non_equal;
- __ lw(a0, MemOperand(backtrack_stackpointer(), 0));
+ __ Lw(a0, MemOperand(backtrack_stackpointer(), 0));
__ Branch(&backtrack_non_equal, ne, current_input_offset(), Operand(a0));
__ Daddu(backtrack_stackpointer(),
backtrack_stackpointer(),
@@ -253,8 +250,8 @@ void RegExpMacroAssemblerMIPS::CheckGreedyLoop(Label* on_equal) {
void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
int start_reg, bool read_backward, bool unicode, Label* on_no_match) {
Label fallthrough;
- __ ld(a0, register_location(start_reg)); // Index of start of capture.
- __ ld(a1, register_location(start_reg + 1)); // Index of end of capture.
+ __ Ld(a0, register_location(start_reg)); // Index of start of capture.
+ __ Ld(a1, register_location(start_reg + 1)); // Index of end of capture.
__ Dsubu(a1, a1, a0); // Length of capture.
// At this point, the capture registers are either both set or both cleared.
@@ -263,7 +260,7 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
__ Branch(&fallthrough, eq, a1, Operand(zero_reg));
if (read_backward) {
- __ ld(t1, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(t1, MemOperand(frame_pointer(), kStringStartMinusOne));
__ Daddu(t1, t1, a1);
BranchOrBacktrack(on_no_match, le, current_input_offset(), Operand(t1));
} else {
@@ -292,9 +289,9 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
Label loop;
__ bind(&loop);
- __ lbu(a3, MemOperand(a0, 0));
+ __ Lbu(a3, MemOperand(a0, 0));
__ daddiu(a0, a0, char_size());
- __ lbu(a4, MemOperand(a2, 0));
+ __ Lbu(a4, MemOperand(a2, 0));
__ daddiu(a2, a2, char_size());
__ Branch(&loop_check, eq, a4, Operand(a3));
@@ -323,8 +320,8 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
// Compute new value of character position after the matched part.
__ Dsubu(current_input_offset(), a2, end_of_input_address());
if (read_backward) {
- __ ld(t1, register_location(start_reg)); // Index of start of capture.
- __ ld(a2, register_location(start_reg + 1)); // Index of end of capture.
+ __ Ld(t1, register_location(start_reg)); // Index of start of capture.
+ __ Ld(a2, register_location(start_reg + 1)); // Index of end of capture.
__ Daddu(current_input_offset(), current_input_offset(), Operand(t1));
__ Dsubu(current_input_offset(), current_input_offset(), Operand(a2));
}
@@ -360,11 +357,11 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
__ Dsubu(a1, a1, Operand(s3));
}
// Isolate.
-#ifdef V8_I18N_SUPPORT
+#ifdef V8_INTL_SUPPORT
if (unicode) {
__ mov(a3, zero_reg);
} else // NOLINT
-#endif // V8_I18N_SUPPORT
+#endif // V8_INTL_SUPPORT
{
__ li(a3, Operand(ExternalReference::isolate_address(masm_->isolate())));
}
@@ -379,7 +376,7 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReferenceIgnoreCase(
// Restore regexp engine registers.
__ MultiPop(regexp_registers_to_retain);
__ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE);
- __ ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
+ __ Ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
// Check if function returned non-zero for success or zero for failure.
BranchOrBacktrack(on_no_match, eq, v0, Operand(zero_reg));
@@ -402,8 +399,8 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReference(int start_reg,
Label success;
// Find length of back-referenced capture.
- __ ld(a0, register_location(start_reg));
- __ ld(a1, register_location(start_reg + 1));
+ __ Ld(a0, register_location(start_reg));
+ __ Ld(a1, register_location(start_reg + 1));
__ Dsubu(a1, a1, a0); // Length to check.
// At this point, the capture registers are either both set or both cleared.
@@ -412,7 +409,7 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReference(int start_reg,
__ Branch(&fallthrough, eq, a1, Operand(zero_reg));
if (read_backward) {
- __ ld(t1, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(t1, MemOperand(frame_pointer(), kStringStartMinusOne));
__ Daddu(t1, t1, a1);
BranchOrBacktrack(on_no_match, le, current_input_offset(), Operand(t1));
} else {
@@ -432,15 +429,15 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReference(int start_reg,
Label loop;
__ bind(&loop);
if (mode_ == LATIN1) {
- __ lbu(a3, MemOperand(a0, 0));
+ __ Lbu(a3, MemOperand(a0, 0));
__ daddiu(a0, a0, char_size());
- __ lbu(a4, MemOperand(a2, 0));
+ __ Lbu(a4, MemOperand(a2, 0));
__ daddiu(a2, a2, char_size());
} else {
DCHECK(mode_ == UC16);
- __ lhu(a3, MemOperand(a0, 0));
+ __ Lhu(a3, MemOperand(a0, 0));
__ daddiu(a0, a0, char_size());
- __ lhu(a4, MemOperand(a2, 0));
+ __ Lhu(a4, MemOperand(a2, 0));
__ daddiu(a2, a2, char_size());
}
BranchOrBacktrack(on_no_match, ne, a3, Operand(a4));
@@ -449,8 +446,8 @@ void RegExpMacroAssemblerMIPS::CheckNotBackReference(int start_reg,
// Move current character position to position after match.
__ Dsubu(current_input_offset(), a2, end_of_input_address());
if (read_backward) {
- __ ld(t1, register_location(start_reg)); // Index of start of capture.
- __ ld(a2, register_location(start_reg + 1)); // Index of end of capture.
+ __ Ld(t1, register_location(start_reg)); // Index of start of capture.
+ __ Ld(a2, register_location(start_reg + 1)); // Index of end of capture.
__ Daddu(current_input_offset(), current_input_offset(), Operand(t1));
__ Dsubu(current_input_offset(), current_input_offset(), Operand(a2));
}
@@ -525,7 +522,7 @@ void RegExpMacroAssemblerMIPS::CheckBitInTable(
__ Daddu(a0, a0, current_character());
}
- __ lbu(a0, FieldMemOperand(a0, ByteArray::kHeaderSize));
+ __ Lbu(a0, FieldMemOperand(a0, ByteArray::kHeaderSize));
BranchOrBacktrack(on_bit_set, ne, a0, Operand(zero_reg));
}
@@ -605,7 +602,7 @@ bool RegExpMacroAssemblerMIPS::CheckSpecialCharacterClass(uc16 type,
ExternalReference map = ExternalReference::re_word_character_map();
__ li(a0, Operand(map));
__ Daddu(a0, a0, current_character());
- __ lbu(a0, MemOperand(a0, 0));
+ __ Lbu(a0, MemOperand(a0, 0));
BranchOrBacktrack(on_no_match, eq, a0, Operand(zero_reg));
return true;
}
@@ -618,7 +615,7 @@ bool RegExpMacroAssemblerMIPS::CheckSpecialCharacterClass(uc16 type,
ExternalReference map = ExternalReference::re_word_character_map();
__ li(a0, Operand(map));
__ Daddu(a0, a0, current_character());
- __ lbu(a0, MemOperand(a0, 0));
+ __ Lbu(a0, MemOperand(a0, 0));
BranchOrBacktrack(on_no_match, ne, a0, Operand(zero_reg));
if (mode_ != LATIN1) {
__ bind(&done);
@@ -689,7 +686,7 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
ExternalReference stack_limit =
ExternalReference::address_of_stack_limit(masm_->isolate());
__ li(a0, Operand(stack_limit));
- __ ld(a0, MemOperand(a0));
+ __ Ld(a0, MemOperand(a0));
__ Dsubu(a0, sp, a0);
// Handle it if the stack pointer is already below the stack limit.
__ Branch(&stack_limit_hit, le, a0, Operand(zero_reg));
@@ -710,20 +707,20 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
// Allocate space on stack for registers.
__ Dsubu(sp, sp, Operand(num_registers_ * kPointerSize));
// Load string end.
- __ ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
+ __ Ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
// Load input start.
- __ ld(a0, MemOperand(frame_pointer(), kInputStart));
+ __ Ld(a0, MemOperand(frame_pointer(), kInputStart));
// Find negative length (offset of start relative to end).
__ Dsubu(current_input_offset(), a0, end_of_input_address());
// Set a0 to address of char before start of the input string
// (effectively string position -1).
- __ ld(a1, MemOperand(frame_pointer(), kStartIndex));
+ __ Ld(a1, MemOperand(frame_pointer(), kStartIndex));
__ Dsubu(a0, current_input_offset(), Operand(char_size()));
__ dsll(t1, a1, (mode_ == UC16) ? 1 : 0);
__ Dsubu(a0, a0, t1);
// Store this value in a local variable, for use when clearing
// position registers.
- __ sd(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Sd(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
// Initialize code pointer register
__ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE);
@@ -749,19 +746,19 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ li(a2, Operand(num_saved_registers_));
Label init_loop;
__ bind(&init_loop);
- __ sd(a0, MemOperand(a1));
+ __ Sd(a0, MemOperand(a1));
__ Daddu(a1, a1, Operand(-kPointerSize));
__ Dsubu(a2, a2, Operand(1));
__ Branch(&init_loop, ne, a2, Operand(zero_reg));
} else {
for (int i = 0; i < num_saved_registers_; i++) {
- __ sd(a0, register_location(i));
+ __ Sd(a0, register_location(i));
}
}
}
// Initialize backtrack stack pointer.
- __ ld(backtrack_stackpointer(), MemOperand(frame_pointer(), kStackHighEnd));
+ __ Ld(backtrack_stackpointer(), MemOperand(frame_pointer(), kStackHighEnd));
__ jmp(&start_label_);
@@ -772,9 +769,9 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ bind(&success_label_);
if (num_saved_registers_ > 0) {
// Copy captures to output.
- __ ld(a1, MemOperand(frame_pointer(), kInputStart));
- __ ld(a0, MemOperand(frame_pointer(), kRegisterOutput));
- __ ld(a2, MemOperand(frame_pointer(), kStartIndex));
+ __ Ld(a1, MemOperand(frame_pointer(), kInputStart));
+ __ Ld(a0, MemOperand(frame_pointer(), kRegisterOutput));
+ __ Ld(a2, MemOperand(frame_pointer(), kStartIndex));
__ Dsubu(a1, end_of_input_address(), a1);
// a1 is length of input in bytes.
if (mode_ == UC16) {
@@ -789,8 +786,8 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
// unroll the loop once to add an operation between a load of a register
// and the following use of that register.
for (int i = 0; i < num_saved_registers_; i += 2) {
- __ ld(a2, register_location(i));
- __ ld(a3, register_location(i + 1));
+ __ Ld(a2, register_location(i));
+ __ Ld(a3, register_location(i + 1));
if (i == 0 && global_with_zero_length_check()) {
// Keep capture start in a4 for the zero-length check later.
__ mov(t3, a2);
@@ -805,21 +802,21 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ Daddu(a3, a1, Operand(a3));
}
// V8 expects the output to be an int32_t array.
- __ sw(a2, MemOperand(a0));
+ __ Sw(a2, MemOperand(a0));
__ Daddu(a0, a0, kIntSize);
- __ sw(a3, MemOperand(a0));
+ __ Sw(a3, MemOperand(a0));
__ Daddu(a0, a0, kIntSize);
}
}
if (global()) {
// Restart matching if the regular expression is flagged as global.
- __ ld(a0, MemOperand(frame_pointer(), kSuccessfulCaptures));
- __ ld(a1, MemOperand(frame_pointer(), kNumOutputRegisters));
- __ ld(a2, MemOperand(frame_pointer(), kRegisterOutput));
+ __ Ld(a0, MemOperand(frame_pointer(), kSuccessfulCaptures));
+ __ Ld(a1, MemOperand(frame_pointer(), kNumOutputRegisters));
+ __ Ld(a2, MemOperand(frame_pointer(), kRegisterOutput));
// Increment success counter.
__ Daddu(a0, a0, 1);
- __ sd(a0, MemOperand(frame_pointer(), kSuccessfulCaptures));
+ __ Sd(a0, MemOperand(frame_pointer(), kSuccessfulCaptures));
// Capture results have been stored, so the number of remaining global
// output registers is reduced by the number of stored captures.
__ Dsubu(a1, a1, num_saved_registers_);
@@ -827,13 +824,13 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ mov(v0, a0);
__ Branch(&return_v0, lt, a1, Operand(num_saved_registers_));
- __ sd(a1, MemOperand(frame_pointer(), kNumOutputRegisters));
+ __ Sd(a1, MemOperand(frame_pointer(), kNumOutputRegisters));
// Advance the location for output.
__ Daddu(a2, a2, num_saved_registers_ * kIntSize);
- __ sd(a2, MemOperand(frame_pointer(), kRegisterOutput));
+ __ Sd(a2, MemOperand(frame_pointer(), kRegisterOutput));
// Prepare a0 to initialize registers with its value in the next run.
- __ ld(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
if (global_with_zero_length_check()) {
// Special case for zero-length matches.
@@ -861,7 +858,7 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
// Exit and return v0.
__ bind(&exit_label_);
if (global()) {
- __ ld(v0, MemOperand(frame_pointer(), kSuccessfulCaptures));
+ __ Ld(v0, MemOperand(frame_pointer(), kSuccessfulCaptures));
}
__ bind(&return_v0);
@@ -893,7 +890,7 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ Branch(&return_v0, ne, v0, Operand(zero_reg));
// String might have moved: Reload end of string from frame.
- __ ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
+ __ Ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
__ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE);
SafeReturn();
}
@@ -925,7 +922,7 @@ Handle<HeapObject> RegExpMacroAssemblerMIPS::GetCode(Handle<String> source) {
__ mov(backtrack_stackpointer(), v0);
// Restore saved registers and continue.
__ li(code_pointer(), Operand(masm_->CodeObject()), CONSTANT_SIZE);
- __ ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
+ __ Ld(end_of_input_address(), MemOperand(frame_pointer(), kInputEnd));
SafeReturn();
}
@@ -961,22 +958,22 @@ void RegExpMacroAssemblerMIPS::GoTo(Label* to) {
void RegExpMacroAssemblerMIPS::IfRegisterGE(int reg,
int comparand,
Label* if_ge) {
- __ ld(a0, register_location(reg));
- BranchOrBacktrack(if_ge, ge, a0, Operand(comparand));
+ __ Ld(a0, register_location(reg));
+ BranchOrBacktrack(if_ge, ge, a0, Operand(comparand));
}
void RegExpMacroAssemblerMIPS::IfRegisterLT(int reg,
int comparand,
Label* if_lt) {
- __ ld(a0, register_location(reg));
+ __ Ld(a0, register_location(reg));
BranchOrBacktrack(if_lt, lt, a0, Operand(comparand));
}
void RegExpMacroAssemblerMIPS::IfRegisterEqPos(int reg,
Label* if_eq) {
- __ ld(a0, register_location(reg));
+ __ Ld(a0, register_location(reg));
BranchOrBacktrack(if_eq, eq, a0, Operand(current_input_offset()));
}
@@ -1010,7 +1007,7 @@ void RegExpMacroAssemblerMIPS::PopCurrentPosition() {
void RegExpMacroAssemblerMIPS::PopRegister(int register_index) {
Pop(a0);
- __ sd(a0, register_location(register_index));
+ __ Sd(a0, register_location(register_index));
}
@@ -1028,10 +1025,10 @@ void RegExpMacroAssemblerMIPS::PushBacktrack(Label* label) {
masm_->label_at_put(label, offset);
__ bind(&after_constant);
if (is_int16(cp_offset)) {
- __ lwu(a0, MemOperand(code_pointer(), cp_offset));
+ __ Lwu(a0, MemOperand(code_pointer(), cp_offset));
} else {
__ Daddu(a0, code_pointer(), cp_offset);
- __ lwu(a0, MemOperand(a0, 0));
+ __ Lwu(a0, MemOperand(a0, 0));
}
}
Push(a0);
@@ -1046,20 +1043,20 @@ void RegExpMacroAssemblerMIPS::PushCurrentPosition() {
void RegExpMacroAssemblerMIPS::PushRegister(int register_index,
StackCheckFlag check_stack_limit) {
- __ ld(a0, register_location(register_index));
+ __ Ld(a0, register_location(register_index));
Push(a0);
if (check_stack_limit) CheckStackLimit();
}
void RegExpMacroAssemblerMIPS::ReadCurrentPositionFromRegister(int reg) {
- __ ld(current_input_offset(), register_location(reg));
+ __ Ld(current_input_offset(), register_location(reg));
}
void RegExpMacroAssemblerMIPS::ReadStackPointerFromRegister(int reg) {
- __ ld(backtrack_stackpointer(), register_location(reg));
- __ ld(a0, MemOperand(frame_pointer(), kStackHighEnd));
+ __ Ld(backtrack_stackpointer(), register_location(reg));
+ __ Ld(a0, MemOperand(frame_pointer(), kStackHighEnd));
__ Daddu(backtrack_stackpointer(), backtrack_stackpointer(), Operand(a0));
}
@@ -1082,7 +1079,7 @@ void RegExpMacroAssemblerMIPS::SetCurrentPositionFromEnd(int by) {
void RegExpMacroAssemblerMIPS::SetRegister(int register_index, int to) {
DCHECK(register_index >= num_saved_registers_); // Reserved for positions!
__ li(a0, Operand(to));
- __ sd(a0, register_location(register_index));
+ __ Sd(a0, register_location(register_index));
}
@@ -1095,27 +1092,27 @@ bool RegExpMacroAssemblerMIPS::Succeed() {
void RegExpMacroAssemblerMIPS::WriteCurrentPositionToRegister(int reg,
int cp_offset) {
if (cp_offset == 0) {
- __ sd(current_input_offset(), register_location(reg));
+ __ Sd(current_input_offset(), register_location(reg));
} else {
__ Daddu(a0, current_input_offset(), Operand(cp_offset * char_size()));
- __ sd(a0, register_location(reg));
+ __ Sd(a0, register_location(reg));
}
}
void RegExpMacroAssemblerMIPS::ClearRegisters(int reg_from, int reg_to) {
DCHECK(reg_from <= reg_to);
- __ ld(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(a0, MemOperand(frame_pointer(), kStringStartMinusOne));
for (int reg = reg_from; reg <= reg_to; reg++) {
- __ sd(a0, register_location(reg));
+ __ Sd(a0, register_location(reg));
}
}
void RegExpMacroAssemblerMIPS::WriteStackPointerToRegister(int reg) {
- __ ld(a1, MemOperand(frame_pointer(), kStackHighEnd));
+ __ Ld(a1, MemOperand(frame_pointer(), kStackHighEnd));
__ Dsubu(a0, backtrack_stackpointer(), a1);
- __ sd(a0, register_location(reg));
+ __ Sd(a0, register_location(reg));
}
@@ -1134,7 +1131,7 @@ void RegExpMacroAssemblerMIPS::CallCheckStackGuardState(Register scratch) {
__ Dsubu(sp, sp, Operand(kPointerSize));
DCHECK(base::bits::IsPowerOfTwo32(stack_alignment));
__ And(sp, sp, Operand(-stack_alignment));
- __ sd(scratch, MemOperand(sp));
+ __ Sd(scratch, MemOperand(sp));
__ mov(a2, frame_pointer());
// Code* of self.
@@ -1174,7 +1171,7 @@ void RegExpMacroAssemblerMIPS::CallCheckStackGuardState(Register scratch) {
// [sp + 2] - C argument slot.
// [sp + 1] - C argument slot.
// [sp + 0] - C argument slot.
- __ ld(sp, MemOperand(sp, stack_alignment + kCArgsSlotsSize));
+ __ Ld(sp, MemOperand(sp, stack_alignment + kCArgsSlotsSize));
__ li(code_pointer(), Operand(masm_->CodeObject()));
}
@@ -1222,7 +1219,7 @@ void RegExpMacroAssemblerMIPS::CheckPosition(int cp_offset,
BranchOrBacktrack(on_outside_input, ge, current_input_offset(),
Operand(-cp_offset * char_size()));
} else {
- __ ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
+ __ Ld(a1, MemOperand(frame_pointer(), kStringStartMinusOne));
__ Daddu(a0, current_input_offset(), Operand(cp_offset * char_size()));
BranchOrBacktrack(on_outside_input, le, a0, Operand(a1));
}
@@ -1276,13 +1273,13 @@ void RegExpMacroAssemblerMIPS::Push(Register source) {
__ Daddu(backtrack_stackpointer(),
backtrack_stackpointer(),
Operand(-kIntSize));
- __ sw(source, MemOperand(backtrack_stackpointer()));
+ __ Sw(source, MemOperand(backtrack_stackpointer()));
}
void RegExpMacroAssemblerMIPS::Pop(Register target) {
DCHECK(!target.is(backtrack_stackpointer()));
- __ lw(target, MemOperand(backtrack_stackpointer()));
+ __ Lw(target, MemOperand(backtrack_stackpointer()));
__ Daddu(backtrack_stackpointer(), backtrack_stackpointer(), kIntSize);
}
@@ -1292,7 +1289,7 @@ void RegExpMacroAssemblerMIPS::CheckPreemption() {
ExternalReference stack_limit =
ExternalReference::address_of_stack_limit(masm_->isolate());
__ li(a0, Operand(stack_limit));
- __ ld(a0, MemOperand(a0));
+ __ Ld(a0, MemOperand(a0));
SafeCall(&check_preempt_label_, ls, sp, Operand(a0));
}
@@ -1302,7 +1299,7 @@ void RegExpMacroAssemblerMIPS::CheckStackLimit() {
ExternalReference::address_of_regexp_stack_limit(masm_->isolate());
__ li(a0, Operand(stack_limit));
- __ ld(a0, MemOperand(a0));
+ __ Ld(a0, MemOperand(a0));
SafeCall(&stack_overflow_label_, ls, backtrack_stackpointer(), Operand(a0));
}
@@ -1320,10 +1317,10 @@ void RegExpMacroAssemblerMIPS::LoadCurrentCharacterUnchecked(int cp_offset,
DCHECK(characters == 1);
__ Daddu(t1, end_of_input_address(), Operand(offset));
if (mode_ == LATIN1) {
- __ lbu(current_character(), MemOperand(t1, 0));
+ __ Lbu(current_character(), MemOperand(t1, 0));
} else {
DCHECK(mode_ == UC16);
- __ lhu(current_character(), MemOperand(t1, 0));
+ __ Lhu(current_character(), MemOperand(t1, 0));
}
}
diff --git a/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.h b/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.h
index df2c6c554f..722ca01ab5 100644
--- a/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.h
+++ b/deps/v8/src/regexp/mips64/regexp-macro-assembler-mips64.h
@@ -107,9 +107,8 @@ class RegExpMacroAssemblerMIPS: public NativeRegExpMacroAssembler {
// TODO(plind): This 9 - is 8 s-regs (s0..s7) plus fp.
static const int kReturnAddress = kStoredRegisters + 9 * kPointerSize;
- static const int kSecondaryReturnAddress = kReturnAddress + kPointerSize;
// Stack frame header.
- static const int kStackFrameHeader = kSecondaryReturnAddress;
+ static const int kStackFrameHeader = kReturnAddress;
// Stack parameters placed by caller.
static const int kIsolate = kStackFrameHeader + kPointerSize;