[Webkit-unassigned] [Bug 232079] [JSC][32bit] Use DataIC in Baseline JIT

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 26 12:32:01 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=232079

--- Comment #11 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 442355
  --> https://bugs.webkit.org/attachment.cgi?id=442355
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=442355&action=review

Nice, LGTM too. This patch is great

> Source/JavaScriptCore/bytecode/CallLinkInfo.cpp:309
> +        // FIXME: This scratch register is not generally safe to use on ARMv7, as the macro
> +        //        assembler always assumes it is available. At the moment, it does happen to work
> +        //        with the code below.

this is the same for all the macro assemblers, hence the DisallowMacroScratchRegisterUsage scope. Don't think we need a FIXME here

> Source/JavaScriptCore/jit/CCallHelpers.h:874
> +    template <typename OperationType, unsigned ArgNum, unsigned Index = ArgNum, typename... Args>
> +    static constexpr JSValueRegs pickJSR(GPRReg first, Args... rest)
> +    {
> +        static_assert(sizeOfArg<OperationType, ArgNum - Index>() <= 8, "Don't know how to handle large arguments");
> +        if constexpr (!Index)
> +            return JSValueRegs { first };
> +        else {
> +            UNUSED_PARAM(first); // Otherwise warning due to constexpr
> +            return pickJSR<OperationType, ArgNum, Index - 1>(rest...);
> +        }
> +    }

can't this just construct a tuple and return std::get<Index>?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20211026/0a403cfc/attachment.htm>


More information about the webkit-unassigned mailing list