On Sat Apr 12 20:20:30 2008, rgrjr wrote:
>   There are only a few uses/references left in the
> codebase:
> 
>       /usr/src/parrot/docs/pdds/draft/pdd06_pasm.pod
>       /usr/src/parrot/docs/pdds/draft/pdd19_pir.pod
>       /usr/src/parrot/editor/kate_syntax.pl
>       /usr/src/parrot/languages/BASIC/compiler/compile.pl
>       /usr/src/parrot/tools/util/ncidef2pasm.pl
> 

Of these five files, the only ones that we (or, more to the point, I)
could not safely do right away is languages/BASIC/compiler/compile.pl. 
This is the only instance where it appears to my untrained eyes that the
ops are actually used.

    print CODE<<EOD;
        .sub ${seg}_debug
                saveall
                .param int debline
                find_global \$P0, "DEBUGGER"
                \$I0= \$P0["step"]
                ne \$I0, 0, DEBUGGER_STOP
                \$P1= \$P0["break"]
                \$I0= \$P1
                eq \$I0, 0, DEBUGGER_DONE  # No breakpoints
                \$S0= debline
                exists \$I0, \$P1[\$S0]
                eq \$I0, 0, DEBUGGER_DONE        # This breakpoint
doesn't exist
        DEBUGGER_STOP:
                \$P1=new .Hash
@debdecl                .arg \$P1
                .arg debline
                _DEBUGGER_STOP_FOR_REAL()
        DEBUGGER_DONE: noop
        .end    # End debug segment
.end    # End outer segment
EOD

...

    print CODE<<FOO;
.sub _DEBUG_INIT
        saveall
        \$P0=new .ResizablePMCArray
        find_global \$P1, "DEBUGGER"
FOO

This code appears to have been developed by Colin Kuskie, who was mostly
active in Sept 2007.

Two of the other files are drafts of PDDs.  If we remove saveall and
restoreall from the code, we don't have to document it anymore.

Another file has to do with KATE syntax highlighting.  I am not familiar
with this (any KDE-users out there?).  But it appears that the terms
merely appear in a list of terms to get some particular highlighting.

my @imcc_oplike = qw(.sym .arg prototyped non_prototyped .class
    .endclass .param inc dec new defined addr global clone saveall
    restoreall);

The usages in ncidef2pasm.pl appear to have nothing per se to do with
these ops:

# To start, save all the registers, just in case
print $OUTPUT "saveall\n";

...

# Put the registers back and end
print $OUTPUT "restoreall\n";
print $OUTPUT "end\n";

So if we can deal with the BASIC instance, I think we can proceed.

kid51

Reply via email to