<div dir="ltr">Hi Ben,<div><br><div class="gmail_extra">On Sat, Nov 2, 2013 at 5:57 PM,  <span dir="ltr">&lt;<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>&gt;</span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
I just watched [1] on Gemstone&#39;s object format and was interested to see how it uses 000 in the low order bits for direct in-memory object pointers.  I presume Spur does something similar but was curious how it specifically compares. <br>
</blockquote><div><br></div><div>I developed the SmallDouble format for 64-bit VisualWorks with help from Martin McClure :-).  The idea is essentially the same.  But in Spur theres&#39; both a 32-bit and a 64-bit version.  The 32-bit version currently doesn&#39;t use the 2nd bit, confining its tags to bits 0 &amp; 1.  Further, the 32-bit system has 31-bit SmallIntegers, so if the lsb is 1 the pointer is a SmallInteger, if the ls 2 bits are 10 it is a Character, otherwise it is a pointer to an object header.</div>
<div><br></div><div>Bit in 64-bit Spur there will be 3 tag bits and indeed SmallInteger, Character and SmallDouble are the tagged types.  Making nil true &amp; false tagged types IMO doesn&#39;t make much sense; it just complicates the fetchClassOf code.  IMO it is better to have nil-true &amp; false be normal objects, albeit at locations where they&#39;ll never move.  So no tagged nil, true &amp; false.  Otherwise its the same basic set of ideas on object representation.</div>
<div><br></div><div>HTH,</div><div>Eliot</div><div><br></div><div><br></div><div>Further, there&#39;s no object table in Spur, only flat pointers.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

[1] <a href="http://www.youtube.com/watch?v=BAFUafgEwvw" target="_blank">http://www.youtube.com/watch?<u></u>v=BAFUafgEwvw</a><br>
<br>
Also, probably not a good idea but I wondered what pros/cons there might be to just adopting Gemstone&#39;s object format.<br>
<br>
cheers -ben<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>
</div></div></div>