Patents by Inventor Cliff N. Click, Jr.

Cliff 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: 10671400
    Abstract: A system includes a processor configured to: initiate atomic execution of a plurality of instruction units in a thread, starting with a beginning instruction unit in the plurality of instruction units, wherein the plurality of instruction units in the thread are not programmatically specified to be executed atomically, and wherein the plurality of instruction units includes one or more memory modification instructions; in response to executing an instruction to commit inserted into the plurality of instructions units, incrementally commit a portion of the one or more memory modification instructions that have been atomically executed so far; and subsequent to incrementally committing the portion of the memory modification instructions that have been atomically executed so far, continue atomic execution of the plurality of instruction units. The system further includes a memory coupled to the processor, configured to provide the processor with the plurality of instruction units.
    Type: Grant
    Filed: February 15, 2018
    Date of Patent: June 2, 2020
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, Jr.
  • Publication number: 20180307493
    Abstract: A system includes a processor configured to: initiate atomic execution of a plurality of instruction units in a thread, starting with a beginning instruction unit in the plurality of instruction units, wherein the plurality of instruction units in the thread are not programmatically specified to be executed atomically, and wherein the plurality of instruction units includes one or more memory modification instructions; in response to executing an instruction to commit inserted into the plurality of instructions units, incrementally commit a portion of the one or more memory modification instructions that have been atomically executed so far; and subsequent to incrementally committing the portion of the memory modification instructions that have been atomically executed so far, continue atomic execution of the plurality of instruction units. The system further includes a memory coupled to the processor, configured to provide the processor with the plurality of instruction units.
    Type: Application
    Filed: February 15, 2018
    Publication date: October 25, 2018
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, JR.
  • Patent number: 9928071
    Abstract: A system includes a processor configured to: initiate atomic execution of a plurality of instruction units in a thread, starting with a beginning instruction unit in the plurality of instruction units, wherein the plurality of instruction units in the thread are not programmatically specified to be executed atomically; detect an atomicity terminating event during atomic execution of the plurality of instruction units, wherein the atomicity terminating event is triggered by a memory access by another processor; and commit at least some of the one or more memory modification instructions. The system further includes a memory coupled to the processor, configured to provide the processor with the plurality of instruction units.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: March 27, 2018
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, Jr.
  • Patent number: 9928072
    Abstract: A system includes a processor configured to: initiate atomic execution of a plurality of instruction units in a thread, starting with a beginning instruction unit in the plurality of instruction units, wherein the plurality of instruction units is not programmatically specified to be executed atomically; detect an atomicity terminating event during atomic execution of the plurality of instruction units, wherein the atomicity terminating event is triggered by a memory access by another processor; and establish an incidentally atomic sequence of instruction units based at least in part on detection of the atomicity terminating event, wherein the incidentally atomic sequence of instruction units correspond to a sequence of instruction units in the plurality of instruction units. The system further includes a memory coupled to the processor, configured to provide the processor with the plurality of instruction units.
    Type: Grant
    Filed: May 1, 2009
    Date of Patent: March 27, 2018
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, Jr.
  • Patent number: 9594659
    Abstract: Indicating usage in a system includes implementing a performance counter associated with one or more hardware threads; counting events associated with the one or more hardware threads to determine an event count; deriving an initial measure of usage of a processor core associated with the one or more hardware threads based at least in part on the event count; applying a corrective function to modify the initial measure of usage and determine a modified measure of usage, wherein the modified measure of usage has a value that is different from and not equivalent to the initial measure of usage; and outputting an indication of a processor usage, the indication being based at least in part on the modified measure of usage.
    Type: Grant
    Filed: August 15, 2014
    Date of Patent: March 14, 2017
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, Jr.
  • Patent number: 9342319
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Grant
    Filed: August 11, 2014
    Date of Patent: May 17, 2016
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Publication number: 20150094987
    Abstract: Indicating usage in a system includes implementing a performance counter associated with one or more hardware threads; counting events associated with the one or more hardware threads to determine an event count; deriving an initial measure of usage of a processor core associated with the one or more hardware threads based at least in part on the event count; applying a corrective function to modify the initial measure of usage and determine a modified measure of usage, wherein the modified measure of usage has a value that is different from and not equivalent to the initial measure of usage; and outputting an indication of a processor usage, the indication being based at least in part on the modified measure of usage.
    Type: Application
    Filed: August 15, 2014
    Publication date: April 2, 2015
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, JR.
  • Patent number: 8839274
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Grant
    Filed: September 7, 2011
    Date of Patent: September 16, 2014
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Patent number: 8838940
    Abstract: Indicating usage in a system is disclosed. Indicating includes obtaining active thread information related to a number of hardware threads in a processor core, combining the active thread information with information related to a decreasing ability of the processor core to increase throughput by utilizing additional hardware threads, and indicating the usage in the system based at least in part on both the active thread information and the ability of the processor core to increase throughput by utilizing additional hardware threads.
    Type: Grant
    Filed: June 7, 2006
    Date of Patent: September 16, 2014
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Michael A. Wolf, Cliff N. Click, Jr.
  • Patent number: 8230271
    Abstract: Detecting a race condition is disclosed. An indication of a store operation to a memory address is received. An identifier of the memory address is stored. The identifier is used to detect an occurrence of a memory operation that is not associated with a previous ordering operation.
    Type: Grant
    Filed: October 22, 2010
    Date of Patent: July 24, 2012
    Assignee: Azul Systems, Inc.
    Inventors: Daniel Dwight Grove, Ivan Posva, Jack H. Choquette, Cliff N. Click, Jr., Jeffrey Gee
  • Publication number: 20110321064
    Abstract: Handling a virtual method call includes extracting, from a pointer to an object, an identifier associated with the class of the object, the pointer to the object being associated with the virtual method call, and the identifier being embedded within the pointer; using the identifier to obtain a virtual method table, including locating a first entry in a class identifier table mapping a plurality of class identifiers to a corresponding plurality of class data, the first entry being associated with the identifier and comprising the virtual method table or a pointer used to obtain the virtual method table; locating a second entry in the virtual method table, the second entry being associated with the virtual method call; and jumping to an address associated with the second entry to execute code at the address.
    Type: Application
    Filed: September 7, 2011
    Publication date: December 29, 2011
    Applicant: AZUL SYSTEMS, INC.
    Inventors: Gil Tene, Cliff N. Click, JR., Murali Sundaresan, Michael A. Wolf
  • Patent number: 8046544
    Abstract: A computer system includes a processor; and a memory coupled to the processor, configured to provide the processor with a plurality of instructions including a set of garbage collection instructions configured to perform one or more garbage collection barrier operations and a subsequent instruction that immediately follows the garbage collection instruction; wherein the processor is configured to execute the set of garbage collection instructions, including by: evaluating a memory reference to determine a condition associated with the set of garbage collection instructions; and in the event that the condition is met, while maintaining the same privilege level, saving information that is based at least in part on the current value of a program counter, and setting the program counter to correspond to a target location that is other than the location of the subsequent instruction.
    Type: Grant
    Filed: November 25, 2009
    Date of Patent: October 25, 2011
    Assignee: Azul Systems, Inc.
    Inventors: Cliff N. Click, Jr., Gil Tene, Michael A. Wolf
  • Patent number: 8037482
    Abstract: Reaching a determination associated with a class of an object is disclosed. An identifier associated with the class of the object is extracted from a pointer to the object. The extracted identifier is compared to a comparison value. At least in part using a result of the comparison a determination is reached.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: October 11, 2011
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Cliff N. Click, Jr., Murali Sundaresan, Michael A. Wolf
  • Publication number: 20110041015
    Abstract: Detecting a race condition is disclosed. An indication of a store operation to a memory address is received. An identifier of the memory address is stored. The identifier is used to detect an occurrence of a memory operation that is not associated with a previous ordering operation.
    Type: Application
    Filed: October 22, 2010
    Publication date: February 17, 2011
    Applicant: AZUL SYSTEMS, INC.
    Inventors: Daniel Dwight Grove, Ivan Posva, Jack H. Choquette, Cliff N. Click, JR., Jeffrey Gee
  • Patent number: 7844862
    Abstract: Detecting a race condition is disclosed. An indication of a store operation to a memory address is received. An identifier of the memory address is stored. The identifier is used to detect an occurrence of a memory operation that is not associated with a previous ordering operation.
    Type: Grant
    Filed: March 8, 2007
    Date of Patent: November 30, 2010
    Assignee: Azul Systems, Inc.
    Inventors: Daniel Dwight Grove, Ivan Posva, Jack H. Choquette, Cliff N. Click, Jr., Jeffrey Gee
  • Publication number: 20100180090
    Abstract: A computer system includes a processor; and a memory coupled to the processor, configured to provide the processor with a plurality of instructions including a set of garbage collection instructions configured to perform one or more garbage collection barrier operations and a subsequent instruction that immediately follows the garbage collection instruction; wherein the processor is configured to execute the set of garbage collection instructions, including by: evaluating a memory reference to determine a condition associated with the set of garbage collection instructions; and in the event that the condition is met, while maintaining the same privilege level, saving information that is based at least in part on the current value of a program counter, and setting the program counter to correspond to a target location that is other than the location of the subsequent instruction.
    Type: Application
    Filed: November 25, 2009
    Publication date: July 15, 2010
    Inventors: Cliff N. Click, JR., Gil Tene, Michael A. Wolf
  • Patent number: 7647458
    Abstract: A computer system includes a processor; and a memory coupled to the processor, configured to provide the processor with a plurality of instructions including a garbage collection barrier instruction and a subsequent instruction that immediately follows the garbage collection barrier instruction; wherein the processor is configured to execute the garbage collection barrier instruction, including by: evaluating a memory reference to determine a condition associated with the garbage collection barrier instruction; and in the event that the condition is met, while maintaining the same privilege level, saving information that is based at least in part on the current value of a program counter, and setting the program counter to correspond to a target location that is other than the location of the subsequent instruction.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: January 12, 2010
    Assignee: Azul Systems, Inc.
    Inventors: Cliff N. Click, Jr., Gil Tene, Michael A. Wolf
  • Patent number: 7577801
    Abstract: Accessing memory in an array includes performing a first instruction, including by determining whether an index used by the first instruction is within a valid range and in the event that the index is within a valid range, determining a memory address related to an array element that corresponds to the index. Accessing memory in the array further includes, in the event that the index is within a valid range, performing a second instruction to access the array element, the access being based at least in part on the memory address determined by the first instruction.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: August 18, 2009
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Jack H. Choquette, Scott Sellers, Cliff N. Click, Jr.
  • Patent number: 7552302
    Abstract: Executing an ordering operation is disclosed. A store operation associated with storing a value into a portion of a memory is initiated. An ordering operation to ensure that the store operation, but not necessarily all store operations, are completed is executed.
    Type: Grant
    Filed: September 14, 2005
    Date of Patent: June 23, 2009
    Assignee: Azul Systems, Inc.
    Inventors: Gil Tene, Kevin Normoyle, Jack Choquette, David Kruckernyer, Cliff N. Click, Jr.
  • Patent number: 7401202
    Abstract: Addressing memory includes receiving a first operand to a memory addressing operator, receiving a second operand to the memory addressing operator, performing sign extension on the first operand to provide a sign-extended operand, shifting the sign-extended operand to provide a shifted, sign-extended operand, and adding the shifted, sign-extended operand to the second operand. The second operand has a different bit length than the first operand.
    Type: Grant
    Filed: September 14, 2005
    Date of Patent: July 15, 2008
    Assignee: Azul Systems, Inc.
    Inventor: Cliff N. Click, Jr.