summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-07-02 16:43:19 +0300
committerEfraim Flashner <efraim@flashner.co.il>2025-03-13 14:34:58 +0200
commit2e996ba595df830d4c472b94732daa445509708a (patch)
treef81ad0731b6ecc343071d67ef27c507d5d16ffad
parent5cb138ab05444721d5be63049ab2e01649b98b82 (diff)
fixup node-12 riscv64 support
-rw-r--r--gnu/packages/patches/node-12-riscv64-support.patch37
1 files changed, 35 insertions, 2 deletions
diff --git a/gnu/packages/patches/node-12-riscv64-support.patch b/gnu/packages/patches/node-12-riscv64-support.patch
index 89b528aa34..dd4162123d 100644
--- a/gnu/packages/patches/node-12-riscv64-support.patch
+++ b/gnu/packages/patches/node-12-riscv64-support.patch
@@ -26575,10 +26575,10 @@ index 00000000000..13e91639c98
+#endif // V8_TARGET_ARCH_RISCV64
diff --git a/deps/v8/src/execution/riscv64/frame-constants-riscv64.h b/deps/v8/src/execution/riscv64/frame-constants-riscv64.h
new file mode 100644
-index 00000000000..f5cb13c4e63
+index 00000000000..2665a963850
--- /dev/null
+++ b/deps/v8/src/execution/riscv64/frame-constants-riscv64.h
-@@ -0,0 +1,86 @@
+@@ -0,0 +1,119 @@
+// Copyright 2021 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -26602,6 +26602,25 @@ index 00000000000..f5cb13c4e63
+ static constexpr int kCallerFPOffset = -3 * kSystemPointerSize;
+};
+
++class ExitFrameConstants : public TypedFrameConstants {
++ public:
++ static constexpr int kSPOffset = TYPED_FRAME_PUSHED_VALUE_OFFSET(0);
++ DEFINE_TYPED_FRAME_SIZES(1);
++
++ // The caller fields are below the frame pointer on the stack.
++ static constexpr int kCallerFPOffset = +0 * kPointerSize;
++ // The calling JS function is between FP and PC.
++ static constexpr int kCallerPCOffset = +1 * kPointerSize;
++
++ // MIPS-specific: a pointer to the old sp to avoid unnecessary calculations.
++ static constexpr int kCallerSPOffset = +2 * kPointerSize;
++
++ // FP-relative displacement of the caller's SP.
++ static constexpr int kCallerSPDisplacement = +2 * kPointerSize;
++
++ static constexpr int kConstantPoolOffset = 0; // Not used.
++};
++
+class WasmCompileLazyFrameConstants : public TypedFrameConstants {
+ public:
+ static constexpr int kNumberOfSavedGpParamRegs =
@@ -26661,6 +26680,20 @@ index 00000000000..f5cb13c4e63
+ }
+};
+
++class JavaScriptFrameConstants : public AllStatic {
++ public:
++ // FP-relative.
++ static constexpr int kLocal0Offset =
++ StandardFrameConstants::kExpressionsOffset;
++ static constexpr int kLastParameterOffset = +2 * kPointerSize;
++ static constexpr int kFunctionOffset =
++ StandardFrameConstants::kFunctionOffset;
++
++ // Caller SP-relative.
++ static constexpr int kParam0Offset = -2 * kPointerSize;
++ static constexpr int kReceiverOffset = -1 * kPointerSize;
++};
++
+} // namespace internal
+} // namespace v8
+