On Thu, 2004-04-15 at 00:58, Leopold Toetsch wrote: > Did you turn on debugging? Most of these name mangling and string > constant stuff should be covered, e.g.: > > $ parrot -dffff /tmp/object-meths_15.pasm 2>&1 | grep meth
Aha, here's an interesting difference. I've been using single quotes for string constants. Here's what happens when I change the double quotes around the method name to single quotes in that test: emit newclass P3, "Foo" emit find_type I0, "Foo" emit new P2, I0 emit set S0, 'meth emit fetchmethod P0, P2, S0 emit print "main\n" emit invokecc emit print "back\n" emit fetchmethod P0, P3, S0 emit set P2, P3 emit invokecc emit print "back\n" emit end emit _Foo@@@meth: emit print "in meth\n" emit invoke P1 For what it's worth, if I switch back and forth, as in this PASM: .local pmc args new args, .PerlHash set args['height'], 100 set args["width"], 100 set args['bpp'], 0 set args["flags"], 1 The debug output indicates: emit new P16, 33 emit set P16['height], 100 emit set P16["width"], 100 emit set P16['bpp], 0 emit set P16["flags"], 1 That may not be the root cause, but it's certainly suspicious. -- c