How did they implement allocate a new cons cell?

  • jdr@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    9 months ago

    Free-Storage List. At any given time only a part of the memory reserved for list structures will actually be in use for storing S-expressions. The remaining registers (in our system the number, initially, is approximately 15,000) are arranged in a single list called the free-storage list. A certain register, FREE, in the program contains the location of the first register in this list. When a word is required to form some additional list structure, the first word on the free-storage list is taken and the number in register FREE is changed to become the location of the second word on the free-storage list. No provision need be made for the user to program the return of registers to the free-storage list

    http://www-formal.stanford.edu/jmc/recursive/node4.html

  • splatt9990@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Malloc is a C function and wouldn’t come around for another 15 years or so. They likely wrote memory allocation code directly in machine code/assembly which could and would just access raw memory directly.