On Sunday 19 October 2008 14:02:58 Klaas-Jan Stol wrote:

> when running code as this:
> .sub main :immediate
>   load_bytecode "foo.pir"
> .end
>
> (assuming you have a file 'foo.pir'), IMCC can't handle this.
>
> This is because in pbc.c, a global structure called 'globals' is used to
> allow the different functions to share access to some data (in particular,
> the code segment stuff).
>
> As documented by a warning in imcc's sources, a load_bytecode will trigger
> a (nested) compilation phase, which will overwrite this data.
>
> Parrot won't output anything (windows) , possibly segfaulting.
>
> The fix would be to store this 'globals' structure in the imcc_info
> structure (I think).

I've done that in r32461 and r32462, but it doesn't fix the problem 
completely.  We need to dig further into it.

-- c

Reply via email to