<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi Clément,<br><br></div><div><div><br><br><span style="background-color: rgba(255, 255, 255, 0);">_,,,^..^,,,_ (phone)</span></div>On Jun 15, 2016, at 11:12 PM, Clément Bera &lt;<a href="mailto:bera.clement@gmail.com">bera.clement@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><span></span></div></blockquote><blockquote type="cite"><div><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 15, 2016 at 11:40 PM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Eliot Miranda uploaded a new version of BytecodeSets to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/BytecodeSets.spur-eem.54.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/VMMaker/BytecodeSets.spur-eem.54.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: BytecodeSets.spur-eem.54<br>
Author: eem<br>
Time: 15 June 2016, 2:39:35.207556 pm<br>
UUID: ff813806-d8f8-473b-bacc-b0bc62f10c40<br>
Ancestors: BytecodeSets.spur-cb.53<br>
<br>
In Squeak the compiler checks for exceeding the number of available literals at compile time.&nbsp; So encoders must implement maxIndexableLiterals.&nbsp; The default form the Blue Book bytecode set is only 63.&nbsp; EncoderForV3 answers 256.&nbsp; Both NewspeakV4 and SistaV1 should answer 65536.<br></blockquote><div><br></div><div>In SistaV1 there's a bit to mark if the method has counters or not. So 32.000.&nbsp;</div></div></div></div></div></blockquote><div><br></div><div><div><span style="background-color: rgba(255, 255, 255, 0);">I'm on my phone so I can't show you the code but the compiler uses</span></div><div><span style="background-color: rgba(255, 255, 255, 0);">&nbsp;&nbsp;encoder&nbsp;</span><span style="background-color: rgba(255, 255, 255, 0);">maxIndexableLiterals min: method&nbsp;maxIndexableLiterals</span></div></div><div><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div><span style="background-color: rgba(255, 255, 255, 0);">and so&nbsp;method&nbsp;maxIndexableLiterals answers 32,767. &nbsp;The limitation in the bytecode set is indeed 64k, but the limit in the compiled method header is 32k.</span></div><br><blockquote type="cite"><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
=============== Diff against BytecodeSets.spur-cb.53 ===============<br>
<br>
Item was added:<br>
+ ----- Method: EncoderForNewsqueakV4&gt;&gt;maxIndexableLiterals (in category 'accessing') -----<br>
+ maxIndexableLiterals<br>
+&nbsp; &nbsp; &nbsp; &nbsp;"Answer the maximum number of literals supported by the receiver's<br>
+&nbsp; &nbsp; &nbsp; &nbsp; bytecode set."<br>
+&nbsp; &nbsp; &nbsp; &nbsp;^65536!<br>
<br>
Item was added:<br>
+ ----- Method: EncoderForSistaV1&gt;&gt;maxIndexableLiterals (in category 'accessing') -----<br>
+ maxIndexableLiterals<br>
+&nbsp; &nbsp; &nbsp; &nbsp;"Answer the maximum number of literals supported by the receiver's<br>
+&nbsp; &nbsp; &nbsp; &nbsp; bytecode set."<br>
+&nbsp; &nbsp; &nbsp; &nbsp;^65536!</blockquote></div></div></div>
</div></blockquote><br><div><span style="background-color: rgba(255, 255, 255, 0);"><br>_,,,^..^,,,_ (phone)</span></div></body></html>