tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NULL pointer arithmetic issues
Johnny Billquist <bqt%softjar.se@localhost> writes:
> But yes, on the PDP11 [having nothing mapped at address 0] was/is not
> the case. Memory space is too precious to allow some of it to be
> wasted for this...
Yup - and I assume the "hack" Kamil alludes to is the practice of
actually starting the data segment for split I/D programs at address 1
instead of 0, to make sure that no actual pointer is 0, thus allowing
the straightforward comparison of a pointer with 0 to see if it's set.
(I believe they also initialized address 0 to 0, to stop indirect
references through it from reaching random data. I guess Franz may have
depended on this in some way, e.g. expecting to be able to test *p
directly, instead of first p and then *p. Do enough of this, and you've
soon bummed a significant amount of valuable code space...)
-tih
--
Most people who graduate with CS degrees don't understand the significance
of Lisp. Lisp is the most important idea in computer science. --Alan Kay
Home |
Main Index |
Thread Index |
Old Index