[perl #60048] [BUG] [MMD] CGP Does Not Work with PCC Runcore Reentry
Allison Randal
allison at parrot.org
Sat Dec 27 00:04:32 UTC 2008
Will Coleda via RT wrote:
>
> Apparently "remove the files" isn't exactly what was meant here. This probably removes the
> need for the remove_pic branch, which is in the process of taking this to its literal extreme.
We do need to remove the files, and the remove_pic branch is on the
right track. There's just a couple lines of code here and there that
have to be kept.
The only other place to look is in the JIT code. In src/jit.c, in the
'parrot_build_asm' function, it's using the 'pic_callr__' opcode to
invoke a NCI function/JITted sub.
src/jit.c:1624 (op_func[PARROT_OP_pic_callr___pc].fn)(jit_info, interp);
This opcode may need a new non-PIC variant, and should certainly be
converted to use one of the standard calling conventions (PCC or C).
(I can come back and look into it in a few days, I'm providing
information here to help guide anyone else who takes a crack at it.)
BTW, the other failing test in the remove_pic branch was simply because
there are fewer elements in the packfile directory now that 'pic_index'
has been removed. Fixed in r34401.
Allison
More information about the parrot-dev
mailing list