Browse Prior Art Database

Execution-Time Loading Using Self-Modifying Stubs

IP.com Disclosure Number: IPCOM000038434D
Original Publication Date: 1987-Jan-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 1 page(s) / 11K

Publishing Venue

IBM

Related People

Beghtel, MR: AUTHOR [+2]

Abstract

This invention relates to a system where source code is converted to object code by way of compilation, and where load modules are link- edited with the object code. The modules include copies of library routines. Each module is saved and invoked at execution time as an entity.

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

Page 1 of 1

Execution-Time Loading Using Self-Modifying Stubs

This invention relates to a system where source code is converted to object code by way of compilation, and where load modules are link- edited with the object code. The modules include copies of library routines. Each module is saved and invoked at execution time as an entity. The method for dynamic execution-time loading of the modules comprises the steps of (a) link-editing stubs into the modules, which stubs only identify the callable routines; and (b) at execution time and responsive to the first use of a stub in the execution code of the module, (1) modifying the stub by saving the address of the callable routine,
(2) modifying the executable code of the stub such that at second and subsequent uses of the stub in the executing code, a branch is automatically made to the saved address, and (3) branching to the callable routine. The prior art, as set out in U.S. Patent 4,216,528, discloses a linkage of load module elements whose invocation and order are adjusted as a function of the change in input variables and computing resources. In contrast, the above-cited method involves only modifications to a branching address to the same function and does not invoke any new function as a system variable changes. Indeed, the self- modification is solely a function of dynamic linking and is not in any way related to system variables as found, for example, in a computer used in process control as is the case in the refer...