Patents by Inventor Clifford N. Click, Jr.

Clifford N. Click, Jr. 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: 6553565
    Abstract: Methods and apparatus for providing a substantially full set of state information to a debugger, without significantly compromising system performance, in order to debug optimized computer program code are disclosed. According to one aspect of the present invention, a method for obtaining information associated with program code includes adding a segment of code, which includes a representation that is effectively not used after it is computed, to the program code. Debugging code is added in proximity to the segment of code, and machine code is generated from the program code. The machine code includes a break point that is associated with the debugging code, and includes an instruction at the breakpoint. Finally, the method includes replacing the instruction at the break point with a branch instruction that is arranged to cause the debugging code to execute.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: April 22, 2003
    Assignee: Sun Microsystems, Inc
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6526570
    Abstract: Systems and methods for building a platform specific compiler in a multi-platform environment are provided. A set of user defined platform dependent compiler architecture descriptors that describe corresponding architectural features of a particular hardware platform dependent compiler are provided. The descriptors are converted into the platform dependent compiler source code which is compiled into platform dependent compiler object code. The platform specific compiler is formed from the platform dependent compiler object code and platform independent compiler object code already provide. During compiler run time an interface mediates the flow of information between the platform dependent compiler object code and the platform independent compiler object code.
    Type: Grant
    Filed: April 24, 2000
    Date of Patent: February 25, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6434743
    Abstract: Methods and apparatus for allocating and using stack space are disclosed. According to one aspect of the present invention, a computer-implemented method for allocating stack space in an object-based system includes obtaining source code that is suitable for compilation and includes a definition associated with a variable. During register allocation, stack slots and machine registers are treated substantially similarly. This includes the steps of building an interference graph, copy coalescing, attempting to color the interference graph, and determining if the attempt to color the interference graph is successful. If the coloring attempt is not successful, then in lieu of normal spill code being inserted, register-to-register copies, e.g., “reg-reg” copies, are inserted in the source code. The “reg-reg” copies include copies associated with both stack slots and machine registers.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: August 13, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6421824
    Abstract: Methods and apparatus for reducing the number of edges described by an interference graph are disclosed. According to one aspect of the present invention, a computer-implemented method for allocating memory space in an object-based computing system includes obtaining source code that includes a code segment associated with a first variable and a code segment associated with a second variable. The method also includes binding the first variable to a specific register, and obtaining a live range for the second variable. Once the live range for the second variable is obtained, a register allocation is performed. Performing the register allocation includes creating an interference graph that includes a representation of the second variable and does not to include a representation of the first variable. In one embodiment, obtaining source code that includes the code segment associated with the first variable includes obtaining a call to a subroutine which includes the first variable as an argument in the call.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: July 16, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6408433
    Abstract: Methods and apparatus for enabling a register allocator to build a calling convention are disclosed. According to one aspect of the present invention, a computer-implemented method for generating code associated with a calling convention includes obtaining compilable source code, and identifying at least one argument associated with the calling convention. The location of the argument with respect to memory space is described by a register mask. The method also includes performing a register allocation using a register allocator that is arranged to allocate registers. During the register allocation, code associated with the calling convention is produced automatically by the spill-code mechanism in the allocator without requiring the use of a specialized prolog or epilog code generator.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: June 18, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6381737
    Abstract: Systems and methods for automatically providing an adapter or a stub in a runtime environment are provided. An adapter generator is provided with input parameters that are in turn processed and input to a compiler. The compiler, in turn, is coupled to an adapter library used to store the generated adapters. The adapter library, in turn, provides adapters, on demand to a runtime system when executing a bytecode, or a series of bytecodes.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: April 30, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6363522
    Abstract: Methods and apparatus for handling exceptions as a part of normal program control flow are disclosed. According to one aspect of the present invention, a method for processing an exception in an object-based system includes obtaining source code that includes a code segment which is arranged to explicitly specify instructions pertaining to an exception check. The method also includes creating a final internal representation of the source code at least in part by removing a call associated with the exception check, and generating machine code associated with the final internal representation. In one embodiment, the method further includes executing the machine code. In another embodiment, creating the final internal representation of the source code includes processing the exception check as a part of a control flow associated with the source code.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: March 26, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny
  • Patent number: 6286134
    Abstract: Systems and methods for building a platform specific compiler having an embedded instruction selector in a multi-platform environment are provided. A set of user defined platform dependent compiler architecture descriptors that describe corresponding architectural features and a set of instruction predicates defining those instructions to be selected are converted to platform dependent compiler object code and instruction selector object code, respectively. The platform specific compiler having the embedded instruction selector is formed from the platform dependent compiler object code, the instruction selector object code, and the platform independent compiler object code.
    Type: Grant
    Filed: April 23, 1999
    Date of Patent: September 4, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Clifford N. Click, Jr., Christopher A. Vick, Michael H. Paleczny