[comp.unix.wizards] pointer alignment when int != ch

aglew%mycroft@gswd-vms.Gould.COM (Andy Glew) (07/30/87)

>>I am aware of a seriously developed architecture where "long" was 64
>>bits, and pointers were 128 bits... In particular, there was a
>>universal, shared, access-protected, segmented address space...
>>
>>Wayne Throop      <the-known-world>!mcnc!rti!xyzzy!throopw
>
>Ahh, DG's unforgettable FHP machine. What a dream that was. :-)
>
>                                    Mark Fox
>       Applix Inc., 112 Turnpike Road, Westboro, MA 01581, (617) 870-0300
>                    uucp:  seismo!harvard!m2c!applix!mark

Does anyone who knows care to expound about the DG FHP, or provide
references? I know nothing of it, and thirst for knowledge.

If you can't post, can you mail me?


Andy "Krazy" Glew. Gould CSD-Urbana.    USEnet:  ihnp4!uiucdcs!ccvaxa!aglew
1101 E. University, Urbana, IL 61801    ARPAnet: aglew@gswd-vms.arpa

I always felt that disclaimers were silly and affected, but there are people
who let themselves be affected by silly things, so: my opinions are my own,
and not the opinions of my employer, or any other organisation with which I am
affiliated. I indicate my employer only so that other people may account for
any possible bias I may have towards my employer's products or systems.

preece%mycroft@gswd-vms.Gould.COM (Scott E. Preece) (09/01/87)

  From: Dave Cornutt <dave@murphy.uucp>
> > In fact, I know of an architecture where it may return different
> > results for pointers to the same two objects at different times: the
> > Symbolics Lisp Machine.  It has a garbage collector that moves objects
> > around in memory, so the addresses may change, and therefore the
> > difference may change.
> 
> I must be missing something here.  Admittedly, I don't know anything
> about this machine, but it looks like this garbage collection would make
> pointers useless, since there is no guarantee that, when you dereference
> a pointer, the object that you're referring to will be in the same place
> that it was when you obtained the address.
----------
What you're missing is that the Lisp machine can find everything that
points to the objects and update all those pointers to point to the
new location.  One of the moderately painful parts of writing the
runtime part of a Lisp system for a conventional machine (like, say,
ours) is that you have to register your C variables so that the garbage
collector can find them, when they have addresses of Lisp objects in
them.

-- 
scott preece
gould/csd - urbana
uucp:	ihnp4!uiucdcs!ccvaxa!preece
arpa:	preece@Gould.com