Re: SPARC tagged data (Chris Dollin)
7 May 91 09:35:47

          From comp.compilers

Related articles
SPARC tagged data (1991-04-29)
Re: SPARC tagged data (Eric Benson) (1991-04-30)
Re: SPARC tagged data (1991-04-30)
Re: SPARC tagged data weitek!weaver@Sun.COM (1991-04-30)
Re: SPARC tagged data (1991-05-07)
Re: SPARC tagged data (1991-05-08)
Re: SPARC tagged data (1991-05-09)
Re: SPARC tagged data (1991-05-10)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Chris Dollin)
In-Reply-To:'s message of 30 Apr 91 12:32:34 GMT
Keywords: Lisp, design, optimize
Organization: Hewlett-Packard Laboratories, Bristol, UK.
References: <> <>
Date: 7 May 91 09:35:47

Eliot Moss says:

      Well, I cannot speak for SPARC and say what the instructions were DESIGNED
      for, but as the moderator pointed out, they can be used to good effect in
      implementing languages such as Smalltalk and LISP, which used tagging to
      distinguish (small, i.e., 30-bit) integers from pointers. One uses a tag of
      00 in the low bits for integers, and a tag of 01 (say) for pointers. All
      offsets from pointers are scaled by -1 to compensate for the 01 in the low

Doesn't this choice make inter-language working unnecessarily hard? It means
that structures containing pointers cannot be safely passed to (say) C
routines, because all the pointer values are wrong. (Structures that you
pass to foreign procedures need their numbers raw anyway.) Seems to me that
the fixnum tag should have been something other than 0.

Isn't it nice when hardware does *almost* what you want?
Regards, Kers.

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.