Patents by Inventor Mark Hahnenberg

Mark Hahnenberg 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: 9672152
    Abstract: A method and an apparatus for providing a flat array type in an object model for dynamically typed programs are described. Whether an array object is of a flat array type can be dynamically tracked for a dynamic language based program. Array elements of an array object of the flat array type may be stored in an inline storage within an object cell of the array object. The inline storage may be limited by available memory space between adjacent object cells. The flat array type of an array object may be detected based on whether the inline storage has sufficient memory space to store elements of the array. An array object of the flay array type may allow array elements of the array object to be accessed within a object cell without additional memory loading via a pointer stored in the object cell.
    Type: Grant
    Filed: May 16, 2014
    Date of Patent: June 6, 2017
    Assignee: Apple, Inc.
    Inventor: Mark Hahnenberg
  • Publication number: 20150067658
    Abstract: A method and an apparatus for providing a flat array type in an object model for dynamically typed programs are described. Whether an array object is of a flat array type can be dynamically tracked for a dynamic language based program. Array elements of an array object of the flat array type may be stored in an inline storage within an object cell of the array object. The inline storage may be limited by available memory space between adjacent object cells. The flat array type of an array object may be detected based on whether the inline storage has sufficient memory space to store elements of the array. An array object of the flay array type may allow array elements of the array object to be accessed within a object cell without additional memory loading via a pointer stored in the object cell.
    Type: Application
    Filed: May 16, 2014
    Publication date: March 5, 2015
    Applicant: Apple Inc.
    Inventor: Mark Hahnenberg
  • Patent number: 8819382
    Abstract: A method and an apparatus to scan a stack for references to a heap used in executing a code via the heap are described. The heap may be allocated with fixed and varied sized slots. Each varied sized slot may be referenced by at most one fixed sized slot. Which slots are live may be identified based on the references in the stack. A fixed slot can be live if referenced by the stack. A fixed or varied slot referenced by a live slot can also be live. Varied sized slots referenced by the stack may be identified as pinned. The heap may be de-fragmented to reclaim fixed sized slots which are not live without moving live fixed sized slots and to reclaim varied sized slots which are neither live nor pinned by moving live varied slots.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: August 26, 2014
    Assignee: Apple Inc.
    Inventors: Filip J. Pizlo, Geoffrey Garen, Mark Hahnenberg
  • Publication number: 20140047209
    Abstract: A method and an apparatus to scan a stack for references to a heap used in executing a code via the heap are described. The heap may be allocated with fixed and varied sized slots. Each varied sized slot may be referenced by at most one fixed sized slot. Which slots are live may be identified based on the references in the stack. A fixed slot can be live if referenced by the stack. A fixed or varied slot referenced by a live slot can also be live. Varied sized slots referenced by the stack may be identified as pinned. The heap may be de-fragmented to reclaim fixed sized slots which are not live without moving live fixed sized slots and to reclaim varied sized slots which are neither live nor pinned by moving live varied slots.
    Type: Application
    Filed: August 23, 2012
    Publication date: February 13, 2014
    Inventors: Filip J. Pizlo, Geoffrey Garen, Mark Hahnenberg