<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 <<a href="mailto:bera.clement@gmail.com">bera.clement@gmail.com</a>> 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"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></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. So encoders must implement maxIndexableLiterals. The default form the Blue Book bytecode set is only 63. EncoderForV3 answers 256. 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. </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);"> encoder </span><span style="background-color: rgba(255, 255, 255, 0);">maxIndexableLiterals min: method 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 method maxIndexableLiterals answers 32,767. 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>>maxIndexableLiterals (in category 'accessing') -----<br>
+ maxIndexableLiterals<br>
+ "Answer the maximum number of literals supported by the receiver's<br>
+ bytecode set."<br>
+ ^65536!<br>
<br>
Item was added:<br>
+ ----- Method: EncoderForSistaV1>>maxIndexableLiterals (in category 'accessing') -----<br>
+ maxIndexableLiterals<br>
+ "Answer the maximum number of literals supported by the receiver's<br>
+ bytecode set."<br>
+ ^65536!</blockquote></div></div></div>
</div></blockquote><br><div><span style="background-color: rgba(255, 255, 255, 0);"><br>_,,,^..^,,,_ (phone)</span></div></body></html>