Hi guys. I would really appreciate if someone could explain me the following. I have this class:<br><br>Object subclass: #FooClass<br>    instanceVariableNames: &#39;var1 var2 var3 var4 var5&#39;<br>    classVariableNames: &#39;&#39;<br>
    poolDictionaries: &#39;&#39;<br>    category: &#39;Prueba&#39;<br><br>With this method:<br><br>FooClass &gt;&gt; foo<br>    Transcript show: var5 asString.<br><br>And then I have this class:<br><br>Object subclass: #AnotherClass<br>
    instanceVariableNames: &#39;age&#39;<br>    classVariableNames: &#39;&#39;<br>    poolDictionaries: &#39;&#39;<br>    category: &#39;Prueba&#39;<br><br><br>Now, I run this test:<br><br>    | inst |<br>    inst := AnotherClass new.<br>
    inst age: 42.<br>    (FooClass &gt;&gt; #foo) valueWithReceiver: inst arguments: #() <br>    <br><br>So...I am evaluating the CompiledMethod installed on #foo on &quot;inst&quot;. The compiledMethod has a bytecode (04) for accessing the var5. But &quot;inst&quot; only have one instVar. So....shouldn&#39;t that be a crash? because the VM is accessing outside the object... so, the test doesn&#39;t crash and in fact, it prints &quot;1&quot;. I don&#39;t know what number means.<br>
<br>I took a look to <br><br>StackInterpreter &gt;&gt; pushReceiverVariable: fieldIndex<br><br>    self internalPush: (objectMemory fetchPointer: fieldIndex ofObject: self receiver).<br><br>But I guess that should crash.<br>
<br>Thanks for any tip,<br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>