Call sequence generation based on type of routine
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:
- a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- determining whether a routine is marked as potentially calling a sibling routine;
- and
- generating a call sequence to be used in return from the sibling routine, the call sequence based on whether the routine is marked as potentially calling the sibling routine, wherein the call sequence, based on determining the routine is marked as potentially calling the sibling routine, is to restore context information, using restoration code inserted in a caller of the routine, to be used in return from the sibling routine, the routine being marked as potentially calling the sibling routine based on it being determined, prior to runtime, that the routine includes a function call in which no further processing of results of a called function is performed by the routine, and wherein the call sequence, based on determining the routine is not marked as potentially calling the sibling routine, is an abbreviated call sequence and restoration code to restore context information which would be used in return from the sibling routine is omitted in the caller of the routine.
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:
- determining whether a routine is marked as potentially calling a sibling routine;
- and
- generating a call sequence to be used in return from the sibling routine, the call sequence based on whether the routine is marked as potentially calling the sibling routine, wherein the call sequence, based on determining the routine is marked as potentially calling the sibling routine, is to restore context information, using restoration code inserted in a caller of the routine, to be used in return from the sibling routine, the routine being marked as potentially calling the sibling routine based on it being determined, prior to runtime, that the routine includes a function call in which no further processing of results of a called function is performed by the routine, and wherein the call sequence, based on determining the routine is not marked as potentially calling the sibling routine, is an abbreviated call sequence and restoration code to restore context information which would be used in return from the sibling routine is omitted in the caller of the routine.
A computer-implemented method of facilitating processing in a computing environment, the computer-implemented method comprising:
- determining whether a routine is marked as potentially calling a sibling routine;
- and
- generating a call sequence to be used in return from the sibling routine, the call sequence based on whether the routine is marked as potentially calling the sibling routine, wherein the call sequence, based on determining the routine is marked as potentially calling the sibling routine, is to restore context information, using restoration code inserted in a caller of the routine, to be used in return from the sibling routine, the routine being marked as potentially calling the sibling routine based on it being determined, prior to runtime, that the routine includes a function call in which no further processing of results of a called function is performed by the routine, and wherein the call sequence, based on determining the routine is not marked as potentially calling the sibling routine, is an abbreviated call sequence and restoration code to restore context information which would be used in return from the sibling routine is omitted in the caller of the routine.
Dependencies are inferred from the claim text.