From 1130ec791be0d4d2245e40809ba8bbc25adf2193 Mon Sep 17 00:00:00 2001 From: Lu Yahan Date: Mon, 21 Feb 2022 11:25:31 +0800 Subject: [PATCH] deps: V8: cherry-pick b66334313c8b MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Original commit message: [riscv64] use callee save register in regexp Bug: v8:12502 Change-Id: I8d1b599fc945e276b70901953368768594470204 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3343861 Reviewed-by: ji qiu Commit-Queue: ji qiu Cr-Commit-Position: refs/heads/main@{#78421} Refs: https://github.com/v8/v8/commit/b66334313c8bd73b253d0779f59f3e8656967043 PR-URL: https://github.com/nodejs/node/pull/42067 Refs: https://github.com/v8/v8/commit/77d515484864984f721d6726610f314982ac44d2 Reviewed-By: Michaël Zasso Reviewed-By: Jiawen Geng Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: Mary Marchini Reviewed-By: Juan José Arboleda Reviewed-By: James M Snell Reviewed-By: Stewart X Addison --- .../v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.cc | 6 +++--- deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.cc b/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.cc index 3269779efa2c1f..6c8ef4260ba80a 100644 --- a/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.cc +++ b/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.cc @@ -23,10 +23,10 @@ namespace internal { * This assembler uses the following register assignment convention * - s3 : kScratchReg. Temporarily stores the index of capture start after a matching pass * for a global regexp. - * - a5 : Pointer to current Code object including heap object tag. - * - a6 : Current position in input, as negative offset from end of string. + * - s4 : Pointer to current Code object including heap object tag. + * - s1 : Current position in input, as negative offset from end of string. * Please notice that this is the byte offset, not the character offset! - * - a7 : Currently loaded character. Must be loaded using + * - s2 : Currently loaded character. Must be loaded using * LoadCurrentCharacter before using any of the dispatch methods. * - t0 : Points to tip of backtrack stack * - t1 : Unused. diff --git a/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.h b/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.h index a5d5bb529edde8..a8238aab6aaca8 100644 --- a/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.h +++ b/deps/v8/src/regexp/riscv64/regexp-macro-assembler-riscv64.h @@ -144,10 +144,10 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerRISCV // Register holding the current input position as negative offset from // the end of the string. - inline Register current_input_offset() { return a6; } + inline Register current_input_offset() { return s1; } // The register containing the current character after LoadCurrentCharacter. - inline Register current_character() { return a7; } + inline Register current_character() { return s2; } // Register holding address of the end of the input string. inline Register end_of_input_address() { return t2; } @@ -161,7 +161,7 @@ class V8_EXPORT_PRIVATE RegExpMacroAssemblerRISCV inline Register backtrack_stackpointer() { return t0; } // Register holding pointer to the current code object. - inline Register code_pointer() { return a5; } + inline Register code_pointer() { return s4; } // Byte size of chars in the string to match (decided by the Mode argument). inline int char_size() { return static_cast(mode_); }