On Sun, Dec 22, 2013 at 02:34:56PM +0100, Holger Hans Peter Freyther wrote:
> Hi,
> the only regression/issue I have with the JIT is inside the DebugTools
> and e.g. the DebuggerTest>>#testCurrentLine. It happens with aContext ip
> pointing to an ip that is way beyond the bytecode of the block.
I looked a bit more, tried to remember how the jit and process changes
work and I do hit:
if UNCOMMON (!IS_NIL (switch_to_process))
{
change_process_context (switch_to_process);
if UNCOMMON (single_step_semaphore)
{
printf("SINGLE STEP...%p %d %d %d\n", thisContext,
TO_INT(thisContext->native_ip), ip,
TO_INT(thisContext->ipOffset));
_gst_async_signal (single_step_semaphore);
I stepped through the emitted code for the interrupt check and I do
see that _gst_ip is not 48 at that time and the thisContext->ipOffset
is != FROM_INT(48).
> An instance of BlockContext
> parent: [] in Process>>onBlock:at:suspend: (Process.st:412)
> nativeIP: 69535906
> ip: 48
I am puzzled of where it is set. So far I will have a look at the
interrupt checks and see if _gst_this_context_oop is set correctly.
anyone else got an idea of what I should look at/verify?
_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk