Patents by Inventor Gerald Blaine Garst, Jr.

Gerald Blaine Garst, 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: 8781971
    Abstract: A method and apparatus for enforcing software licenses for resource libraries such as an application program interface (API), a toolkit, a framework, a runtime library, a dynamic link library (DLL), an applet (e.g., a Java or ActiveX applet), or any other reusable resource. The resource library can be used by authorized end user software programs. A “per-program” licensing scheme for a resource library can allow a resource library to be licensed only for use with particular software programs.
    Type: Grant
    Filed: March 4, 2013
    Date of Patent: July 15, 2014
    Assignee: Apple Inc.
    Inventors: Gerald Blaine Garst, Jr., Bertrand Serlet
  • Patent number: 8504596
    Abstract: Extended garbage collection is disclosed. It is determined, based at least in part on data stored in a data structure accessible to the respective garbage collecting entity of each of a plurality of runtime systems, that a local object is associated with one or more external objects. The local object is retained, even if the local object has been determine to be unreachable locally in a local runtime system with which the local object is associated, if at least one of said one or more external objects has been determined to be reachable within an external runtime environment with which the at least one external object is associated.
    Type: Grant
    Filed: July 25, 2007
    Date of Patent: August 6, 2013
    Assignee: Apple Inc.
    Inventor: Gerald Blaine Garst, Jr.
  • Patent number: 8341614
    Abstract: Methods, software media, compilers and programming techniques are described for creating copyable stack-based closures, such as a block, for languages which allocate automatic or local variables on a stack memory structure. In one exemplary method, a data structure of the block is first written to the stack memory structure, and this may be the automatic default operation, at run-time, for the block; then, a block copy instruction, added explicitly (in one embodiment) by a programmer during creation of the block, is executed to copy the block to a heap memory structure. The block includes a function pointer that references a function which uses data in the block.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: December 25, 2012
    Assignee: Apple Inc.
    Inventors: Gerald Blaine Garst, Jr., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
  • Patent number: 8255436
    Abstract: Per thread garbage collection is disclosed. Objects associated only with a thread that created them are tracked. At a garbage collection time for a particular thread, it is determined which objects associated only with that thread remain reachable from a restricted root set associated with the thread. Any thread-only objects that are not determined to be reachable are garbage collected.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: August 28, 2012
    Assignee: Apple Inc.
    Inventors: Gerald Blaine Garst, Jr., Gregory Robert Parker, Douglas Joshua Behnke, Patrick C. Beard
  • Publication number: 20110238713
    Abstract: Per thread garbage collection is disclosed. Objects associated only with a thread that created them are tracked. At a garbage collection time for a particular thread, it is determined which objects associated only with that thread remain reachable from a restricted root set associated with the thread. Any thread-only objects that are not determined to be reachable are garbage collected.
    Type: Application
    Filed: June 10, 2011
    Publication date: September 29, 2011
    Applicant: APPLE INC.
    Inventors: Gerald Blaine Garst Jr., Gregory Robert Parker, Douglas Joshua Behnke, Patrick C. Beard
  • Patent number: 7991808
    Abstract: Per thread garbage collection is disclosed. Objects associated only with a thread that created them are tracked. At a garbage collection time for a particular thread, it is determined which objects associated only with that thread remain reachable from a restricted root set associated with the thread. Any thread-only objects that are not determined to be reachable are garbage collected.
    Type: Grant
    Filed: May 21, 2008
    Date of Patent: August 2, 2011
    Assignee: Apple Inc.
    Inventors: Gerald Blaine Garst, Jr., Gregory Robert Parker, Douglas Joshua Behnke, Patrick C. Beard
  • Publication number: 20090307431
    Abstract: Methods, software media, compilers and programming techniques are described for creating copyable stack-based closures, such as a block, for languages which allocate automatic or local variables on a stack memory structure. In one exemplary method, a data structure of the block is first written to the stack memory structure, and this may be the automatic default operation, at run-time, for the block; then, a block copy instruction, added explicitly (in one embodiment) by a programmer during creation of the block, is executed to copy the block to a heap memory structure. The block includes a function pointer that references a function which uses data in the block.
    Type: Application
    Filed: September 30, 2008
    Publication date: December 10, 2009
    Inventors: Gerald Blaine Garst, JR., William Bumgarner, Fariborz Jahanian, Christopher Arthur Lattner
  • Publication number: 20090307669
    Abstract: Methods, software media, compilers and programming techniques are described for binding data to a function using thunk synthesis. In one exemplary method, a computing system executes a program having a function with a first set of arguments. In response to the function being called, a function pointer of the function is synthesized to recover an extra argument for the function in addition to the first set of arguments.
    Type: Application
    Filed: September 30, 2008
    Publication date: December 10, 2009
    Inventors: Gerald Blaine Garst, JR., Benjamin C. Trumbull
  • Publication number: 20090292749
    Abstract: Per thread garbage collection is disclosed. Objects associated only with a thread that created them are tracked. At a garbage collection time for a particular thread, it is determined which objects associated only with that thread remain reachable from a restricted root set associated with the thread. Any thread-only objects that are not determined to be reachable are garbage collected.
    Type: Application
    Filed: May 21, 2008
    Publication date: November 26, 2009
    Inventors: Gerald Blaine Garst, JR., Gregory Robert Parker, Douglas Joshua Behnke, Patrick C. Beard
  • Publication number: 20090030958
    Abstract: Extended garbage collection is disclosed. It is determined, based at least in part on data stored in a data structure accessible to the respective garbage collecting entity of each of a plurality of runtime systems, that a local object is associated with one or more external objects. The local object is retained, even if the local object has been determine to be unreachable locally in a local runtime system with which the local object is associated, if at least one of said one or more external objects has been determined to be reachable within an external runtime environment with which the at least one external object is associated.
    Type: Application
    Filed: July 25, 2007
    Publication date: January 29, 2009
    Inventor: Gerald Blaine Garst, JR.