Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.1.0
-
Component/s: Runtime: Threads and Concurrency
-
Labels:None
-
Number of attachments :
Description
Currently, Jikes RVM only allows for one style of locking. We'd like to be able to support multiple styles (eventually, it would be nice to have biased locking). As well, the locking code crosscuts more files than it needs to, largely for historical, rather than functional, reasons.
Issue Links
| This issue relates to: | ||||
| RVM-290 | Refactor object model so that status word (int) bits are used more intelligently |
|
|
|
I have been working on a patch to refactor the object model. As part of this the locking code was refactored. The basic structure is:
org.jikesrvm.objectmodel
general purpose access
org.jikesrvm.objectmodel.locking
abstractions of locking models
org.jikesrvm.objectmodel.hashing
abstractions of hashing models
With this approach you can currently build with fat locks, thin locks and any combination of hashing model. The code is written in such a way that redundant status word bits will be used depending on how the object model instance is created.