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