On Thu, Apr 28, 2011 at 5:00 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
 


On Thu, Apr 28, 2011 at 1:42 PM, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote:
 
On 28.04.2011 13:25, Mariano Martinez Peck wrote:
 


No one?  and if I need to intercept this messages inside the VM, is there another special place than the regular #commonSend ?

Thanks

On Sat, Apr 16, 2011 at 4:05 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi. Sorry for my ignorance, but I remember hearing about that evaluating stuff from a workspace may not be the best choice when we want to test stuff on Cog. And in fact, today I suffered that. I put a breakpoint in the method lookup, where the dnu is thrown. And then from a workspace I executed:

TestCase new adasdassad

And didn't stop. Then I put that in a method:

MyClass >> blah
TestCase new asdadsadasda

And did MyClass new blah

and the breakpoint stop....So, can someone explain me what black magic happens with the Workspace?  is something related to the Compiler evaluation ?

Thanks in advance,

--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com

IIRC, code evaluated by doits is always jitted.

Ahaaa interesting :)
Do you know how this is done (internally)? I mean, because it needs to scape the normal execution...

You're the one who's looking at the VM.  Why don't you try and trace execution of a doit (hint, the method is now executed via primitive 188 withArgs:executeMethod:)?  Read the code in the VM.  You might even find the comment that explains it.

 
Thans Henry,

Thus you won't hit a breakpoint in method lookup code which is only invoked by non-jitted calls.

In the second case, statement MyClass blah is jitted, and (as long as other jitting-conditions have not been met) "TestCase new asdadsadasda" is interpreted normally, so the breakpoint is encountered.

Cheers,
Henry





--
Mariano
http://marianopeck.wordpress.com