|
| 1 | +From b7ecaa8f7e903f7cf5190aa1e3150e739fffa1cc Mon Sep 17 00:00:00 2001 |
| 2 | +From: Vivian Wang <wangruikang@iscas.ac.cn> |
| 3 | +Date: Tue, 3 Feb 2026 16:46:02 +0800 |
| 4 | +Subject: [PATCH] deps: V8: backport 6a0a25abaed3 |
| 5 | + |
| 6 | +Original commit message: |
| 7 | + |
| 8 | + [riscv] Fix sp handling in MacroAssembler::LeaveFrame |
| 9 | + |
| 10 | + Keep sp <= fp to ensure that data right above fp doesn't get clobbered |
| 11 | + by an inopportune signal and its handler. |
| 12 | + |
| 13 | + Such clobbering can happen in e.g. Node.js when JIT-compiled code is |
| 14 | + interrupted by a SIGCHLD handler. |
| 15 | + |
| 16 | + Bug: None |
| 17 | + Change-Id: Ief0836032ada7942e89f081f7605f61632c4d414 |
| 18 | + Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7540554 |
| 19 | + Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn> |
| 20 | + Commit-Queue: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> |
| 21 | + Reviewed-by: Rezvan Mahdavi Hezaveh <rezvan@chromium.org> |
| 22 | + Cr-Commit-Position: refs/heads/main@{#105069} |
| 23 | + |
| 24 | +Refs: https://github.com/v8/v8/commit/6a0a25abaed397f83eb0d92e4b33a5e18204f8bc |
| 25 | +Co-authored-by: kxxt <rsworktech@outlook.com> |
| 26 | +--- |
| 27 | + deps/v8/AUTHORS | 1 + |
| 28 | + deps/v8/src/codegen/riscv/macro-assembler-riscv.cc | 3 ++- |
| 29 | + 3 files changed, 4 insertions(+), 2 deletions(-) |
| 30 | + |
| 31 | +diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS |
| 32 | +index 54fb45992db..93b3d9d5b23 100644 |
| 33 | +--- a/deps/v8/AUTHORS |
| 34 | ++++ b/deps/v8/AUTHORS |
| 35 | +@@ -282,6 +282,7 @@ Vadim Gorbachev <bmsdave@gmail.com> |
| 36 | + Varun Varada <varuncvarada@gmail.com> |
| 37 | + Victor Costan <costan@gmail.com> |
| 38 | + Victor Polevoy <fx@thefx.co> |
| 39 | ++Vivian Wang <wangruikang@iscas.ac.cn> |
| 40 | + Vlad Burlik <vladbph@gmail.com> |
| 41 | + Vladimir Krivosheev <develar@gmail.com> |
| 42 | + Vladimir Shutoff <vovan@shutoff.ru> |
| 43 | +diff --git a/deps/v8/src/codegen/riscv/macro-assembler-riscv.cc b/deps/v8/src/codegen/riscv/macro-assembler-riscv.cc |
| 44 | +index fd5e97339b4..dc4e3aafcdb 100644 |
| 45 | +--- a/deps/v8/src/codegen/riscv/macro-assembler-riscv.cc |
| 46 | ++++ b/deps/v8/src/codegen/riscv/macro-assembler-riscv.cc |
| 47 | +@@ -6036,9 +6036,10 @@ void MacroAssembler::EnterFrame(StackFrame::Type type) { |
| 48 | + |
| 49 | + void MacroAssembler::LeaveFrame(StackFrame::Type type) { |
| 50 | + ASM_CODE_COMMENT(this); |
| 51 | +- addi(sp, fp, 2 * kSystemPointerSize); |
| 52 | ++ Move(sp, fp); |
| 53 | + LoadWord(ra, MemOperand(fp, 1 * kSystemPointerSize)); |
| 54 | + LoadWord(fp, MemOperand(fp, 0 * kSystemPointerSize)); |
| 55 | ++ AddWord(sp, sp, 2 * kSystemPointerSize); |
| 56 | + } |
| 57 | + |
| 58 | + void MacroAssembler::EnterExitFrame(int stack_space, |
| 59 | +-- |
| 60 | +2.53.0 |
| 61 | + |
0 commit comments