<br><br><div class="gmail_quote">On Sat, Nov 20, 2010 at 7:50 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="im">On Sat, Nov 20, 2010 at 10:28 AM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



<br>
Thanks Levente. I like this idea. I&#39;ve been doing proxies for classes,<br>
normal objects, etc and I never thought about using SmallIntegers. This is<br>
because I usually need to do a #become:   between the original object and<br>
the proxy. But in this case this is not needed, since I just need a<br>
methodDict at: put: .  And this is a good idea because I don&#39;t need an<br>
object header per proxy instance.<br>
<br>
I will try to implement this. Thank you very much for all the answers.<br>
</blockquote>
<br></div>
I did a quick implementation and it works. The only problem is that you can&#39;t swap-out a method that&#39;s used by the swap-in code.<br>
<br></blockquote></div><div><br>It doesn&#39;t work here. It seems I cannot use SmallInteger like methods. The #run:with:in: is never call and the image crashes.<br></div></div></blockquote><div><br></div></div><div>That&#39;s simply a bug and we should fix it.  What crashes, the Interpreter, Cog or both?  Prepare a reproducible test case (image, change set etc) and we can try and fix this.</div>

<div><br></div></div></blockquote><div><br>To reproduce just file in the attached cs. Then evaluate the following:<br><br>TestCase methodDict at: #assert: put: 4.<br>TestCase new assert: &#39;zaraza&#39;.<br><br>If works, you should have a debugger in SmallInteger &gt;&gt; #run:with:in:<br>
otherwise, a crash.<br><br>I&#39;ve tested in mac vms like:<br> <br>Squeak 4.2.5beta1U<br>Squeak 5.8b4<br><br>and it crash. <br>In Squeak 64-32 5.7b1   it just hangs forever (I guess at some point it will crash).<br><br>And in Cog it works perfect!  The problem is that I am using my own VM and I cannot use COG. So, if Cog has fixed this, I would like to know the changes so that to apply it to my VM.<br>
<br>Maybe it is already fixed in latest VMMaker, but I couldn&#39;t compile it....(other story)<br><br>Thanks for any help.<br><br>Mariano<br><br><br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div></div><div>best</div><div>Eliot</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div><br>Example (be carefull, it may crash your image):<br>
<br>TestCase methodDict at: #assert: put: 4.<br>
TestCase new assert: &#39;zaraza&#39;.<br><br>I am checking the VM side now to see if I find something.<br><br>Cheers<br><font color="#888888"><br>Mariano<br><br> </font></div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



<br>
Levente<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Mariano<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
<br>
Levente<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Thanks<br>
<br>
Mariano<br>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote></div></div><br>
</blockquote></div></div><br>
</blockquote></div><br>