Thread suspension system and method using trapping instructions
AssigneeSun Microsystems, Inc.
InventorsWilliam Bush, Mario Wolczko, Marc Tremblay
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorsWilliam Bush, Mario Wolczko, Marc Tremblay
Estimating the term…
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.
A computer program product encoded in at least one computer readable medium, the computer program product comprising:
A method of suspending a mutator at a safe point, the method comprising:
A computer program product encoded in computer readable media, the computer program product comprising:
A computer-implemented method of providing mutator code with support for suspension of at least one execution thread thereof at a safe point, the method comprising:
A computer program product comprising:
A method of advancing plural threads to coordination points in respective execution paths thereof, the method comprising:
A method of coordinating garbage collection with execution of a multi-threaded mutator, wherein the garbage collection is performed at safe points in an execution trajectory of the multi-threaded mutator, and wherein potentially inconsistent threads of the multi-threaded mutator are suspended at the safe points to facilitate the garbage collection, the method comprising:
An apparatus comprising:
Dependencies are inferred from the claim text.