Patents by Inventor Mario Wolczko

Mario Wolczko 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: 7013454
    Abstract: By encoding an exception triggering value in storage referenced by an instruction in an otherwise unused slot (e.g., the delay slot of a delayed control transfer instruction or an unused instruction position in a VLIW-based architecture) coinciding with a safe point, an efficient coordination mechanism can be provided for multi-threaded code. Because the mechanism(s) impose negligible overhead when not employed and can be engaged in response to an event (e.g., a start garbage collection event), safe points can be defined at call, return and/or backward branch points throughout mutator code to reduce the latency between the event and suspension of all threads. Though particularly advantageous for thread suspension to perform garbage collection at safe points, the techniques described herein are more generally applicable to program suspension at coordination points coinciding with calls, returns, branches or calls, returns and branches therein.
    Type: Grant
    Filed: October 22, 2001
    Date of Patent: March 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: William Bush, Mario Wolczko, Marc Tremblay
  • Publication number: 20050198555
    Abstract: A method of sampling instructions executing in a processor which includes selecting an instruction for sampling, gathering sampling information for the instruction, determining whether the instruction reissues during execution of the instruction, and storing reissue sample information if the instruction reissues during execution of the instruction. The method also includes storing certain sampling information as resettable sampling information and certain sampling information as persistent sampling information.
    Type: Application
    Filed: March 3, 2004
    Publication date: September 8, 2005
    Inventors: Mario Wolczko, Adam Talcott
  • Publication number: 20050188186
    Abstract: A method of linking control transfer information with sampling information for instructions executing in a processor which includes storing information relating to execution events, selecting an instruction for sampling, storing information relating to the instruction for sampling, freezing the information relating to execution events when the information relating to the instruction for sampling is to be reported to provide frozen execution event information, reporting the information relating to the instruction for sampling, and enabling access to the frozen execution event information.
    Type: Application
    Filed: February 23, 2004
    Publication date: August 25, 2005
    Inventors: Mario Wolczko, Adam Talcott
  • Publication number: 20050183063
    Abstract: A method of sampling instructions executing in a multi-threaded processor which includes selecting an instruction for sampling, storing information relating to the instruction, determining whether the instruction includes an event of interest, and reporting the instruction if the instruction includes an event of interest on a per-thread basis. The event of interest includes information relating to a thread to which the instruction is bound.
    Type: Application
    Filed: February 16, 2004
    Publication date: August 18, 2005
    Inventors: Mario Wolczko, Adam Talcott
  • Publication number: 20050183065
    Abstract: A method of performance counting within a multi-threaded processor. The method includes counting events within the processor to provide an event count, and attributing the event count to events occurring within a thread of the processor or to events occurring globally within the processor.
    Type: Application
    Filed: February 13, 2004
    Publication date: August 18, 2005
    Inventors: Mario Wolczko, Adam Talcott
  • Patent number: 6842853
    Abstract: In processor architectures that support allocation of register windows to called procedures, functions or methods, register windowing mechanisms can be used to facilitate suspension of a mutator thread (or mutator threads) while imposing negligible overhead on the mutator computation during periods when thread suspension is not requested. Reduced Instruction Set Computer-(RISC)-oriented processor architectures often employ register windows (typically partially-overlapped register windows) and can therefore benefit from the technique. Variations can be employed even in processors (RISC or otherwise) that do not employ register windowing as long as the processor (by itself or in cooperation with software) provides facilities for allocating and reclaiming resources in correspondence with calls to, and returns from, procedures, functions or methods.
    Type: Grant
    Filed: January 13, 1999
    Date of Patent: January 11, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: William Bush, Mario Wolczko
  • Patent number: 6728738
    Abstract: The analysis of the lifetime of objects in a garbage-collected system may be accomplished quickly and effectively using reference counts and cyclic garbage analysis. A reference count is maintained for each of the objects to indicate the number of incoming pointers. Each time the graph structure is altered, the reference counts are updated. Timestamps are recorded each time the reference count for objects change. If a reference count goes to zero, the corresponding object may be indicated as dead. A garbage collection need only be run once (perhaps at the end), and after it is run the system may indicate which objects are cyclic garbage. The timestamps for objects which are cyclic garbage are then reviewed in reverse chronological order. For each timestamp found, the corresponding object and any object reachable from the corresponding object are indicated as dead. These objects are then removed from the set of cyclic garbage.
    Type: Grant
    Filed: April 3, 2002
    Date of Patent: April 27, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Mario Wolczko, Antonio Cunei
  • Publication number: 20030191783
    Abstract: The analysis of the lifetime of objects in a garbage-collected system may be accomplished quickly and effectively using reference counts and cyclic garbage analysis. A reference count is maintained for each of the objects to indicate the number of incoming pointers. Each time the graph structure is altered, the reference counts are updated. Timestamps are recorded each time the reference count for objects change. If a reference count goes to zero, the corresponding object may be indicated as dead. A garbage collection need only be run once (perhaps at the end), and after it is run the system may indicate which objects are cyclic garbage. The timestamps for objects which are cyclic garbage are then reviewed in reverse chronological order. For each timestamp found, the corresponding object and any object reachable from the corresponding object are indicated as dead. These objects are then removed from the set of cyclic garbage.
    Type: Application
    Filed: April 3, 2002
    Publication date: October 9, 2003
    Applicant: Sun Microsystems, Inc., a Delaware Corporation
    Inventors: Mario Wolczko, Antonio Cunei
  • Publication number: 20030188226
    Abstract: A sampling mechanism is disclosed in which software can specify a property or properties which characterize samples of interest. For example, if the software is interested in cache behavior, the software can specify that information for memory operations, or only information for memory instructions which miss in one or more caches, be reported. The sampling mechanism may specify many such properties and events (properties and events may vary from processor to processor, and may also depend on which properties or events are considered useful for performance analysis).
    Type: Application
    Filed: April 1, 2002
    Publication date: October 2, 2003
    Inventors: Adam Talcott, Mario Wolczko
  • Publication number: 20020052926
    Abstract: By encoding an exception triggering value in storage referenced by an instruction in an otherwise unused slot (e.g., the delay slot of a delayed control transfer instruction or an unused instruction position in a VLIW-based architecture) coinciding with a safe point, an efficient coordination mechanism can be provided for multi-threaded code. Because the mechanism(s) impose negligible overhead when not employed and can be engaged in response to an event (e.g., a start garbage collection event), safe points can be defined at call, return and/or backward branch points throughout mutator code to reduce the latency between the event and suspension of all threads. Though particularly advantageous for thread suspension to perform garbage collection at safe points, the techniques described herein are more generally applicable to program suspension at coordination points coinciding with calls, returns, branches or calls, returns and branches therein.
    Type: Application
    Filed: October 22, 2001
    Publication date: May 2, 2002
    Applicant: Sun Microsystems, Inc.
    Inventors: William Bush, Mario Wolczko, Marc Tremblay
  • Patent number: 6308319
    Abstract: By encoding an exception triggering value in storage referenced by an instruction in the delay slot of a delayed control transfer instruction coinciding with a safe point, an efficient coordination mechanism can be provided for multi-threaded code. Because the mechanism(s) impose negligible overhead when not employed and can be engaged in response to an event (e.g., a start garbage collection event), safe points can be defined at call, return and/or backward branch points throughout mutator code to reduce the latency between the event and suspension of all threads. Though particularly advantageous for thread suspension to perform garbage collection at safe points, the techniques described herein are more generally applicable to program suspension at coordination points coinciding with calls, returns, branches or calls, returns and branches therein.
    Type: Grant
    Filed: February 22, 1999
    Date of Patent: October 23, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: William Bush, Mario Wolczko