[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