Executing instructions to store context information based on routine to be executed
AssigneeInternational Business Machines Corporation
InventorMichael K. Gschwind
Life of this patent
Estimating the term…
Abstract
Optimizations are provided for sibling calls. A sibling caller is marked to indicate that it may call a sibling routine or that it may call an external sibling routine. Based on the marking, certain processing is performed to facilitate use of sibling calls, particularly when the sibling routine being called is external to the caller.
Claims20
A computer program product for facilitating processing in a computing environment, the computer program product comprising:
- at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:
- obtaining a stub to be executed to transfer control from a first module to a second module, wherein the stub obtained is a first stub or a second stub depending on whether a sibcaller routine is local to a caller routine, wherein:
- the stub is the first stub based on the sibcaller routine being local to the caller routine in that the sibcaller routine of the first module is called by the caller routine of the first module, and based on the sibcaller routine calling a sibling routine of the second module;
- and
- the stub is the second stub based on the sibcaller routine being external to the caller routine in that the sibcaller routine of the first module is called by a caller routine of a third module, and based on the sibcaller routine calling the sibling routine in the second module;
- and
- executing the stub to transfer control from the first module to the second module.
A computer system for facilitating processing in 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 a stub to be executed to transfer control from a first module to a second module, wherein the stub obtained is a first stub or a second stub depending on whether a sibcaller routine is local to a caller routine, wherein:
- the stub is the first stub based on the sibcaller routine being local to the caller routine in that the sibcaller routine of the first module is called by the caller routine of the first module, and based on the sibcaller routine calling a sibling routine of the second module;
- and
- the stub is the second stub based on the sibcaller routine being external to the caller routine in that the sibcaller routine of the first module is called by a caller routine of a third module, and based on the sibcaller routine calling the sibling routine in the second module;
- and
- executing the stub to transfer control from the first module to the second module.
A computer-implemented method of facilitating processing in a computing environment, the computer-implemented method comprising:
- obtaining a stub to be executed to transfer control from a first module to a second module, wherein the stub obtained is a first stub or a second stub depending on whether a sibcaller routine is local to a caller routine, wherein:
- the stub is the first stub based on the sibcaller routine being local to the caller routine in that the sibcaller routine of the first module is called by the caller routine of the first module, and based on the sibcaller routine calling a sibling routine of the second module;
- and
- the stub is the second stub based on the sibcaller routine being external to the caller routine in that the sibcaller routine of the first module is called by a caller routine of a third module, and based on the sibcaller routine calling the sibling routine in the second module;
- and
- executing the stub to transfer control from the first module to the second module.
Dependencies are inferred from the claim text.