On Thu, Oct 04, 2007 at 10:46:02PM -0700, Allison Randal wrote:
> Patrick R. Michaud wrote:
> >  $ ./parrot -t1 y.pir
> >       0 get_class P1, PC4                P1=PMCNULL PC4=Key=PMC(0x92b690)
> >       3 set P2, P1                       P2=PMCNULL P1=(null)
> >       6 get_hll_namespace P0, PC4        P0=PMCNULL PC4=Key=PMC(0x92b690)
> >       9 get_class P1, P0                 P1=(null) 
> >       P0=NameSpace=PMC(0x930e90)
> >      12 set P2, P1                       P2=(null) P1=(null)
> >      15 end
> >  $
> >
> >Here I see both "PMCNULL" and "(null)" in the register values -- what's
> >the difference between them?
> 
> Hmmm... when I run the exact same code with the exact same flags (on the 
> pdd15oo branch) I get:
> 
>  0 get_class P1, PC4           P1=PMCNULL PC4=Key=PMC(0x18e6580)
>  3 set P2, P1                  P2=PMCNULL P1=PMCNULL
>  6 get_hll_namespace P0, PC4   P0=PMCNULL PC4=Key=PMC(0x18e6580)
>  9 get_class P1, P0            P1=PMCNULL P0=NameSpace=PMC(0x18c2e10)
> 12 set P2, P1                  P2=PMCNULL P1=PMCNULL
> 15 end
> 
> There's a good chance that I fixed the bug in one of my other fixes 
> today. There was a problem with the return values from get_class causing 
> segfaults (which I fixed with better condition checking).

This appears to be what happened -- I now get the same results
that you have, where everything is PMCNULL.  Thanks!

Pm

Reply via email to