Patents by Inventor Lars Bak

Lars Bak 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: 6009517
    Abstract: Systems and methods for implementing an execution stack which stores frames for functions written in multiple programming languages are provided. The frames for functions written in different programming languages may be interleaved on the same execution stack. A data block on the execution stack may be utilized to traverse the execution stack around a frame by storing a stack pointer and frame pointer to a previous frame. Additionally, exceptions may be propagated, with conversion if necessary, through frames on the execution stack that are written in different programming languages.
    Type: Grant
    Filed: October 6, 1997
    Date of Patent: December 28, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Robert Griesemer, Urs Holzle
  • Patent number: 5999732
    Abstract: Techniques for reducing the cost of dynamic class loading and initialization checks in compiled code are provided. Virtual machine instructions are compiled into one or more native machine instructions even if required runtime execution information is unavailable at the time of compilation. The native machine instructions include placeholder data where the required runtime execution information should be. The native machine instructions are overwritten with a native machine instruction that transfers control to a section of code or stub that, at runtime execution, replaces the placeholder data with the required runtime execution information and execution continues.
    Type: Grant
    Filed: March 23, 1998
    Date of Patent: December 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Srdjan Mitrovic
  • Patent number: 5970249
    Abstract: Methods and apparatus for dynamically compiling byte codes associated with methods during idle periods in the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer systems that are arranged to execute both interpreted and compiled byte codes. In some embodiments, methods to be dynamically compiled are referenced in one or more lists. The lists may be prioritized to facilitate the compilation of the highest priority methods first. In one embodiment, a pair of compilation lists are provided with a first one of the compilation lists being created prior to processing the computer program while the other is created during the processing of the computer program.
    Type: Grant
    Filed: October 6, 1997
    Date of Patent: October 19, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Urs Holzle, Lars Bak
  • Patent number: 5933635
    Abstract: Methods and apparatus for dynamically deoptimizing a frame in a control stack during the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer systems that are arranged to execute both interpreted and compiled byte codes. According to one aspect of the present invention, a computer-implemented method for deoptimizing a compiled method includes creating a data structure. The data structure, which is separate from the control stack, is arranged to store information relating to the compiled method. A reference indicator, such as a pointer, is created to associate the data structure with the frame. The method, which is compiled to a first state of optimization, is then deoptimized to a second state of optimization, and the method in the first state of optimization may be discarded, thereby deoptimizing the frame.
    Type: Grant
    Filed: October 6, 1997
    Date of Patent: August 3, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Urs Holzle, Lars Bak