<br><br><div class="gmail_quote">On Sat, Jan 28, 2012 at 2:23 PM, Andreas Raab <span dir="ltr"><<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div class="h5"><br>
On 1/28/2012 23:09, Igor Stasenko wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Another reason why we need such prim: have you tried to debug a debugger?<br>
You can't , because there is a simulation guard:<br>
<br>
<primitive: 19> "Simulation guard"<br>
"If successful, push result and return resuming context,<br>
else ^ PrimitiveFailToken"<br>
(primitiveIndex = 19) ifTrue:<br>
[Smalltalk tools<br>
debugContext: self<br>
label:'Code simulation error'<br>
contents: nil].<br>
<br>
This is because you cannot instruct VM that the code you stepping over<br>
should not escape out of your control.<br>
</blockquote>
<br></div></div>
Sorry, but that's not what the simulation guard is for. Historically the VM would just crash when trying to simulate certain methods (like the above). So I put in simulation guards to prevent VM crashes. If the VM can simulate these methods, then you can just take them out.<br>
</blockquote><div><br></div><div>Quite right. I ripped it out of the Qwaq/Teleplace codebase without ill-effect. I need to do that for Squeak. Thanks for the reminder. Simply remove the <primitive: 19> nonsense from doPrimitive:. </div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br><font color="#888888">
- Andreas<br>
<br>
</font></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>