<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 28, 2017 at 12:03 AM, tim Rowledge <span dir="ltr"><<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
<br>
> On 27-12-2017, at 2:56 PM, Clément Bera <<a href="mailto:bera.clement@gmail.com">bera.clement@gmail.com</a>> wrote:<br>
><br>
><br>
> Assembling a word when reads are not aligned with the writes seemed tedious - not sure if that's the best time invested/speed-up ratio. One could experiment.<br>
><br>
</span>It’s just an  8bpp bitblt on a single line. We kinda-sorta have code for that lying around.<br>
<br>
How about handling any simple cases you can come up with and failing to the (usually) intrinsic memcpy() ? Take advantage of those 4 people’s months of work!<br></blockquote><div><br></div><div>We can't do that. Unfortunately our primitives allow things that memcopy does not such as:</div><div><br></div><div><font face="monospace, monospace">array := ByteArray new: 1000.</font></div><div><font face="monospace, monospace">array at: 1 put: 255.</font></div><div><font face="monospace, monospace">array replaceFrom: 2 to: 500 with: array startingAt: 1.</font></div><div><font face="monospace, monospace">array at: 501 put: 42.</font></div><font face="monospace, monospace">array replaceFrom: 502 to: 1000 with: array startingAt: 501.</font><div><br></div><div>Or we detect aliasing and fall back to C code if there is aliasing ...</div><div><br></div><div>...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" rel="noreferrer" target="_blank">http://www.rowledge.org/tim</a><br>
All programmers are playwrights and all computers are lousy actors.<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><span style="font-size:12.8px">Clément Béra</span><div style="font-size:12.8px">Pharo consortium engineer</div><div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a><br></div><div style="font-size:12.8px"><span style="line-height:16px">Bâtiment B 40, avenue Halley 59650 </span><span style="font-weight:bold;line-height:16px">Villeneuve d'Ascq</span></div></div></div>
</div></div>