Oh sorry, I ignore it. Apply this patch ``` plct-dev-7:~/source/node $ git diff diff --git a/deps/v8/src/codegen/interface-descriptors.h b/deps/v8/src/codegen/interface-descriptors.h index b56611c5b8..7cb88e7261 100644 --- a/deps/v8/src/codegen/interface-descriptors.h +++ b/deps/v8/src/codegen/interface-descriptors.h @@ -1737,7 +1737,7 @@ class BaselineLeaveFrameDescriptor class OnStackReplacementDescriptor : public StaticCallInterfaceDescriptor<OnStackReplacementDescriptor> { public: - DEFINE_PARAMETERS(kMaybeTargetCode) + DEFINE_PARAMETERS_NO_CONTEXT(kMaybeTargetCode) DEFINE_PARAMETER_TYPES(MachineType::AnyTagged()) // kMaybeTargetCode DECLARE_DESCRIPTOR(OnStackReplacementDescriptor) ``` everything is good. But I don't find root reason cause issue on riscv.
在2023年3月29日星期三 UTC+8 17:14:08<les...@chromium.org> 写道: > The difference is that the old BaselineOnStackReplacementDescriptor was > defined as having no context register (DEFINE_PARAMETERS_NO_CONTEXT > vs DEFINE_PARAMETERS). It's not clear why this causes issues on riscv and > not other architectures though... > > On Wed, Mar 29, 2023 at 8:42 AM Yahan Lu <ya...@iscas.ac.cn> wrote: > >> The detailed commit >> https://github.com/luyahan/nodejs-riscv64/commits/root-code >> >> 在2023年3月29日星期三 UTC+8 14:40:59<Yahan Lu> 写道: >> >>> After patch >>> ``` >>> plct-dev-7:~/source/node $ git diff HEAD^ >>> diff --git a/deps/v8/src/builtins/builtins-definitions.h >>> b/deps/v8/src/builtins/builtins-definitions.h >>> index c793ef521f..175acbd495 100644 >>> --- a/deps/v8/src/builtins/builtins-definitions.h >>> +++ b/deps/v8/src/builtins/builtins-definitions.h >>> @@ -190,7 +190,7 @@ namespace internal { >>> /* Baseline Compiler */ >>> \ >>> ASM(BaselineOutOfLinePrologue, BaselineOutOfLinePrologue) >>> \ >>> ASM(BaselineOutOfLinePrologueDeopt, Void) >>> \ >>> - ASM(BaselineOnStackReplacement, OnStackReplacement) >>> \ >>> + ASM(BaselineOnStackReplacement, BaselineOnStackReplacement) >>> \ >>> ASM(BaselineLeaveFrame, BaselineLeaveFrame) >>> \ >>> ASM(BaselineOrInterpreterEnterAtBytecode, Void) >>> \ >>> ASM(BaselineOrInterpreterEnterAtNextBytecode, Void) >>> \ >>> >>> ``` >>> The riscv issue(https://bugs.chromium.org/p/v8/issues/detail?id=13836) >>> be fixed. But in my understanding, OnStackReplacementDescriptor is the same >>> as BaselineOnStackReplacementDescriptor. >>> >>> refer: >>> 1. >>> https://chromium-review.googlesource.com/c/v8/v8/+/3859850/13/src/codegen/interface-descriptors-inl.h#373 >>> >> -- >> -- >> v8-dev mailing list >> v8-...@googlegroups.com >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to v8-dev+un...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-dev/f3512692-7d3e-4229-8e6d-8ccd0a3fc385n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/v8-dev/f3512692-7d3e-4229-8e6d-8ccd0a3fc385n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/34afad17-5480-4ae6-9e5c-d605f273631bn%40googlegroups.com.