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