Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!news2.arglkargh.de!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.forth Subject: Re: Static Single Assignment form to Stack allocation Date: Fri, 06 Feb 2015 12:05:22 -0800 Organization: A noiseless patient Spider Lines: 13 Message-ID: <877fvukdq5.fsf@jester.gateway.pace.com> References: <82c4c3dc-7692-4d03-a447-9bdd54ff9387@googlegroups.com> <2015Feb6.142225@mips.complang.tuwien.ac.at> <26b59aed-f1a6-4ccb-90ad-69c36b1abb89@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="44a1a8b80b81c978e907b3914c782a0e"; logging-data="7923"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+aykb1jIz5q2VDsBXOtR0J" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:z+vOzg9tFZJl9qnLOJLVy9Cdhts= sha1:sObQWsBPWvTtGwXeJT8iy5VXuIE= Xref: csiph.com comp.lang.forth:36337 Aliaksei Chapyzhenka writes: > * I try staing with core Forth vocabulary (DROP, SWAP, DUP, > Constant_PICK, >R, R>, ...) Constant_PICK is certainly not part of the core Forth vocabulary. Once you have it, locals are basically free. The difficulties come from being able to access only the top one or two stack elements. > I am aware of most references above: ... I don't think Jelvis's compiler uses SSA, but it goes to some pretty extreme optimization measures and the techniques may be relevant. See: http://jelv.is/chlorophyll.pdf