Of course, it would be more uniform if we didn't use a different calling
convention for RecordWrite, but it's important for both performance on the
fast-path and generated code size:
By using a mostly callee-save calling convention, we can avoid many spills
and unspills in generated code and do them instead in the slow-path of the
RecordWrite builtin.
We don't generally support a callee-saved calling convention since it's
difficult to support that in the presence of GC-triggering calls, but
RecordWrite can never trigger allocation, so it's easier to do a
callee-saved calling convention there. The restricted register allocation
is essentially a hack to ensure that most registers are not modified by
RecordWrite while still using Turbofan to generate the code.

On Mon, Dec 2, 2019 at 2:35 PM Yang Guo <[email protected]> wrote:

> +Michael Stanton <[email protected]> +Tobias Tebbi <[email protected]> 
> +Georg
> Neis <[email protected]>
>
> On Mon, Dec 2, 2019 at 4:42 AM <[email protected]> wrote:
>
>> Currently, the Store IR has the barrier built-in, like
>> Store[(kRepTaggedSigned : NoWriteBarrier)](10, 43, 46, 36, 59).
>> And rely one the OutOfLineRecordWrite to lower the barrier.
>>
>> Should we change it into simple Store without any built-in, and call
>> RecordWrite builtin using turbofan?
>> That approach will make RecordWrite's calling convention more consistent,
>> rather than saving all the float-points registers itself or restrict the
>> register allocation.
>>
>>
>> --
>> --
>> 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/70d469ee-4ab7-452e-a5f8-04a80c438a5c%40googlegroups.com
>> <https://groups.google.com/d/msgid/v8-dev/70d469ee-4ab7-452e-a5f8-04a80c438a5c%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/CAN54oN7J16igemDAa1iJMUeR_ueGOqeV0hTucS5gku1%3DP8z%2B3w%40mail.gmail.com.

Reply via email to