Browse Prior Art Database

Anecdotes: Favorite Hack

IP.com Disclosure Number: IPCOM000129758D
Original Publication Date: 1992-Sep-30
Included in the Prior Art Database: 2005-Oct-07
Document File: 1 page(s) / 14K

Publishing Venue

Software Patent Institute

Related People

Richard L. Wexelblat: AUTHOR [+2]

Abstract

Institute for Defense Analyses Computer and Software Engineering Division 1801 ,V. Beauregard St. Alexandria, VA 72313 USA

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 64% of the total text.

Page 1 of 1

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Copyright ©; 1992 by the American Federation of Information Processing Societies, Inc. Used with permission.

Anecdotes: Favorite Hack

Richard L. Wexelblat

Institute for Defense Analyses Computer and Software Engineering Division 1801 ,V. Beauregard St. Alexandria, VA 72313 USA

My favorite hack of all times is a freelist that you searched by executing it. It was a system I built while working on my PhD in the early 1960s. In those days, storage allocation and garbage collection were primitive and there was no literature. Everyone had to reinvent everything for themselves. I was using an IBM 7040, with 36-bit words divided into 3-bit op code, 15-bit "decrement" field, 3-bit "tag," and 15-bit address.*1 My blocks of free storage were a minimum of two words long and the top two words were arranged thus:

(Image Omitted: First word: Decrement: size of this block Address: address of next free block Second word: Address: address to go to when a block of proper size was found)

However, the first word was not just data; it was a form of index test and branch instruction. Executed, it would test its decrement field against the index register identified by the tag and, if less than or equal to it, fall through to the next instruction, otherwise jump to the address. The second word was a subroutine transfer that had the effect of putting its own address into a specified register and transferring to the given addr...