Patent
1995-12-14
1998-12-01
Oberley, Alvin E.
395712, 395710, G06F 944
Patent
active
058451188
ABSTRACT:
A process for transforming source code into efficient shared library executable code in which global offset table address values are computed only when needed by a function. A condition register and current global offset table address register are added to the code by the compiler. The condition register controls recalculation of the global offset table address. The current global offset table register is saved and the condition register is invalidated by the calling function prior to branching to the new function. The new function calculates the global offset address value only if it is needed. The intermediate code generated by the compiler includes specific routines to process local function calls, function calls by pointer, and external function calls. The system efficiency is improved whenever the actual global offset table access is infrequent compared to function calls across module boundaries. Postponement of global offset table address calculation until the value is needed then frequently avoids the calculation altogether. Condition register setting and current register saving instructions are inserted into otherwise idle cycles in the preferred embodiment.
REFERENCES:
patent: 4454579 (1984-06-01), Pilat et al.
patent: 4589087 (1986-05-01), Auslander et al.
patent: 4787034 (1988-11-01), Szoke
patent: 5125092 (1992-06-01), Prener
patent: 5291601 (1994-03-01), Sands
patent: 5375241 (1994-12-01), Walsh
R. A. Gingell, M. Lee, S. T. Dang, M. S. Weeks, "Shared Libraries in SunOS", Proceedings of the Summer 1987 Usenix Conference, pp. 131-145, Jun. 8, 1987.
International Business Machines - Corporation
Oberley Alvin E.
Rosenholm R. S
Walker Mark S.
LandOfFree
Method for generating shared library executable code with lazy g does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for generating shared library executable code with lazy g, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for generating shared library executable code with lazy g will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2402405