Patents by Inventor Jinsong Ji

Jinsong Ji 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: 11847435
    Abstract: Feedback-directed pass pipeline optimization in static compilation includes receiving a set of source input of source code by a static compiler. The static compiler initiates a compilation operation on the source code in which, in a pass pipeline during the compilation operation that creates an intermediate representation (IR) representing the source code, a set of optimization diagnostics identified during a first pass of the pass pipeline is emitted into a side file. The pass pipeline is then optimized using the set of optimization diagnostics.
    Type: Grant
    Filed: December 20, 2021
    Date of Patent: December 19, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wai Hung Tsang, Jinsong Ji
  • Publication number: 20230195437
    Abstract: Feedback-directed pass pipeline optimization in static compilation includes receiving a set of source input of source code by a static compiler. The static compiler initiates a compilation operation on the source code in which, in a pass pipeline during the compilation operation that creates an intermediate representation (IR) representing the source code, a set of optimization diagnostics identified during a first pass of the pass pipeline is emitted into a side file. The pass pipeline is then optimized using the set of optimization diagnostics.
    Type: Application
    Filed: December 20, 2021
    Publication date: June 22, 2023
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wai Hung TSANG, Jinsong JI
  • Patent number: 11645076
    Abstract: Provided are embodiments for a method of performing register pressure targeted function splitting. The method can include determining a candidate region of a function, the candidate region comprising variables, and determining a number of available registers in a computing system for allocating the variables of the function. The method can also include grouping the variables in the candidate region into first variables and second variables based at least in part on the number of available registers, and splitting the candidate region of the function into split functions based at least in part on the grouping of the variables. Also provided are embodiments for a computer program product and a system for performing register pressure targeted function splitting.
    Type: Grant
    Filed: July 26, 2021
    Date of Patent: May 9, 2023
    Assignee: International Business Machines Corporation
    Inventors: Jinsong Ji, Zheng Chen, Ke Wen Lin
  • Patent number: 11615014
    Abstract: Provided are techniques for using relocatable debugging information entries to save compile time when there are changes to source code. While compiling source code, for an unchanged function, a copy is made of a relocatable debugging information entries table and of a relocation information table. In addition, for a changed function, a new relocatable debugging information entries table and a new relocation information table are generated. The copy of the relocatable debugging information entries table and the new relocatable debugging information entries table are merged. The copy of the relocation information table and the new relocation information table are merged. The relocatable debugging information entries in the merged relocatable debugging information entries table are resolved according to information in the merged relocation information table to generate relocated Debugging with Attributed Record Formats information, which is stored in an object file that corresponds to the source code.
    Type: Grant
    Filed: July 29, 2021
    Date of Patent: March 28, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zheng Chen, Jinsong Ji, Chaofan Qiu, Xiong Hu Luo
  • Publication number: 20230034188
    Abstract: Provided are techniques for using relocatable debugging information entries to save compile time when there are changes to source code. While compiling source code, for an unchanged function, a copy is made of a relocatable debugging information entries table and of a relocation information table. In addition, for a changed function, a new relocatable debugging information entries table and a new relocation information table are generated. The copy of the relocatable debugging information entries table and the new relocatable debugging information entries table are merged. The copy of the relocation information table and the new relocation information table are merged. The relocatable debugging information entries in the merged relocatable debugging information entries table are resolved according to information in the merged relocation information table to generate relocated Debugging with Attributed Record Formats information, which is stored in an object file that corresponds to the source code.
    Type: Application
    Filed: July 29, 2021
    Publication date: February 2, 2023
    Inventors: Zheng CHEN, Jinsong JI, Chaofan QIU, Xiong Hu LUO
  • Publication number: 20230029183
    Abstract: Provided are embodiments for a method of performing register pressure targeted function splitting. The method can include determining a candidate region of a function, the candidate region comprising variables, and determining a number of available registers in a computing system for allocating the variables of the function. The method can also include grouping the variables in the candidate region into first variables and second variables based at least in part on the number of available registers, and splitting the candidate region of the function into split functions based at least in part on the grouping of the variables.
    Type: Application
    Filed: July 26, 2021
    Publication date: January 26, 2023
    Inventors: JINSONG JI, Zheng Chen, Ke Wen Lin
  • Patent number: 11182272
    Abstract: Embodiments of the present disclosure relate to methods, systems, and computer program products for monitoring a state of an application. A target object that is to be monitored in an application may be determined in response to receiving a monitoring configuration. A position of the target object in source codes of the application may be identified. A state of the target object may be monitored in response to the application being traced to a location corresponding to the position.
    Type: Grant
    Filed: April 17, 2018
    Date of Patent: November 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
  • Publication number: 20190317877
    Abstract: Embodiments of the present disclosure relate to methods, systems, and computer program products for monitoring a state of an application. A target object that is to be monitored in an application may be determined in response to receiving a monitoring configuration. A position of the target object in source codes of the application may be identified. A state of the target object may be monitored in response to the application being traced to a location corresponding to the position.
    Type: Application
    Filed: April 17, 2018
    Publication date: October 17, 2019
    Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
  • Patent number: 10289391
    Abstract: A method, apparatus, and computer program product for optimizing software are provided. The software includes a plurality of modules which include at least one controllable module, the method comprises: determining a shared symbol defined by the at least one controllable module, the shared symbol being a symbol used by two or more modules of the software; generating a symbol use file indicating the shared symbol defined by the at least one controllable module; and rebuilding the software based on the symbol use file, so that a symbol table in a controllable module of the rebuilt software only contains the shared symbol indicated in the symbol use file. A number of symbols in the symbol table can be reduced accurately and effectively, thereby time needed for loading the symbol table can be reduced and software execution efficiency can be improved.
    Type: Grant
    Filed: January 4, 2016
    Date of Patent: May 14, 2019
    Assignee: International Business Machines Corporation
    Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
  • Patent number: 9870309
    Abstract: A method and system for structuring program code to implement program debugging of the program code using tracking of variables. A first variable to be tracked and a first expression associated with the first variable are determined. The program code includes the first variable and the first expression. A reverse scanning of the program code is performed to search for a first assignment expression within a first assignment statement that assigns a value of the first assignment expression to the first variable. In response to finding the first assignment expression via the reverse scanning, a first watch point for determining a true/false value of the first expression is inserted into the program code after the first assignment statement.
    Type: Grant
    Filed: October 22, 2015
    Date of Patent: January 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Xiao F. Guan, Jinsong Ji, Yi Z. Mao, Yuheng Zhang
  • Publication number: 20160154726
    Abstract: A method and system for structuring program code to implement program debugging of the program code using tracking of variables. A first variable to be tracked and a first expression associated with the first variable are determined. The program code includes the first variable and the first expression. A reverse scanning of the program code is performed to search for a first assignment expression within a first assignment statement that assigns a value of the first assignment expression to the first variable. In response to finding the first assignment expression via the reverse scanning, a first watch point for determining a true/false value of the first expression is inserted into the program code after the first assignment statement.
    Type: Application
    Filed: October 22, 2015
    Publication date: June 2, 2016
    Inventors: Xiao F. Guan, Jinsong Ji, Yi Z. Mao, Yuheng Zhang
  • Publication number: 20160117156
    Abstract: A method, apparatus, and computer program product for optimizing software are provided. The software includes a plurality of modules which include at least one controllable module, the method comprises: determining a shared symbol defined by the at least one controllable module, the shared symbol being a symbol used by two or more modules of the software; generating a symbol use file indicating the shared symbol defined by the at least one controllable module; and rebuilding the software based on the symbol use file, so that a symbol table in a controllable module of the rebuilt software only contains the shared symbol indicated in the symbol use file. A number of symbols in the symbol table can be reduced accurately and effectively, thereby time needed for loading the symbol table can be reduced and software execution efficiency can be improved.
    Type: Application
    Filed: January 4, 2016
    Publication date: April 28, 2016
    Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
  • Patent number: 9235391
    Abstract: A method, apparatus, and computer program product for optimizing software are provided. The software includes a plurality of modules which include at least one controllable module, the method comprises: determining a shared symbol defined by the at least one controllable module, the shared symbol being a symbol used by two or more modules of the software; generating a symbol use file indicating the shared symbol defined by the at least one controllable module; and rebuilding the software based on the symbol use file, so that a symbol table in a controllable module of the rebuilt software only contains the shared symbol indicated in the symbol use file. A number of symbols in the symbol table can be reduced accurately and effectively, thereby time needed for loading the symbol table can be reduced and software execution efficiency can be improved.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: January 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
  • Publication number: 20150277875
    Abstract: A method, apparatus, and computer program product for optimizing software are provided. The software includes a plurality of modules which include at least one controllable module, the method comprises: determining a shared symbol defined by the at least one controllable module, the shared symbol being a symbol used by two or more modules of the software; generating a symbol use file indicating the shared symbol defined by the at least one controllable module; and rebuilding the software based on the symbol use file, so that a symbol table in a controllable module of the rebuilt software only contains the shared symbol indicated in the symbol use file. A number of symbols in the symbol table can be reduced accurately and effectively, thereby time needed for loading the symbol table can be reduced and software execution efficiency can be improved.
    Type: Application
    Filed: March 13, 2015
    Publication date: October 1, 2015
    Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
  • Publication number: 20140192207
    Abstract: A system for displaying video is provided that includes a first computing system that has a first display and is operable to render video data from a multimedia source. A video measurement module is associated with the first computing device and operable to calculate from the video data at least one statistic representing at least one aspect of the video data and generating for display a visual depiction of at least one statistic to a user.
    Type: Application
    Filed: January 6, 2014
    Publication date: July 10, 2014
    Inventors: Jinsong Ji, William Herz
  • Patent number: 8619973
    Abstract: The present invention provides a flexible encryption device, comprising N encryption units connected in series for encrypting N-bit input data, each one of the N encryption units further comprising an exclusive-OR gate for receiving an input data; and a flip-flop connected coupled to the exclusive-OR gate. Furthermore, the present invention also provides the data transferring system that can be easily modified without the needs of manual intervention.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: December 31, 2013
    Assignee: Nvidia Corporation
    Inventors: Hao Tang, Jinsong Ji, William Herz
  • Publication number: 20100150339
    Abstract: The present invention provides a flexible encryption device, comprising N encryption units connected in series for encrypting N-bit input data, each one of the N encryption units further comprising an exclusive-OR gate for receiving an input data; and a flip-flop connected coupled to the exclusive-OR gate. Furthermore, the present invention also provides the data transferring system that can be easily modified without the needs of manual intervention.
    Type: Application
    Filed: July 13, 2009
    Publication date: June 17, 2010
    Inventors: Hao Tang, Jinsong Ji, William Herz