Patents by Inventor Ronald I. McIntosh
Ronald I. McIntosh 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: 10496462Abstract: Corruption of call stacks is detected by using guard words placed in the call stacks. A determination is made as to whether a callee routine is to include corruption detection logic to detect corruption of stacks. Based on determining the callee routine is to include the corruption detection logic, corruption detection logic is provided in the callee routine.Type: GrantFiled: December 7, 2018Date of Patent: December 3, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
Patent number: 10489129Abstract: An application that includes intrinsics defined in one architecture is to execute without change on a different architecture. Program code that depends on vector element ordering is obtained, and that program code is part of an application including one or more intrinsics. The one or more intrinsics are mapped from a first system architecture for which the application was written to a second system architecture. One or more operations of the program code are then converted from a first data layout to a second data layout. The application, including the mapped intrinsics and the converted data layout, is to be executed on a processor of the different architecture.Type: GrantFiled: April 2, 2018Date of Patent: November 26, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
Publication number: 20190138438Abstract: 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: ApplicationFiled: January 7, 2019Publication date: May 9, 2019Inventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Publication number: 20190108085Abstract: Corruption of call stacks is detected by using guard words placed in the call stacks. A determination is made as to whether a callee routine is to include corruption detection logic to detect corruption of stacks. Based on determining the callee routine is to include the corruption detection logic, corruption detection logic is provided in the callee routine.Type: ApplicationFiled: December 7, 2018Publication date: April 11, 2019Inventors: Michael K. Gschwind, Ronald I. McIntosh
-
Patent number: 10228992Abstract: Corruption of call stacks is detected by using guard words placed in the call stacks. A determination is made that a caller routine is to facilitate detection of corruption of stacks. Based on the determination, a store of a guard word in a stack frame of the caller routine is provided in the caller routine. The stored guard word is then used to detect corruption of the stack frame.Type: GrantFiled: January 6, 2016Date of Patent: March 12, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
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: 10169014Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias, along with at least one memory access instruction with a contrary endian bias. The compiler uses a code generation endian preference that matches the inherent computer system endian bias. The compiler generates instructions for vector instructions by determining whether the vector instruction has an endian bias that matches the code generation endian preference. When the endian bias of the vector instruction matches the code generation endian preference, the compiler generates one or more instructions for the vector instruction as normal.Type: GrantFiled: December 19, 2014Date of Patent: January 1, 2019Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Jin Song Ji, Ronald I. McIntosh, William J. Schmidt
-
Publication number: 20180225101Abstract: An application that includes intrinsics defined in one architecture is to execute without change on a different architecture. Program code that depends on vector element ordering is obtained, and that program code is part of an application including one or more intrinsics. The one or more intrinsics are mapped from a first system architecture for which the application was written to a second system architecture. One or more operations of the program code are then converted from a first data layout to a second data layout. The application, including the mapped intrinsics and the converted data layout, is to be executed on a processor of the different architecture.Type: ApplicationFiled: April 2, 2018Publication date: August 9, 2018Inventors: Michael K. Gschwind, Ronald I. McIntosh
-
Patent number: 9996326Abstract: An application that includes intrinsics defined in one architecture is to execute without change on a different architecture. Program code that depends on vector element ordering is obtained, and that program code is part of an application including one or more intrinsics. The one or more intrinsics are mapped from a first system architecture for which the application was written to a second system architecture. One or more operations of the program code are then converted from a first data layout to a second data layout. The application, including the mapped intrinsics and the converted data layout, is to be executed on a processor of the different architecture.Type: GrantFiled: August 11, 2015Date of Patent: June 12, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
Patent number: 9959102Abstract: An application that includes intrinsics defined in one architecture is to execute without change on a different architecture. Program code that depends on vector element ordering is obtained, and that program code is part of an application including one or more intrinsics. The one or more intrinsics are mapped from a first system architecture for which the application was written to a second system architecture. One or more operations of the program code are then converted from a first data layout to a second data layout. The application, including the mapped intrinsics and the converted data layout, is to be executed on a processor of the different architecture.Type: GrantFiled: November 14, 2015Date of Patent: May 1, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
Publication number: 20170192833Abstract: Corruption of call stacks is detected by using guard words placed in the call stacks. A determination is made that a caller routine is to facilitate detection of corruption of stacks. Based on the determination, a store of a guard word in a stack frame of the caller routine is provided in the caller routine. The stored guard word is then used to detect corruption of the stack frame.Type: ApplicationFiled: January 6, 2016Publication date: July 6, 2017Inventors: Michael K. Gschwind, Ronald I. McIntosh
-
Publication number: 20170090812Abstract: 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: ApplicationFiled: December 12, 2016Publication date: March 30, 2017Inventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Publication number: 20170091088Abstract: 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: ApplicationFiled: December 12, 2016Publication date: March 30, 2017Inventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Patent number: 9557917Abstract: 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: November 10, 2014Date of Patent: January 31, 2017Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Patent number: 9552158Abstract: 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, 2014Date of Patent: January 24, 2017Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Ronald I. McIntosh, Ulrich Weigand
-
Patent number: 9495237Abstract: Corruption of call stacks is detected by using guard words placed in the call stacks. A called function executing on a processor of a computing environment checks a guard word in a stack frame of a calling function. The checking determines whether the guard word has an expected value. Based on determining the guard word has an unexpected value, an indication of corruption of the stack frame is provided.Type: GrantFiled: January 6, 2016Date of Patent: November 15, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Ronald I. McIntosh
-
Patent number: 9430233Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias, along with at least one memory access instruction with a contrary endian bias. The compiler uses a code generation endian preference that matches the inherent computer system endian bias. The compiler generates instructions for vector instructions by determining whether the vector instruction has an endian bias that matches the code generation endian preference. When the endian bias of the vector instruction matches the code generation endian preference, the compiler generates one or more instructions for the vector instruction as normal.Type: GrantFiled: December 27, 2014Date of Patent: August 30, 2016Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Jin Song Ji, Ronald I. McIntosh, William J. Schmidt
-
Publication number: 20160179525Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias, along with at least one memory access instruction with a contrary endian bias. The compiler uses a code generation endian preference that matches the inherent computer system endian bias. The compiler generates instructions for vector instructions by determining whether the vector instruction has an endian bias that matches the code generation endian preference. When the endian bias of the vector instruction matches the code generation endian preference, the compiler generates one or more instructions for the vector instruction as normal.Type: ApplicationFiled: December 19, 2014Publication date: June 23, 2016Inventors: Michael Karl Gschwind, Jin Song Ji, Ronald I. McIntosh, William J. Schmidt
-
Publication number: 20160179531Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias, along with at least one memory access instruction with a contrary endian bias. The compiler uses a code generation endian preference that matches the inherent computer system endian bias. The compiler generates instructions for vector instructions by determining whether the vector instruction has an endian bias that matches the code generation endian preference. When the endian bias of the vector instruction matches the code generation endian preference, the compiler generates one or more instructions for the vector instruction as normal.Type: ApplicationFiled: December 27, 2014Publication date: June 23, 2016Inventors: Michael Karl Gschwind, Jin Song Ji, Ronald I. McIntosh, William J. Schmidt