Patents by Inventor Tobias Edler Von Koch

Tobias Edler Von Koch 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: 10152311
    Abstract: A method for compiling software code comprises scanning call sites within the code to identify a function that is called with at least one constant argument and creating a list of each call site associated with the function and sets of constant arguments passed to the function. If any common subsets of the constant arguments are shared across a plurality of call sites, a size of the function is estimated. selecting any sets of constant arguments that are used only in one call site. The sizes of specialized functions covering sets of constant arguments that are used in only one call site is estimated. The method comprises creating a first set of specialized versions of the function covering one or more sets of constant arguments that are used in only one call site, and if any common subsets of the constant arguments exist, creating a second set of specialized versions of the function.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: December 11, 2018
    Assignee: QUALCOMM Innovation Center, Inc.
    Inventor: Tobias Edler Von Koch
  • Patent number: 10133560
    Abstract: A method for optimizing source code comprises optimizing the source code of files from a computer program at link-time, and receiving, at a linker, a customized linker script defining output sections for files of an executable version of the files of the computer program. The method comprises adding, to intermediate representation files having global or local symbols, metadata comprising default section assignment information for the symbols and recording, for symbols in machine code files, an origin path and an output section. The method further comprises parsing, by the compiler, the intermediate representation files, recording the symbols and related symbol information comprising default section assignment and dependency information of the intermediate representation files, assigning output sections to the symbols based on the default section assignments and instructions from the customized linker script, and linking optimized code of the files of the computer program based on the assigned output sections.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: November 20, 2018
    Assignee: QUALCOMM Innovation Center, Inc.
    Inventors: Sergei Larin, Shankar Kalpathi Easwaran, Hemant Kulkarni, Tobias Edler Von Koch
  • Publication number: 20180275976
    Abstract: A method for placing local symbols in an executable comprises determining an original output section for one or more symbols, storing original section metadata for each of the one or more symbols with intermediate representations of the one or more symbols, and determining an origin module identifier and storing origin module identifier metadata. The method comprises emitting each of the one or more symbols to one or more output sections based on the original section metadata and the origin module identifier metadata, extracting the original section metadata and origin module identifier metadata from the one or more symbols emitted to the one or more output sections, and overriding a name of a section with an original section name associated with the one or more symbols. The method comprises overriding a default origin name of the executable section with an origin module identifier associated with the one or more symbols.
    Type: Application
    Filed: September 21, 2017
    Publication date: September 27, 2018
    Inventors: Tobias Edler Von Koch, Sergei Larin, Shankar Kalpathi Easwaran
  • Publication number: 20180129490
    Abstract: A method for enforcing an original order of global symbols during link-time optimization of software code in the presence of a linker script. The method may comprise scanning the original order of global and local symbols in an input file and then recording the original order as a map structure. The method may then include mapping the global symbols to original output sections and interpreting the map structure. The method may then comprise sorting the global and local symbols and emitting an executable wherein the original order of the global and local symbols is preserved.
    Type: Application
    Filed: September 19, 2017
    Publication date: May 10, 2018
    Inventors: Shankar Kalpathi Easwaran, Sergei Larin, Tobias Edler Von Koch
  • Publication number: 20180081650
    Abstract: A method for optimizing source code comprises optimizing the source code of files from a computer program at link-time, and receiving, at a linker, a customized linker script defining output sections for files of an executable version of the files of the computer program. The method comprises adding, to intermediate representation files having global or local symbols, metadata comprising default section assignment information for the symbols and recording, for symbols in machine code files, an origin path and an output section. The method further comprises parsing, by the compiler, the intermediate representation files, recording the symbols and related symbol information comprising default section assignment and dependency information of the intermediate representation files, assigning output sections to the symbols based on the default section assignments and instructions from the customized linker script, and linking optimized code of the files of the computer program based on the assigned output sections.
    Type: Application
    Filed: September 22, 2016
    Publication date: March 22, 2018
    Inventors: Sergei Larin, Shankar Kalpathi Easwaran, Hemant Kulkarni, Tobias Edler Von Koch
  • Patent number: 9851959
    Abstract: Herein disclosed is an optimization for a compiler, the optimization configured to assign numeric values, or semantic fingerprints, to portions of code, and to combine these fingerprints to arrive at fingerprints for larger and larger portions of code. The fingerprints can be provided to various consumers such as code redundancy optimization modules and copyright violation and malware/virus identification modules. The fingerprints can also be used to cluster similar code, and then code within each cluster can be merged. Merger can include creating a single merged portion of code including the same portions of code from the original portions of code plus control flow and new arguments to account for differences between the original portions of code. The original portions of code can be replaced with wrappers that use new arguments to call to the merged portion of code.
    Type: Grant
    Filed: August 22, 2016
    Date of Patent: December 26, 2017
    Assignee: QUALCOMM Innovation Center, Inc.
    Inventor: Tobias Edler Von Koch
  • Publication number: 20170242670
    Abstract: A method for compiling software code comprises scanning call sites within the code to identify a function that is called with at least one constant argument and creating a list of each call site associated with the function and sets of constant arguments passed to the function. If any common subsets of the constant arguments are shared across a plurality of call sites, a size of the function is estimated. selecting any sets of constant arguments that are used only in one call site. The sizes of specialized functions covering sets of constant arguments that are used in only one call site is estimated. The method comprises creating a first set of specialized versions of the function covering one or more sets of constant arguments that are used in only one call site, and if any common subsets of the constant arguments exist, creating a second set of specialized versions of the function.
    Type: Application
    Filed: September 16, 2016
    Publication date: August 24, 2017
    Inventor: Tobias Edler Von Koch
  • Publication number: 20170242671
    Abstract: Herein disclosed is an optimization for a compiler, the optimization configured to assign numeric values, or semantic fingerprints, to portions of code, and to combine these fingerprints to arrive at fingerprints for larger and larger portions of code. The fingerprints can be provided to various consumers such as code redundancy optimization modules and copyright violation and malware/virus identification modules. The fingerprints can also be used to cluster similar code, and then code within each cluster can be merged. Merger can include creating a single merged portion of code including identical portions of code from the original portions of code and control flow and new arguments to account for differences between the original portions of code. The original portions of code can be replaced with wrappers that use new arguments to call to the merged portion of code.
    Type: Application
    Filed: September 9, 2016
    Publication date: August 24, 2017
    Inventors: Tobias Edler Von Koch, Sergei Larin, Anshuman Das Gupta
  • Publication number: 20170235556
    Abstract: Herein disclosed is an optimization for a compiler, the optimization configured to assign numeric values, or semantic fingerprints, to portions of code, and to combine these fingerprints to arrive at fingerprints for larger and larger portions of code. The fingerprints can be provided to various consumers such as code redundancy optimization modules and copyright violation and malware/virus identification modules. The fingerprints can also be used to cluster similar code, and then code within each cluster can be merged. Merger can include creating a single merged portion of code including the same portions of code from the original portions of code plus control flow and new arguments to account for differences between the original portions of code. The original portions of code can be replaced with wrappers that use new arguments to call to the merged portion of code.
    Type: Application
    Filed: August 22, 2016
    Publication date: August 17, 2017
    Inventor: Tobias Edler Von Koch