< prev index next >
src/share/vm/runtime/vmStructs.cpp
Print this page
rev 10742 : Make fields used in lock-free algorithms volatile
*** 533,548 ****
nonstatic_field(CardTableModRefBS, _whole_heap, const MemRegion) \
nonstatic_field(CardTableModRefBS, _guard_index, const size_t) \
nonstatic_field(CardTableModRefBS, _last_valid_index, const size_t) \
nonstatic_field(CardTableModRefBS, _page_size, const size_t) \
nonstatic_field(CardTableModRefBS, _byte_map_size, const size_t) \
! nonstatic_field(CardTableModRefBS, _byte_map, jbyte*) \
nonstatic_field(CardTableModRefBS, _cur_covered_regions, int) \
nonstatic_field(CardTableModRefBS, _covered, MemRegion*) \
nonstatic_field(CardTableModRefBS, _committed, MemRegion*) \
nonstatic_field(CardTableModRefBS, _guard_region, MemRegion) \
! nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \
\
nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
\
nonstatic_field(CollectedHeap, _reserved, MemRegion) \
nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
--- 533,548 ----
nonstatic_field(CardTableModRefBS, _whole_heap, const MemRegion) \
nonstatic_field(CardTableModRefBS, _guard_index, const size_t) \
nonstatic_field(CardTableModRefBS, _last_valid_index, const size_t) \
nonstatic_field(CardTableModRefBS, _page_size, const size_t) \
nonstatic_field(CardTableModRefBS, _byte_map_size, const size_t) \
! nonstatic_field(CardTableModRefBS, _byte_map, volatile jbyte*) \
nonstatic_field(CardTableModRefBS, _cur_covered_regions, int) \
nonstatic_field(CardTableModRefBS, _covered, MemRegion*) \
nonstatic_field(CardTableModRefBS, _committed, MemRegion*) \
nonstatic_field(CardTableModRefBS, _guard_region, MemRegion) \
! nonstatic_field(CardTableModRefBS, byte_map_base, volatile jbyte*) \
\
nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
\
nonstatic_field(CollectedHeap, _reserved, MemRegion) \
nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
*** 2244,2253 ****
--- 2244,2255 ----
declare_toplevel_type(JavaThread*) \
declare_toplevel_type(java_lang_Class) \
declare_integer_type(JavaThread::AsyncRequests) \
declare_toplevel_type(jbyte*) \
declare_toplevel_type(jbyte**) \
+ declare_toplevel_type(volatile jbyte*) \
+ declare_toplevel_type(volatile jbyte**) \
declare_toplevel_type(jint*) \
declare_toplevel_type(jniIdMapBase*) \
declare_unsigned_integer_type(juint) \
declare_unsigned_integer_type(julong) \
declare_toplevel_type(JNIHandleBlock*) \
*** 2997,3006 ****
--- 2999,3009 ----
GENERATE_C1_UNCHECKED_STATIC_VM_STRUCT_ENTRY,
GENERATE_C2_UNCHECKED_STATIC_VM_STRUCT_ENTRY)
#if INCLUDE_ALL_GCS
VM_STRUCTS_PARALLELGC(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
+ GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
GENERATE_STATIC_VM_STRUCT_ENTRY)
VM_STRUCTS_CMS(GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
GENERATE_NONSTATIC_VM_STRUCT_ENTRY,
GENERATE_STATIC_VM_STRUCT_ENTRY)
*** 3195,3204 ****
--- 3198,3208 ----
CHECK_NO_OP,
CHECK_NO_OP);
#if INCLUDE_ALL_GCS
VM_STRUCTS_PARALLELGC(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
+ CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_STATIC_VM_STRUCT_ENTRY);
VM_STRUCTS_CMS(CHECK_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY,
CHECK_STATIC_VM_STRUCT_ENTRY);
*** 3320,3329 ****
--- 3324,3334 ----
ENSURE_C2_FIELD_TYPE_PRESENT,
CHECK_NO_OP,
CHECK_NO_OP));
#if INCLUDE_ALL_GCS
debug_only(VM_STRUCTS_PARALLELGC(ENSURE_FIELD_TYPE_PRESENT,
+ ENSURE_FIELD_TYPE_PRESENT,
ENSURE_FIELD_TYPE_PRESENT));
debug_only(VM_STRUCTS_CMS(ENSURE_FIELD_TYPE_PRESENT,
ENSURE_FIELD_TYPE_PRESENT,
ENSURE_FIELD_TYPE_PRESENT));
debug_only(VM_STRUCTS_G1(ENSURE_FIELD_TYPE_PRESENT,
< prev index next >