Speculative computation lock coarsening through the use of localized lock reservation
First Claim
Patent Images
1. A computer-implemented method, comprising:
- loading, by a data processing system, a current code region and a particular object among a plurality of objects;
optimizing, by the data processing system, the current code region, wherein the optimizing includes;
speculating, by the data processing system, that a use of the particular object is exclusive with respect to a particular thread of the current code region for the duration of the current code region being optimized;
applying, by the data processing system, a lock reservation over a plurality of sequential lock operations to the particular object; and
thereafter voluntarily cancelling, by the data processing system, the lock reservation with respect to a last monitor exit operation of the plurality of sequential lock operations in order to avoid deadlock.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implementable method, system and computer-usable medium. One or more objects among a plurality of objects can be processed utilizing a data-processing apparatus/system. One or more lock reservations can be applied among a group of lock reservations over a multiple sequential lock operations with respect the particular object. Thereafter, the lock reservation can be cancelled with respect to the last monitor exit operation in order to eliminate lock operations where traditional lock coarsening cannot be applied.
-
Citations
9 Claims
-
1. A computer-implemented method, comprising:
-
loading, by a data processing system, a current code region and a particular object among a plurality of objects; optimizing, by the data processing system, the current code region, wherein the optimizing includes; speculating, by the data processing system, that a use of the particular object is exclusive with respect to a particular thread of the current code region for the duration of the current code region being optimized; applying, by the data processing system, a lock reservation over a plurality of sequential lock operations to the particular object; and thereafter voluntarily cancelling, by the data processing system, the lock reservation with respect to a last monitor exit operation of the plurality of sequential lock operations in order to avoid deadlock. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
a processor; a data bus coupled to the processor; and a computer-usable medium embodying computer code, the computer-usable medium being coupled to the data bus, the computer program code comprising instructions executable by the processor and configured for; loading a current code region and a particular object among a plurality of objects; optimizing the current code region, wherein the optimizing includes; speculating, by the data processing system, that a use of the particular object is exclusive with respect to a particular thread of the current code region for the duration of the current code region being optimized; applying a lock reservation over a plurality of sequential lock operations to the particular object; and thereafter voluntarily cancelling the lock reservation with respect to a last monitor exit operation of the plurality of sequential lock operations in order to avoid deadlock. - View Dependent Claims (5, 6)
-
-
7. A computer-usable non-transitory medium embodying computer program code, the computer program code comprising computer executable instructions configured for:
-
loading a current code region and a particular object among a plurality of objects; optimizing, by the data processing system, the current code region, wherein the optimizing includes; speculating, by the data processing system, that a use of the particular object is exclusive with respect to a particular thread of the current code region for the duration of the current code region being optimized; applying a lock reservation over a plurality of sequential lock operations to the particular object; and thereafter voluntarily cancelling the lock reservation with respect to a last monitor exit operation of the plurality of sequential lock operations in order to avoid deadlock. - View Dependent Claims (8, 9)
-
Specification