Optimize bound information accesses in buffer protection
AssigneeInternational Business Machines Corporation
InventorsTong Chen, Richard H. Boivie, Alper Buyuktosunoglu
Life of this patent
Estimating the term…
Abstract
A method, system and apparatus for providing bound information accesses in buffer protection, including providing one-to-one mapping between a general-purpose register and bound information in a BI (bound information) register, saving loaded bound information in the BI register for future use, providing integrity of the bound information in the BI register that is maintained along program execution, and providing a pro-active load of the bound information with one-bit extra control on load instruction of the BI register.
Claims20
A method for providing bound information access, the method comprising:
- responsive to receiving, at the general-purpose register, one or more pointers associated with one or more load/store instructions of one or more programs, loading one or more boundary information (BI) registers, wherein the general-purpose register and the one or more BI registers are mapped one-to-one;
- determining that one or more loads of bound information associated with the one or more pointers are profitable loads;
- prefetching bound information associated with the one or more profitable loads into the one or more BI registers;
- loading bound information associated with one or more of the one or more loads into the one or more BI registers;
- and
- propagating the bound information in the one or more BI registers along execution of the program.
A system for providing bound information access, the system comprising:
- one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored on at least one of the one or more computer-readable tangible storage media for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, wherein the computer system is capable of performing a method comprising:
- responsive to receiving, at the general-purpose register, one or more pointers associated with one or more load/store instructions of one or more programs, loading one or more boundary information (BI) registers, wherein the general-purpose register and the one or more BI registers are mapped one-to-one;
- determining that one or more loads of bound information associated with the one or more pointers are profitable loads;
- prefetching bound information associated with the one or more profitable loads into the one or more BI registers;
- loading bound information associated with one or more of the one or more loads into the one or more BI registers;
- and
- propagating the bound information in the one or more BI registers along execution of the program.
A computer program product for providing bound information access, the computer program product comprising:
- one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor to cause the processor to perform a method comprising:
- responsive to receiving, at the general-purpose register, one or more pointers associated with one or more load/store instructions of one or more programs, loading one or more boundary information (BI) registers, wherein the general-purpose register and the one or more BI registers are mapped one-to-one;
- determining that one or more loads of bound information associated with the one or more pointers are profitable loads;
- prefetching bound information associated with the one or more profitable loads into the one or more BI registers;
- loading bound information associated with one or more of the one or more loads into the one or more BI registers;
- and
- propagating the bound information in the one or more BI registers along execution of the program.
Dependencies are inferred from the claim text.