<div dir="ltr"><div>That's extremely helpful, thank you, Clément!</div><div><br></div><div>For anyone interested, this is about being able to run the upcoming Pharo release on SqueakJS, specifically for Erik's CodeParadise project:</div><div><a href="https://github.com/ErikOnBike/CodeParadise">https://github.com/ErikOnBike/CodeParadise</a><br></div><div><a href="https://github.com/codefrau/SqueakJS/issues/108">https://github.com/codefrau/SqueakJS/issues/108</a><br></div><div><br></div><div>I don't know yet how much time I can personally invest in the near future, but if you are interested in helping out, let's discuss here.</div><div><br></div><div>I myself have been busy helping Dan Ingalls build his Smalltalk Zoo website with examples linked from the just-published HOPL paper:<br></div><div><a href="https://smalltalkzoo.computerhistory.org/papers/EvolutionOfSmalltalk.pdf">https://smalltalkzoo.computerhistory.org/papers/EvolutionOfSmalltalk.pdf</a> (this is a version with corrections done after publication)<br></div><div><br></div><div>Vanessa</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 29, 2020 at 10:50 PM Clément Béra <<a href="mailto:bera.clement@gmail.com">bera.clement@gmail.com</a>> 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"> <div dir="ltr">Hi Vanessa,<div><br></div><div>There should be a class comment in the EncoderForSistaV1 class describing all the bytecodes. Below is the class comment, I stroke through all the bytecodes you don't need to implement since they are unused, required only for the adaptive optimizer or clean/copying block optimizations. </div><div><br></div><div>It's possible not to implement the FullBlockClosure creation bytecode at first if you run only images with the old block design. Once the FullBlockClosure creation bytecode is there, you also need the "Send To Superclass of Stacked Class Literal Selector", so that a super send can be encoded in a CompiledBlock. FullBlockClosure requires an extra primitive for evaluation. Besides FullBlockClosure, everything should be pretty straightforward.</div><div><br></div><div>Best!</div><div>[... snip ...]</div></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><span style="font-size:12.8px">Clément Béra<br></span><span style="color:rgb(0,0,238)"><a href="https://clementbera.github.io/" target="_blank">https://clementbera.github.io/</a></span><div style="font-size:12.8px"><a href="https://clementbera.wordpress.com/" target="_blank">https://clementbera.wordpress.com/</a></div></div></div></div></div></div>
</blockquote></div></div>