IP Library Granted Patent US 10,705,973
Granted Patent B2
US 10,705,973 · App. 15/708,235 · Granted Jul 7, 2020

Initializing a data structure for use in predicting table of contents pointer values

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/1009G06F8/41G06F8/447G06F9/3844G06F9/44521G06F9/455G06F12/0292G06F12/0875G06F12/0223G06F2212/1024G06F2212/45G06F2212/452
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,705,973
App. No.
15/708,235
Granted
Jul 7, 2020
Kind
B2
Abstract

Initializing a data structure for use in predicting table of contents (TOC) pointer values. A request to load a module is obtained. Based on the loaded module, a pointer value for a reference data structure is determined. The pointer value is stored in a reference data structure tracking structure, and used to access a variable value for a variable of the module.

Claims (23)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:

obtaining, by a processor, a request to load a module;

determining, based on the module loaded, a pointer value for a reference data structure;

storing the pointer value in a reference data structure tracking structure, wherein the reference data structure tracking structure is a reference data structure pointer cache, and wherein the reference data structure pointer cache comprises an address field to include an address for which the pointer value is being set and a pointer value field to include the pointer value, the address field including the address of the module; and

using the pointer value to access a variable value for a variable of the module.

2. The computer program product of claim 1 , wherein the reference data structure pointer cache further includes another field to indicate one or more functions that do not initialize a pointer value register.

3. The computer program product of claim 1 , wherein the reference data structure pointer cache further includes a usage tracking field to be used in selecting an entry from the reference data structure pointer cache to be replaced.

4. The computer program product of claim 1 , wherein the reference data structure pointer cache comprises a plurality of address fields to specify a range of addresses for which the pointer value is associated.

5. The computer program product of claim 1 , wherein the reference data structure tracking structure is an in-memory table.

6. The computer program product of claim 1 , wherein the determining the pointer value comprises determining the pointer value from a relative offset of the module.

7. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

obtaining, by a processor, a request to load a module;

determining, based on the module loaded, a pointer value for a reference data structure;

storing the pointer value in a reference data structure tracking structure, wherein the reference data structure tracking structure is a reference data structure pointer cache, and wherein the reference data structure pointer cache comprises an address field to include an address for which the pointer value is being set and a pointer value field to include the pointer value, the address field including the address of the module; and

using the pointer value to access a variable value for a variable of the module.

8. The computer system of claim 7 , wherein the reference data structure pointer cache further includes a usage tracking field to be used in selecting an entry from the reference data structure pointer cache to be replaced.

9. The computer system of claim 7 , wherein the reference data structure tracking structure is an in-memory table.

10. The computer system of claim 7 , wherein the reference data structure pointer cache further includes another field to indicate one or more functions that do not initialize a pointer value register.

11. The computer system of claim 7 , wherein the reference data structure pointer cache comprises a plurality of address fields to specify a range of addresses for which the pointer value is associated.

12. The computer system of claim 7 , wherein the determining the pointer value comprises determining the pointer value from a relative offset of the module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2017
From: GSCHWIND, MICHAEL K; SALAPURA, VALENTINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043622/0319 →
Continuity (1)
Related Publication 20190087346A1 · Mar 21, 2019
Cited By (1)
US 12,730,558