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 bei
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.
대표청구항▼
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 execution by the processing circuit for performing a method comprising:
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 execution by the processing circuit for performing a method comprising: determining whether a particular call of a routine is potentially a call to an external sibling routine; andperforming an action to suppress, based on determining the particular call of the routine is potentially a call to the external sibling routine, a saving of context information used to access a variable address reference data structure and to be generated based on the routine potentially calling the external sibling routine and that would overwrite an original context of a caller routine generated based on the routine being called by the caller routine. 2. The computer program product of claim 1, wherein based on performing the action to suppress the saving of context information, the original context generated based on the routine being called by the caller routine is restored, using restoration code in the caller routine, based on a return from the external sibling routine to the caller routine. 3. The computer program product of claim 2, wherein the routine, the caller routine and the sibling routine are in separate modules. 4. The computer program product of claim 1, wherein the performing the action to suppress comprises creating a stub to be used to call the external sibling routine, the stub being absent code to save the context information. 5. The computer program product of claim 4, wherein the stub includes one or more instructions to transfer control to the external sibling routine, and is absent a store instruction to store the context information. 6. The computer program product of claim 4, wherein the stub is created by a linker executing in a processor of the computing environment. 7. The computer program product of claim 4, wherein the stub is created by a compiler executing in a processor of the computing environment. 8. The computer program product of claim 4, wherein the stub is a procedural link table stub. 9. The computer program product of claim 1, wherein the context information comprises information to restore an indicator to a global offset table. 10. The computer program product of claim 1, wherein the determining comprises checking a relocation associated with the particular call to determine whether the particular call of the routine is potentially a call to an external sibling routine. 11. A computer system for facilitating processing within a computing environment, the computer system comprising: a memory; anda processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising: determining whether a particular call of a routine is potentially a call to an external sibling routine; andperforming an action to suppress, based on determining the particular call of the routine is potentially a call to the external sibling routine, a saving of context information used to access a variable address reference data structure and to be generated based on the routine potentially calling the external sibling routine and that would overwrite an original context of a caller routine generated based on the routine being called by the caller routine. 12. The computer system of claim 11, wherein based on performing the action to suppress the saving of context information, the original context generated based on the routine being called by the caller routine is restored, using restoration code in the caller routine, based on a return from the external sibling routine to the caller routine. 13. The computer system of claim 11, wherein the performing the action to suppress comprises creating a stub to be used to call the external sibling routine, the stub being absent code to save the context information. 14. The computer system of claim 13, wherein the stub includes one or more instructions to transfer control to the external sibling routine, and is absent a store instruction to store the context information. 15. The computer system of claim 11, wherein the determining comprises checking a relocation associated with the particular call to determine whether the particular call of the routine is potentially a call to an external sibling routine. 16. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising: determining whether a particular call of a routine is potentially a call to an external sibling routine; andperforming an action to suppress, based on determining the particular call of the routine is potentially a call to the external sibling routine, a saving of context information used to access a variable address reference data structure and to be generated based on the routine potentially calling the external sibling routine and that would overwrite an original context of a caller routine generated based on the routine being called by the caller routine. 17. The computer-implemented method of claim 16, wherein based on performing the action to suppress the saving of context information, the original context generated based on the routine being called by the caller routine is restored, using restoration code in the caller routine, based on a return from the external sibling routine to the caller routine. 18. The computer-implemented method of claim 16, wherein the performing the action to suppress comprises creating a stub to be used to call the external sibling routine, the stub being absent code to save the context information. 19. The computer-implemented method of claim 18, wherein the stub includes one or more instructions to transfer control to the external sibling routine, and is absent a store instruction to store the context information. 20. The computer-implemented method of claim 16, wherein the determining comprises checking a relocation associated with the particular call to determine whether the particular call of the routine is potentially a call to an external sibling routine.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (16)
Mizuse Harumi (Tokyo JPX) Kawata Kazuhide (Tokyo JPX), Assembler system for determining when to compile source code modules.
Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interprocedural register allocation.
Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interproceduural register allocation.
Outhred, Geoffrey; Han, Eric K; Grealish, Kevin D. J.; Brown, Mathilde C.; Gustin, Reid B; Mensching, Rob; Nielsen, Steven T, Model and system state synchronization.
Frances Cohen ; Marc Abraham Bombet ; Robert Dennis Lusinsky ; Timothy Andrew Lewis ; Marc Shane Sandusky, Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.