[webkit-reviews] review granted: [Bug 183786] Implement setupArgumentsImpl for ARM and MIPS : [Attachment 338093] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Apr 17 07:41:10 PDT 2018
Yusuke Suzuki <utatane.tea at gmail.com> has granted Dominik Inführ
<dinfuehr at igalia.com>'s request for review:
Bug 183786: Implement setupArgumentsImpl for ARM and MIPS
https://bugs.webkit.org/show_bug.cgi?id=183786
Attachment 338093: Patch
https://bugs.webkit.org/attachment.cgi?id=338093&action=review
--- Comment #15 from Yusuke Suzuki <utatane.tea at gmail.com> ---
Comment on attachment 338093
--> https://bugs.webkit.org/attachment.cgi?id=338093
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=338093&action=review
r=me with nits. Nice work!
> Source/JavaScriptCore/ChangeLog:39
> + * assembler/MacroAssemblerARMv7.h:
> + (JSC::MacroAssemblerARMv7::moveDouble):
> + * assembler/MacroAssemblerMIPS.h:
> + (JSC::MacroAssemblerMIPS::moveDouble):
> + * jit/CCallHelpers.h:
> + (JSC::CCallHelpers::setupStubCrossArgs):
> + (JSC::CCallHelpers::ArgCollection::ArgCollection):
> + (JSC::CCallHelpers::ArgCollection::pushRegArg):
> + (JSC::CCallHelpers::ArgCollection::pushExtraRegArg):
> + (JSC::CCallHelpers::ArgCollection::addGPRArg):
> + (JSC::CCallHelpers::ArgCollection::addGPRExtraArg):
> + (JSC::CCallHelpers::ArgCollection::addStackArg):
> + (JSC::CCallHelpers::ArgCollection::addPoke):
> + (JSC::CCallHelpers::ArgCollection::argCount):
> + (JSC::CCallHelpers::clampArrayToSize):
> + (JSC::CCallHelpers::calculatePokeOffset):
> + (JSC::CCallHelpers::pokeForArgument):
> + (JSC::CCallHelpers::pokeAligned):
> + (JSC::CCallHelpers::marshallArgumentRegister):
> + (JSC::CCallHelpers::setupArgumentsImpl):
> + (JSC::CCallHelpers::align2):
> + (JSC::CCallHelpers::pokeArgumentsAligned):
> + (JSC::CCallHelpers::std::is_integral<CURRENT_ARGUMENT_TYPE>::value):
> + (JSC::CCallHelpers::std::is_pointer<CURRENT_ARGUMENT_TYPE>::value):
> + (JSC::CCallHelpers::setupArguments):
> + * jit/FPRInfo.h:
> + (JSC::FPRInfo::toArgumentRegister):
Could you update this ChangeLog to reflect the change in the latest patch? You
can run `Tools/Scripts/webkit-patch upload --update-changelogs`.
> Source/JavaScriptCore/jit/CCallHelpers.h:585
> + auto updatedArgSourceRegs1 =
argSourceRegs.pushRegArg(arg.payloadGPR(),
GPRInfo::toArgumentRegister(alignedArgCount));
> + auto updatedArgSourceRegs2 =
updatedArgSourceRegs1.pushExtraRegArg(arg.tagGPR(),
GPRInfo::toArgumentRegister(alignedArgCount + 1));
OK, so can you add a comment about why we are increasing extra reg arg and not
increasing numGPRArgs by 2 instead? It is tricky if we know that JSValueRegs is
represented by two GPRRegs in 32bit function calls.
> Source/JavaScriptCore/jit/CCallHelpers.h:674
> +#if CPU(JSVALUE64)
> static_assert(FunctionTraits<OperationType>::cCallArity() ==
numGPRArgs + numFPRArgs + extraPoke, "Check the CCall arity");
> +#endif
So, can we keep this static_assert for CPU(X86) too? It is useful for keeping
32bit build sane.
More information about the webkit-reviews
mailing list