Allocation of PASM registers (in PASM mode)
Allison Randal
allison at parrot.org
Tue Jan 13 20:09:07 UTC 2009
Geoffrey Broadwell wrote:
>
> If PASM really is a direct human-compatible
> representation of bytecode, then we must always maintain the two key
> identities:
>
> * PBC == compile(dump(PBC))
> * compile(PASM) == compile(dump(compile(PASM)))
A lot depends on who the target audience is for PASM. If it's primarily
a debugging tool, then literal registers are important. Also, if PASM is
primarily generated or dumped from bytecode, then it will usually
already have a sane register allocation algorithm run on it somewhere
before the actual PASM is produced.
Do we anticipate anyone writing PASM by hand, aside from test scripts or
small experiments? PIR is the language we generally recommend for
substantial low-level development.
Allison
More information about the parrot-dev
mailing list