<div dir="ltr"><br><br><div class="gmail_quote">On Fri, Jul 25, 2008 at 2:46 AM, Paolo Bonzini &lt;<a href="mailto:bonzini@gnu.org">bonzini@gnu.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d">Stéphane Ducasse wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I was happily browsing code when I suddenly encountered that method<br>
Does anybody know what it measn to return #compiledMethod?<br>
</blockquote>
<br></div>
That you have half literals (pointers) and half bytecodes (bytes) in the indexed instance variables. &nbsp;This was probably done in the blue book for size optimization, but it is much less relevant today.</blockquote><div><br>
</div><div>I disagree that its less relevant. &nbsp;These hybrid things are more compact and faster to interpret. &nbsp;That can still be useful, e.g. on pocket phones. &nbsp;See my blog post that discusses this in some detail.</div><div>
<br></div><div><a href="http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/">http://www.mirandabanda.org/cogblog/2008/06/17/bluebook-compiledmethods-having-our-cake-and-eating-it-too/</a><br>
</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="Wj3C7c"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
typeOfClass<br>
 &nbsp; &nbsp;&quot;Answer a symbol uniquely describing the type of the receiver&quot;<br>
 &nbsp; &nbsp;self instSpec = CompiledMethod instSpec ifTrue:[^#compiledMethod]. &quot;Very special!&quot;<br>
 &nbsp; &nbsp;self isBytes ifTrue:[^#bytes].<br>
 &nbsp; &nbsp;(self isWords and:[self isPointers not]) ifTrue:[^#words].<br>
 &nbsp; &nbsp;self isWeak ifTrue:[^#weak].<br>
 &nbsp; &nbsp;self isVariable ifTrue:[^#variable].<br>
 &nbsp; &nbsp;^#normal.<br>
<br>
<br>
</blockquote>
<br>
<br>
</div></div></blockquote></div><br></div>