[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-devel
Subject:    Re: [Sbcl-devel] A smallish project on store-barrier elision
From:       Douglas Katzman via Sbcl-devel <sbcl-devel () lists ! sourceforge ! net>
Date:       2022-04-23 19:09:01
Message-ID: CAOrNasy+bp7S8rkepK9SUFvZmjnFyO2CoQOXB1iFKzQ7FWF_cw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Absolutely. A similar situation occurs with setting a <k,v> in a
hash-table.  That's slightly unique because it's only correct to collapse
barriers that mark the same card, which they will for even+odd vector
elements, or for anything non-vector.  INSTANCE-SET-MULTIPLE is a hack that
deals with the latter case for structure constructors.

On Sat, Apr 23, 2022 at 2:54 PM Stas Boukarev <stassats@gmail.com> wrote:

> I'm thinking that emit-gc-store-barrier should get its own VOP, or a
> combination.
> To help with optimizing
>
>   (setf (car x)  y  (cdr x) z)
>
> to issue only one store.
>
> With some pass before ir2-convert that inserts a barrier, and then
> some pass that can eliminate them.
>
>

[Attachment #5 (text/html)]

<div dir="ltr"><div dir="ltr">Absolutely. A similar situation occurs with setting a \
&lt;k,v&gt; in a hash-table.   That&#39;s slightly unique because it&#39;s only \
correct to collapse barriers that mark the same card, which they will for even+odd \
vector elements, or for anything non-vector.   INSTANCE-SET-MULTIPLE is a hack that \
deals with the latter case for structure constructors.</div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 23, 2022 at 2:54 PM \
Stas Boukarev &lt;<a href="mailto:stassats@gmail.com">stassats@gmail.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I&#39;m thinking that \
emit-gc-store-barrier should get its own VOP, or a<br> combination.<br>
To help with optimizing<br>
<br>
   (setf (car x)   y   (cdr x) z)<br>
<br>
to issue only one store.<br>
<br>
With some pass before ir2-convert that inserts a barrier, and then<br>
some pass that can eliminate them.<br><br>
</blockquote></div></div>





_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic