Patent ID: 7376940

Claim:
A method of advancing a thread to a safe point in an execution path thereof, said method comprising: suspending execution of said thread; modifying a processor data structure associated with said thread to trigger an exception upon one of a call to and a return from a current function of said thread; resuming execution of said thread; and upon said one of said call to and said return from said current function, suspending execution of said thread, said one of said call to and said return from said current function coinciding with said safe point, wherein said processor data structure includes a register window data structure, wherein said modifying said processor data structure includes defining a register state of said register window data structure to mark a next register window as occupied and a previous register window as not valid, wherein said call to said current function causes a register window allocation operation that triggers a register window spill exception, and wherein said return from said current function causes a register window restore operation that triggers a register window fill exception.