File information: | |
File name: | Alto_BCPL_Storage_Allocation_Jun73.pdf [preview Alto BCPL Storage Allocation Jun73] |
Size: | 567 kB |
Extension: | |
Mfg: | xerox |
Model: | Alto BCPL Storage Allocation Jun73 🔎 |
Original: | Alto BCPL Storage Allocation Jun73 🔎 |
Descr: | xerox alto memos_1973 Alto_BCPL_Storage_Allocation_Jun73.pdf |
Group: | Electronics > Other |
Uploaded: | 17-02-2020 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name Alto_BCPL_Storage_Allocation_Jun73.pdf '-/EnJr~\/ f/l I~,~ ' - H ~~,'~ Ih'l.iLJ 't:. To CSL and SSL Date June 19, 1973 From Butler Lampson Location Palo Alto Subject Al to/Bcpl stcrage allocation Organization PARC / CSL and function calls 1. Overview This document describes the facilities provided by the standard Alto microcode for storage allocation and function calls. They are intended to support function calls and returns for languages \'1hich pass parameters by value and allocate the local environment or iram~ for a function vlhen it is called, vJi th a corresponding deallocation on the return. Provis~on is also made for statically allocated frames, for a global storage region which may change during a call or return, and for a coroutine linkage. Finally" function descriFtors and return links are interpreted as segmented addresses, so tha~ code segments can be swapped or'relocated. 2. Background This section discusses the major alternatives which were considered in arriving at the present scheme. Hopefully, it will make it easier for the'reader to understand why things are done the way they are. During a transfer of control from one function to another, it is necessary to: a) obtain the address of the first instruction to be executed in the ne\;7 function; b) allocat storage for the new function or release storage fer the old one; c) possibly set up pointers to the environment of the new function; d) pass parameters, possibly including a return link. Item (a) is complicated by our desire to be able to move code or to keep code out of core, until it is referenced. Both (a) and (b) are closely related to the question of hC\-J memory is to be ALTO/BCPL STORAGE ALLOCATION AND FUNCTION CALLS / Butler Lampson June 19, 1973 Page 2 ,allocated. Item (c) requires decisions about how much environment should be set up automatically. It is \Olell knC\r1n that two areas \-1hich grow and shrink at one end can be conveniently allocated in a single block of memo |
Date | User | Rating | Comment |