Jonathan Sillito wrote: [snip] > -inline op invoke(in PMC) { +inline op call(in PMC) { > opcode_t *dest; > - PMC * p = $1; > - > - dest = (opcode_t *)p->vtable->invoke(interpreter, p, expr NEXT()); > - > + PMC * sub = $1; > + dest = (opcode_t *)p->vtable->invoke(interpreter, sub, expr NEXT()); > goto ADDRESS(dest); > }
You've removed the 'p' variable, but are still referring to 'p'. Oops. Also, why isn't invoke being called through a VTABLE macro? dest = (opcode_t *)VTABLE_invoke(interpreter, sub, expr NEXT()); [I think.] Hmm, now that the macros exist, should we grep through perl's source, and change all vtable accesses to use them? -- $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED] ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}