Re: More on Lisp structures performance
"Yuri Davidovsky (as work at disclosure dot ie)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
> On 24 Jan 2026, at 15:04, Tim Bradshaw <[email protected]> wrote: > > In base 2 (and on my system) the object-address of #'car and its object-pointer are > > 1000000011100000001101001000001000100000 > 1000000011100000001101001000001000101001 > > So the address has at least four bits masked from the pointer. That does look a bit strange indeed, but it was you who stated in a previous discussion that all objects in Lisp have to have headers. Here the object-pointer output may be the address to the entry point of the function while skipping a word down (the object-address output) will point you at the header of the function. It could be done for efficiency reasons, so that you do not have to skip the header every time you call a function. (Spoiler alert from the upcoming episode: although that is exactly what you do in LW when accessing individual array elements).