Patent ID: 8276134

Claim:
A system for transforming a lock on an executable object in a loop of a computer program, said lock having a pair of lock and unlock operations applicable on said executable object at original points within said loop, comprising: a processor; a non-transitory, computer readable memory; and logic, stored on the non-transitory, computer readable memory and executed on the processor, for: (a) moving said lock and unlock operations from said original points inside said loop to points outside said loop; (b) inserting a contention test within said loop for unlocking said lock if access to said object is required by another thread during execution of said loop; and (c) transforming said loop into an inner loop and an outer loop, said inner loop having a strip length size S and said outer loop having its number of iterations dependent upon S, said contention test in (b) being provided outside said inner loop but inside said outer loop; wherein in (b), said contention test is placed at the original point of said lock operation; and wherein said loop has N iterations.