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: 11847435Abstract: 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: GrantFiled: December 20, 2021Date of Patent: December 19, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Wai Hung Tsang, Jinsong Ji
-
Publication number: 20230195437Abstract: 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: ApplicationFiled: December 20, 2021Publication date: June 22, 2023Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Wai Hung TSANG, Jinsong JI
-
Patent number: 11645076Abstract: 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: GrantFiled: July 26, 2021Date of Patent: May 9, 2023Assignee: International Business Machines CorporationInventors: Jinsong Ji, Zheng Chen, Ke Wen Lin
-
Patent number: 11615014Abstract: 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: GrantFiled: July 29, 2021Date of Patent: March 28, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Zheng Chen, Jinsong Ji, Chaofan Qiu, Xiong Hu Luo
-
Publication number: 20230034188Abstract: 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: ApplicationFiled: July 29, 2021Publication date: February 2, 2023Inventors: Zheng CHEN, Jinsong JI, Chaofan QIU, Xiong Hu LUO
-
Publication number: 20230029183Abstract: 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: ApplicationFiled: July 26, 2021Publication date: January 26, 2023Inventors: JINSONG JI, Zheng Chen, Ke Wen Lin
-
Patent number: 11182272Abstract: 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: GrantFiled: April 17, 2018Date of Patent: November 23, 2021Assignee: International Business Machines CorporationInventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
-
Publication number: 20190317877Abstract: 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: ApplicationFiled: April 17, 2018Publication date: October 17, 2019Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
-
Patent number: 10289391Abstract: 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: GrantFiled: January 4, 2016Date of Patent: May 14, 2019Assignee: International Business Machines CorporationInventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
-
Patent number: 9870309Abstract: 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: GrantFiled: October 22, 2015Date of Patent: January 16, 2018Assignee: International Business Machines CorporationInventors: Xiao F. Guan, Jinsong Ji, Yi Z. Mao, Yuheng Zhang
-
Publication number: 20160154726Abstract: 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: ApplicationFiled: October 22, 2015Publication date: June 2, 2016Inventors: Xiao F. Guan, Jinsong Ji, Yi Z. Mao, Yuheng Zhang
-
Publication number: 20160117156Abstract: 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: ApplicationFiled: January 4, 2016Publication date: April 28, 2016Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
-
Patent number: 9235391Abstract: 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: GrantFiled: March 13, 2015Date of Patent: January 12, 2016Assignee: International Business Machines CorporationInventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
-
Publication number: 20150277875Abstract: 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: ApplicationFiled: March 13, 2015Publication date: October 1, 2015Inventors: Huai Yun Ban, JiuFu Guo, Jinsong Ji, Si Yuan Zhang
-
Publication number: 20140192207Abstract: 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: ApplicationFiled: January 6, 2014Publication date: July 10, 2014Inventors: Jinsong Ji, William Herz
-
Patent number: 8619973Abstract: 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: GrantFiled: July 13, 2009Date of Patent: December 31, 2013Assignee: Nvidia CorporationInventors: Hao Tang, Jinsong Ji, William Herz
-
Publication number: 20100150339Abstract: 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: ApplicationFiled: July 13, 2009Publication date: June 17, 2010Inventors: Hao Tang, Jinsong Ji, William Herz