I think this is an unnecessary additional load, though I also wouldn't expect it to cause issues.
On Fri, Mar 31, 2023 at 3:08 PM Yahan Lu <[email protected]> wrote: > I have a question about builtins-arm64.cc? > > void Builtins::Generate_InterpreterOnStackReplacement(MacroAssembler* > masm) { > using D = OnStackReplacementDescriptor; > static_assert(D::kParameterCount == 1); > OnStackReplacement(masm, OsrSourceTier::kInterpreter, > D::MaybeTargetCodeRegister()); > } > void Builtins::Generate_BaselineOnStackReplacement(MacroAssembler* masm) { > using D = OnStackReplacementDescriptor; > static_assert(D::kParameterCount == 1); > > __ ldr(kContextRegister, > MemOperand(fp, BaselineFrameConstants::kContextOffset)); > OnStackReplacement(masm, OsrSourceTier::kBaseline, > D::MaybeTargetCodeRegister()); > } > InterpreterOnStackReplacement and BaselineOnStackReplacement has the > same Descriptor. But why only load kContextRegister > in BaselineOnStackReplacement? > > 在2023年3月29日星期三 UTC+8 17:14:08<[email protected]> 写道: > >> 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 <[email protected]> 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 >>> [email protected] >>> 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 [email protected]. >>> 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 > [email protected] > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/5e7dcb7c-e0fc-4ad1-b79c-5e2b47d08e9fn%40googlegroups.com > <https://groups.google.com/d/msgid/v8-dev/5e7dcb7c-e0fc-4ad1-b79c-5e2b47d08e9fn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- -- v8-dev mailing list [email protected] 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv_RKhtS25bBV0-LegSidNWemXdzyAtdyEg%3DHn0jvJBzVw%40mail.gmail.com.
