Patents by Inventor Raúl E. Silvera

Raúl E. Silvera 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: 10664252
    Abstract: Optimization of computer program code can be performed during compilation of the computer program code. During the compilation of the computer program code, at least a first location in the computer program code that performs a calculation on at least one parameter value that affects a user experience provided by the computer program code can be automatically determined. During the optimization, a first implicit sequence point can be inserted into the computer program code at the automatically determined first location, wherein the first implicit sequence point is configured to provide a virtual read of at least a first symbol contained in the computer program code when the first implicit sequence point is reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: October 7, 2017
    Date of Patent: May 26, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 10656925
    Abstract: An illustrative embodiment of a computer-implemented process for managing aliasing constraints, identifies an object to form an identified object, identifies a scope of the identified object to form an identified scope, and assigns a unique value to the identified object within the identified scope. The computer-implemented process further demarcates an entrance to the identified scope, demarcates an exit to the identified scope, optimizes the identified object using a property of the identified scope and associated aliasing information, tracks the identified object state to form tracked state information; and uses the tracked state information to update the identified object.
    Type: Grant
    Filed: August 13, 2018
    Date of Patent: May 19, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Shimin Cui, Raul E. Silvera
  • Publication number: 20180349117
    Abstract: An illustrative embodiment of a computer-implemented process for managing aliasing constraints, identifies an object to form an identified object, identifies a scope of the identified object to form an identified scope, and assigns a unique value to the identified object within the identified scope. The computer-implemented process further demarcates an entrance to the identified scope, demarcates an exit to the identified scope, optimizes the identified object using a property of the identified scope and associated aliasing information, tracks the identified object state to form tracked state information; and uses the tracked state information to update the identified object.
    Type: Application
    Filed: August 13, 2018
    Publication date: December 6, 2018
    Inventors: Shimin Cui, Raul E. Silvera
  • Patent number: 10101979
    Abstract: An illustrative embodiment of a computer-implemented process for managing aliasing constraints, identifies an object to form an identified object, identifies a scope of the identified object to form an identified scope, and assigns a unique value to the identified object within the identified scope. The computer-implemented process further demarcates an entrance to the identified scope, demarcates an exit to the identified scope, optimizes the identified object using a property of the identified scope and associated aliasing information, tracks the identified object state to form tracked state information; and uses the tracked state information to update the identified object.
    Type: Grant
    Filed: July 10, 2012
    Date of Patent: October 16, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Shimin Cui, Raul E. Silvera
  • Patent number: 10095491
    Abstract: Embodiments of the present invention provide a method, system and computer program product for the data splitting of recursive data structures. In one embodiment of the invention, a method for data splitting recursive data structures can be provided. The method can include identifying data objects of a recursive data structure type, such as a linked list, within source code, the recursive data structure type defining multiple different data fields. The method further can include grouping the data objects into some memory pool units, each of which can contain the same number of data objects. Each memory pool unit can be seen as an array of data objects. The method can include data splitting, which could be maximal array splitting in each different memory pool unit. Finally, the method can include three different approaches, including field padding, field padding and field splitting, to handle irregular field sizes in the data structure.
    Type: Grant
    Filed: July 28, 2015
    Date of Patent: October 9, 2018
    Assignee: International Business Machines Corporation
    Inventors: Roch G. Archambault, Shimin Cui, Stephen Curial, Yaoqing Gao, Raul E. Silvera, Peng Zhao
  • Patent number: 9946523
    Abstract: A code region of an application is instrumented by a multi-pass profiler with first annotations for generating profile data. The application is executed with the first annotations, wherein executing the application with the first annotations generates first profile data for the code region. The multi-pass profiler identifies, from the first profile data, the code region as a delinquent code region. The multi-pass profiler determines second annotations based, at least in part, on the first profile data and the at least one of the first annotations that defines the delinquent code region. The multi-pass profiler instruments, based on the first profile data, a code sub-region of the delinquent code region with the second annotations for generating profile data. The application is executed with second annotations, wherein executing the application with the second annotations generates second profile data for the code sub-region.
    Type: Grant
    Filed: July 6, 2010
    Date of Patent: April 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Roch G. Archambault, Yaoqing Gao, Allan R. Martin, Mark P. Mendell, Raul E. Silvera, Graham Yiu
  • Patent number: 9916143
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: February 4, 2016
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 9910648
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: February 4, 2016
    Date of Patent: March 6, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Publication number: 20180032321
    Abstract: Optimization of computer program code can be performed during compilation of the computer program code. During the compilation of the computer program code, at least a first location in the computer program code that performs a calculation on at least one parameter value that affects a user experience provided by the computer program code can be automatically determined. During the optimization, a first implicit sequence point can be inserted into the computer program code at the automatically determined first location, wherein the first implicit sequence point is configured to provide a virtual read of at least a first symbol contained in the computer program code when the first implicit sequence point is reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Application
    Filed: October 7, 2017
    Publication date: February 1, 2018
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 9690509
    Abstract: Embodiments are directed to a computer implemented method of accessing a data frame, wherein a first portion of the data frame is in a first memory block, and wherein a second portion of the data frame is in a second memory block. The method includes initiating, by a processor, an access of the data frame. The method further includes accessing, by the processor, the first portion of the data frame. The method further includes, based at least in part on a determination that the processor does not have access to the second memory block, accessing at least one default character as a replacement for accessing the second portion of the data frame.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: June 27, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Gschwind, Brett Olsson, Raul E. Silvera
  • Patent number: 9632762
    Abstract: A computer identifies one or more pairs of scalar statements and performs a cost analysis of operations of each of the one or more pairs of scalar statements to determine both a benefit and a cost of operations. The computer determines, based, at least in part, on the cost analysis, a gain for each of the one or more pairs of scalar statements. The computer creates based, at least in part, on the gain, a sorted list of each of the one or more pairs of scalar statements and selects a first pair from the sorted list. The computer issues a query to a hash table using a statement of the first pair and selects from results received from the query, a second pair. The computer then extends, based, at least in part, on the second pair, the first pair to create a pack.
    Type: Grant
    Filed: February 17, 2015
    Date of Patent: April 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Ehsan Amiri, Christopher M. Barton, Yaoqing Gao, Denis M. Palmeiro, Raul E. Silvera
  • Patent number: 9569127
    Abstract: Embodiments are directed to a method of accessing a data frame. The method includes, based at least in part on a determination that the data frame spans first and second memory blocks, and further based at least in part on a determination that the processor has access to the first and second memory blocks, accessing the data frame. The method includes, based at least in part on a determination that the data frame spans the first and second memory blocks, and based at least in part on a determination that the processor has access to the first memory block but does not have access to the second memory block, accessing a first portion of the data frame that is in the first memory block, and accessing at least one default character as a replacement for accessing a second portion of the data frame that is in the second memory block.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: February 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Gschwind, Brett Olsson, Raul E. Silvera
  • Patent number: 9557977
    Abstract: A computer identifies one or more pairs of scalar statements and performs a cost analysis of operations of each of the one or more pairs of scalar statements to determine both a benefit and a cost of operations. The computer determines, based, at least in part, on the cost analysis, a gain for each of the one or more pairs of scalar statements. The computer creates based, at least in part, on the gain, a sorted list of each of the one or more pairs of scalar statements and selects a first pair from the sorted list. The computer issues a query to a hash table using a statement of the first pair and selects from results received from the query, a second pair. The computer then extends, based, at least in part, on the second pair, the first pair to create a pack.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: January 31, 2017
    Assignee: International Business Machines Corporation
    Inventors: Ehsan Amiri, Christopher M. Barton, Yaoqing Gao, Denis M. Palmeiro, Raul E. Silvera
  • Publication number: 20160188242
    Abstract: Embodiments are directed to a method of accessing a data frame. The method includes, based at least in part on a determination that the data frame spans first and second memory blocks, and further based at least in part on a determination that the processor has access to the first and second memory blocks, accessing the data frame. The method includes, based at least in part on a determination that the data frame spans the first and second memory blocks, and based at least in part on a determination that the processor has access to the first memory block but does not have access to the second memory block, accessing a first portion of the data frame that is in the first memory block, and accessing at least one default character as a replacement for accessing a second portion of the data frame that is in the second memory block.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Michael Gschwind, Brett Olsson, Raul E. Silvera
  • Publication number: 20160188496
    Abstract: Embodiments are directed to a computer implemented method of accessing a data frame, wherein a first portion of the data frame is in a first memory block, and wherein a second portion of the data frame is in a second memory block. The method includes initiating, by a processor, an access of the data frame. The method further includes accessing, by the processor, the first portion of the data frame. The method further includes, based at least in part on a determination that the processor does not have access to the second memory block, accessing at least one default character as a replacement for accessing the second portion of the data frame.
    Type: Application
    Filed: August 10, 2015
    Publication date: June 30, 2016
    Inventors: Michael Gschwind, Brett Olsson, Raul E. Silvera
  • Publication number: 20160154636
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Application
    Filed: February 4, 2016
    Publication date: June 2, 2016
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Publication number: 20160154637
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Application
    Filed: February 4, 2016
    Publication date: June 2, 2016
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 9298630
    Abstract: A computer processor collects information for a dominant data access loop and reference code patterns based on data reference pattern analysis, and for pointer aliasing and data shape based on pointer escape analysis. The computer processor selects a candidate array for data splitting wherein the candidate array is referenced by a dominant data access loop. The computer processor determines a data splitting mode by which to split the data of the candidate array, based on the reference code patterns, the pointer aliasing, and the data shape information, and splits the data into two or more split arrays. The computer processor creates a software cache that includes a portion of the data of the two or more split arrays in a transposed format, and maintains the portion of the transposed data within the software cache and consults the software cache during an access of the split arrays.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: March 29, 2016
    Assignee: GLOBALFOUNDRIES INC.
    Inventors: Christopher M. Barton, Shimin Cui, Satish K. Sadasivam, Raul E. Silvera, Madhavi G. Valluri, Steven W White
  • Patent number: 9286190
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: May 8, 2013
    Date of Patent: March 15, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera
  • Patent number: 9274931
    Abstract: Arrangements described herein relate to inserting implicit sequence points into computer program code to support debug operations. Optimization of the computer program code can be performed during compilation of the computer program code and, during the optimization, implicit sequence points can be inserted into the computer program code. The implicit sequence points can be configured to provide virtual reads of symbols contained in the computer program code when the implicit sequence points are reached during execution of the computer program code during a debug operation performed on the computer program code after the computer program code is optimized and compiled.
    Type: Grant
    Filed: May 6, 2013
    Date of Patent: March 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Christopher E. Bowler, Chen Chen, Reid T. Copeland, Tommy U. Hoffner, Tarique M. Islam, Raúl E. Silvera