equal
deleted
inserted
replaced
23 */ |
23 */ |
24 |
24 |
25 #ifndef SHARE_VM_RUNTIME_SYNCHRONIZER_HPP |
25 #ifndef SHARE_VM_RUNTIME_SYNCHRONIZER_HPP |
26 #define SHARE_VM_RUNTIME_SYNCHRONIZER_HPP |
26 #define SHARE_VM_RUNTIME_SYNCHRONIZER_HPP |
27 |
27 |
|
28 #include "memory/padded.hpp" |
28 #include "oops/markOop.hpp" |
29 #include "oops/markOop.hpp" |
29 #include "runtime/basicLock.hpp" |
30 #include "runtime/basicLock.hpp" |
30 #include "runtime/handles.hpp" |
31 #include "runtime/handles.hpp" |
31 #include "runtime/perfData.hpp" |
32 #include "runtime/perfData.hpp" |
32 |
33 |
157 static int verify_objmon_isinpool(ObjectMonitor *addr) PRODUCT_RETURN0; |
158 static int verify_objmon_isinpool(ObjectMonitor *addr) PRODUCT_RETURN0; |
158 |
159 |
159 private: |
160 private: |
160 enum { _BLOCKSIZE = 128 }; |
161 enum { _BLOCKSIZE = 128 }; |
161 // global list of blocks of monitors |
162 // global list of blocks of monitors |
162 // gBlockList is really PaddedEnd<ObjectMonitor> *, but we don't |
163 static PaddedEnd<ObjectMonitor> * volatile gBlockList; |
163 // want to expose the PaddedEnd template more than necessary. |
|
164 static ObjectMonitor * volatile gBlockList; |
|
165 // global monitor free list |
164 // global monitor free list |
166 static ObjectMonitor * volatile gFreeList; |
165 static ObjectMonitor * volatile gFreeList; |
167 // global monitor in-use list, for moribund threads, |
166 // global monitor in-use list, for moribund threads, |
168 // monitors they inflated need to be scanned for deflation |
167 // monitors they inflated need to be scanned for deflation |
169 static ObjectMonitor * volatile gOmInUseList; |
168 static ObjectMonitor * volatile gOmInUseList; |