Call sequence generation based on type of routine
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/45
G06F-008/41
G06F-008/54
출원번호
US-0378189
(2016-12-14)
등록번호
US-10095493
(2018-10-09)
발명자
/ 주소
Gschwind, Michael K.
출원인 / 주소
INTERNATIONAL BUSINESS MACHINES CORPORATION
대리인 / 주소
Chiu, Esq., Steven
인용정보
피인용 횟수 :
0인용 특허 :
14
초록▼
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 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: dete
1. 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; andgenerating 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. 2. The computer program product of claim 1, wherein the context information comprises information to restore an indicator to a global offset table. 3. The computer program product of claim 1, wherein the determining comprises checking a symbol data structure for a marker to indicate the routine potentially calls the sibling routine. 4. The computer program product of claim 3, wherein the marker is set based on a pseudo-instruction located in the routine. 5. The computer program product of claim 1, wherein the determining comprises checking whether a relocation entry associated with the routine exists indicating the routine potentially calls the sibling routine. 6. The computer program product of claim 1, wherein at least one of the determining and the generating are performed by a linker executing on a processor of the computing environment. 7. The computer program product of claim 1, wherein the determining whether the routine is marked as potentially calling the sibling routine comprises determining whether the routine is marked as potentially calling an external sibling routine. 8. The computer program product of claim 7, wherein the routine is in one module and the external sibling routine is in another module separate from the one module. 9. A computer system for facilitating processing in 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 routine is marked as potentially calling a sibling routine; andgenerating 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. 10. The computer system of claim 9, wherein the context information comprises information to restore an indicator to a global offset table. 11. The computer system of claim 9, wherein the determining whether the routine is marked as potentially calling the sibling routine comprises determining whether the routine is marked as potentially calling an external sibling routine. 12. The computer system of claim 9, wherein the determining comprises checking a symbol data structure for a marker to indicate the routine potentially calls the sibling routine. 13. The computer system of claim 12, wherein the marker is set based on a pseudo-instruction located in the routine. 14. The computer system of claim 9, wherein the determining comprises checking whether a relocation entry associated with the routine exists indicating the routine potentially calls the sibling routine. 15. 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; andgenerating 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. 16. The computer-implemented method of claim 15, wherein the context information comprises information to restore an indicator to a global offset table. 17. The computer-implemented method of claim 15, wherein the determining whether the routine is marked as potentially calling the sibling routine comprises determining whether the routine is marked as potentially calling an external sibling routine. 18. The computer-implemented method of claim 15, wherein the determining comprises checking a symbol data structure for a marker to indicate the routine potentially calls the sibling routine. 19. The computer-implemented method of claim 18, wherein the marker is set based on a pseudo-instruction located in the routine. 20. The computer-implemented method of claim 15, wherein the determining comprises checking whether a relocation entry associated with the routine exists indicating the routine potentially calls the sibling routine.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (14)
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는 부적절한 답변을 할 수 있습니다.