From: | nmm1@cam.ac.uk |
Newsgroups: | comp.compilers,comp.arch |
Date: | Fri, 5 Dec 2008 09:37:17 +0000 (GMT) |
Organization: | University of Cambridge |
References: | 08-12-014 08-12-016 |
Keywords: | architecture, history |
Posted-Date: | 05 Dec 2008 10:19:17 EST |
bert <bert.hutchings@btinternet.com> wrote:
>On 4 Dec, 18:09, "Tony" <t...@my.net> wrote:
>> To me, it seems like "reducing everything to a function" may be a bit
>> dated given that OO languages are the thing nowadays. Can anyone
>> imagine any new potential assembly language instructions that would
>> make implemention of OO languages easier? (Not just necessarily the
>> function thing, but anything).
I doubt it. Code generation isn't the problem with those.
>I don't know about new ones, but how about resurrecting some old ones?
>At least two different computers of the 1960's had an 'indirect' bit
>at the high end of an address word, meaning that it pointed to another
>word containing an address. In its turn, that might have the high bit
>set, etcetera. An instruction to load a datum or an address would
>follow such a chain of indirections until it reached the
>actually-wanted item. I know this was very good for Prolog
>implementations.
>
>[Indirect addressing was quite common through the 1970s. The PDP-11
>and VAX had it. But I gather that it's a challenge to implement
>efficiently, and if the machine has a lot of registers, it doesn't gain
>you much. -John]
Yes. It's more a programmer convenience than anything else. Provided
that the chain is required to be short, it is functionally equivalent
to just using a hidden register for the intermediate address. Unlike
the multi-address instructions, it does not require simultaneous
access to two cache lines, so doesn't need special memory support.
Regards,
Nick Maclaren.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.