A fast library scan for ICL 1900 disc compilers

D. W. Barron, T J Hall · ITNOW · 1969

Compiling systems in the ICL 1900 series follow the familiar pattern of independent compiling of sub-programs into an intermediate semi-compiled form, in which the bulk of the code is in relocatable binary, but cross-references to other sub-programs are held in symbolic form. In a disc-based system amalgamation of a number of sub-programs (segments in ICL parlance) into a complete program (the process of linkage editing) takes place in two stages. The consolidator takes a number of semi-compiled segments from the disc, appends any library sub-routines that have been referenced, and computes relocation constants for the whole, which is then written back on to the disc. The loader then loads the whole into core, relocating to produce an absolute binary program. It is common experience that the process of consolidation may take longer overall time than compilation, due to the amount of disc traffic involved. Since this was our experience also, we sought to improve the performance of the consolidator. The operations involved in computing relocation constants are trivial, therefore it seemed that the most likely candidate for improvement must be the library scan. Investigation proved that this was indeed the case: the library was held on the disc as a sequential file, and the search for library segments was made by a linear scan. In other words, the disc was being treated as a tape.

Read the paper · More papers on PaperTik