Patents by Inventor Ulrich Weigand
Ulrich Weigand has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10229044Abstract: A method for allocating memory includes an operation that determines whether a prototype of a callee function is within a scope of a caller. The caller is a module containing a function call to the callee function. In addition, the method includes determining whether the function call includes one or more unnamed parameters when a prototype of the callee function is within the scope of the caller. Further, the method may include inserting instructions in the caller to allocate a register save area in a memory when it is determined that the function call includes one or more unnamed parameters.Type: GrantFiled: December 12, 2016Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Patent number: 10229045Abstract: A method for allocating memory includes an operation that determines whether a prototype of a callee function is within a scope of a caller. The caller is a module containing a function call to the callee function. In addition, the method includes determining whether the function call includes one or more unnamed parameters when a prototype of the callee function is within the scope of the caller. Further, the method may include inserting instructions in the caller to allocate a register save area in a memory when it is determined that the function call includes one or more unnamed parameters.Type: GrantFiled: December 12, 2016Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Patent number: 10223087Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module or comparisons against function pointers. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: January 27, 2017Date of Patent: March 5, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10210163Abstract: A method and associated computer program product are disclosed for generating an executable file from an object file comprising a function that references a table of contents (TOC) pointer register. The method comprises identifying, based on at least one first annotation included in the object file, at least one instruction of the function having an eliminable reference to the TOC pointer register, and determining, during a linking of the object file and based on the at least one first annotation, whether to eliminate the eliminable reference.Type: GrantFiled: January 9, 2017Date of Patent: February 19, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10209972Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: January 31, 2017Date of Patent: February 19, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10175966Abstract: A method and associated computer program product are disclosed for generating an object file for subsequent linking by a linker. The object file comprises a function that references a table of contents (TOC) pointer register. The method comprises generating, in the object file, at least one first annotation that identifies at least one instruction of the function. The at least one instruction has an eliminable reference to the TOC pointer register. The first annotation configures the linker to determine, during the subsequent linking of the object file and based on the at least one first annotation, whether to eliminate the eliminable reference.Type: GrantFiled: January 9, 2017Date of Patent: January 8, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10169016Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: October 24, 2016Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10169011Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module or comparisons against function pointers. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: October 24, 2016Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180364995Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: ApplicationFiled: August 28, 2018Publication date: December 20, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10152313Abstract: The invention relates to a method for transforming a shared library between two operating systems with different application binary interfaces (ABIs) on a predetermined instruction set architecture. The shared library is implemented by a source object file comprising at least a source memory image, source symbol information, and absolute source relocation information. The method comprises: creating a target object header compliant to the target ABI and comprising information descriptive of the shared library and/or a target object file; creating a target memory image compliant to the target ABI from the source memory image; creating target symbol information compliant to the target ABI from the source symbol information; creating target relocation information compliant to the target ABI from the source relocation information; and writing the target object header, memory image, symbol information, and relocation information to the target object file to implement the transformed shared library.Type: GrantFiled: December 19, 2017Date of Patent: December 11, 2018Assignee: International Business Machines CorporationInventors: Frederik J. Hartmann, Ulrich Weigand
-
Publication number: 20180329699Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, a linker is provided to generate at application modules that at least partially defines an indirect function call configuration. The linker loads a first address of a function by using a first symbolic reference, and determines that the function pointer value of the first symbolic reference is solely used to perform indirect calls in the same application module, e.g. local-use-only. The linker indicates that the first symbolic reference can be resolved using the local entry point associated with the function, and performs that indirect function call exclusively through the first symbolic reference, thereby reducing execution of operations.Type: ApplicationFiled: July 19, 2018Publication date: November 15, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180314504Abstract: Embodiments relate to using a local entry point with an indirect call function. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. The compiler loads an address of a function through use of a symbolic reference. When the compiler determines that the value employed by the symbolic reference is used exclusively to perform an indirect function call, the compiler proceeds to resolve a local entry point address of the function, thereby reducing a quantity of operations to be executed.Type: ApplicationFiled: July 9, 2018Publication date: November 1, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10108404Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: October 24, 2016Date of Patent: October 23, 2018Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10108407Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: October 24, 2016Date of Patent: October 23, 2018Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Patent number: 10108406Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.Type: GrantFiled: October 24, 2016Date of Patent: October 23, 2018Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180203679Abstract: Embodiments relate to optimizing an indirect call function. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. Additionally, the compiler determines and indicates in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module. A linker can read the indication the compiler made in the program code and optimize the indirect call function.Type: ApplicationFiled: March 13, 2018Publication date: July 19, 2018Applicant: International Business Machines CorporationInventors: Michael Karl Gschwind, Ulrich Weigand
-
Publication number: 20180196676Abstract: A method and associated computer program product are disclosed for generating an executable file from an object file, the object file being associated with an architecture having a predefined calling convention designating one or more call-clobbered registers. The method comprises identifying, from a first annotation included in the object file with a function call instruction, at least one restore instruction that follows the function call instruction, the function call instruction associated with a predefined function of the object file. The at least one restore instruction corresponds to at least one of the one or more call-clobbered registers. The method further comprises determining, based on at least a first list of registers that are referenced by the predefined function, the first list being included in the object file, whether to eliminate the at least one restore instruction.Type: ApplicationFiled: January 10, 2017Publication date: July 12, 2018Inventors: Michael Karl GSCHWIND, Ulrich WEIGAND
-
Publication number: 20180196669Abstract: A method and associated computer program product are disclosed for generating an object file for subsequent linking by a linker. The method comprises inserting at least one save instruction before a function call instruction and at least one restore instruction after the function call instruction, the at least one save instruction and the least one restore instruction corresponding to one or more call-clobbered registers. The method further comprises generating a first list of registers that are referenced by the function. The function call instruction includes a first annotation referencing the restore instruction, and the restore instruction includes a second annotation referencing the save instruction. The first and second annotations configure the linker to determine whether to eliminate the save instruction and the restore instruction corresponding to at least one of the one or more call-clobbered registers.Type: ApplicationFiled: January 10, 2017Publication date: July 12, 2018Inventors: Michael Karl GSCHWIND, Ulrich WEIGAND
-
Publication number: 20180196652Abstract: A method and associated computer program product are disclosed for generating an object file for subsequent linking by a linker. The object file comprises a function that references a table of contents (TOC) pointer register. The method comprises generating, in the object file, at least one first annotation that identifies at least one instruction of the function. The at least one instruction has an eliminable reference to the TOC pointer register. The first annotation configures the linker to determine, during the subsequent linking of the object file and based on the at least one first annotation, whether to eliminate the eliminable reference.Type: ApplicationFiled: January 9, 2017Publication date: July 12, 2018Inventors: Michael Karl GSCHWIND, Ulrich WEIGAND
-
Publication number: 20180196801Abstract: A method and associated computer program product are disclosed for generating an executable file from an object file comprising a function that references a table of contents (TOC) pointer register. The method comprises identifying, based on at least one first annotation included in the object file, at least one instruction of the function having an eliminable reference to the TOC pointer register, and determining, during a linking of the object file and based on the at least one first annotation, whether to eliminate the eliminable reference.Type: ApplicationFiled: January 9, 2017Publication date: July 12, 2018Inventors: Michael Karl GSCHWIND, Ulrich WEIGAND