🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.prolog
2 messages
2 total messages Started by Tong Bo-Ming Thu, 29 Oct 1992 09:13
Prolog compilers for RISC architectures
#22
Author: Tong Bo-Ming
Date: Thu, 29 Oct 1992 09:13
7 lines
787 bytes
Is it possible for Prolog compilers to take advantage of the large number
of registers in RISC architectures ?  If the compiler is WAM-based, this
seems very difficult.  Are there any register allocation schemes which
can get around this problem ?

							Tong Bo-Ming
							bmtong@cs.cuhk.hk
Re: Prolog compilers for RISC architectures
#29
Author: Andrew Taylor
Date: Fri, 30 Oct 1992 20:49
21 lines
1777 bytes
In article <1992Oct29.091339.20207@cucs5.cs.cuhk.hk> bmtong@cucs11.cs.cuhk.hk (Tong Bo-Ming) writes:
>Is it possible for Prolog compilers to take advantage of the large number
>of registers in RISC architectures ?  If the compiler is WAM-based, this
>seems very difficult.  Are there any register allocation schemes which
>can get around this problem ?

Inter-procedural(predicate) register allocation is one way to soak
up excess registers. This can be applied in a native code Prolog compiler
just has been done with imperative languages.

You must take garbage collection into account.  Many garbage collectors
need to know which registers are valid at the program point at which they
have been invoked. This requires passing information describing the "global"
registers. The alternative is to use a robust garbage collector
but this (I think) would require all stack words to be tagged.

I can't see the point in extending the WAM do this but it might be useful
in a native code global analysis-based Prolog compiler (see papers by me or by
Peter van Roy).

Andrew Taylor
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads