< 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 >