Am Dienstag, 27. März 2007 16:19 schrieb Andy Dougherty:
> Many of the examples in examples/shootout specify preferred flags.  For
> example, ack.pir starts with
>
>     #!./parrot -Oc -Cj
>
> I don't know what -Oc does.  docs/running.pod doesn't say.  It refers to
> the non-existent F<imcc/docs/operation.pod> for more details.  

Sorry for the underdocumentation, -Oc turns on the optional/experimental tail 
call optimizations, which is visible at:
$ find . -type f -name '*.c' | xargs grep OPT_SUB
./compilers/imcc/pcc.c:    if (tail_call && IMCC_INFO(interp)->optimizer_level 
& OPT_SUB) {
...

(the OPT_SUB bit is following directly out of -Oc parsing 
in /compilers/imcc/main.c)

Sorry^2: docs/imcc/operation.pod # moved long time ago ;)

> I found 
> what I presume is that file in F<docs/imcc/operation.pod>, but that
> doesn't say anything about -Oc either.  Oh well.  
>
> Ignoring that for the moment, the second set of flags is the problem.
> On a system with neither -C nor -j, t/examples/shootout.t would leave
> the second argument there as a plain '-'.  Parrot would then sit waiting
> forever for stdin, and the test suite would hang.

Yep. And some of the tests might be boringly slow, if $platform doesn't have 
these runtime options, so that skipping these tests should be preferable in 
that case.

Thanks,
leo

Reply via email to