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