@@ -269,16 +269,15 @@ inline void G1CollectedHeap::pin_object(JavaThread* thread, oop obj) {
269
269
HeapRegion* r = heap_region_containing (obj);
270
270
uint obj_region_idx = r->hrm_index ();
271
271
272
- uint cached_idx = G1ThreadLocalData::cached_pinned_region_idx (thread);
273
- if (cached_idx == obj_region_idx) {
272
+ uint cache_region_idx = G1ThreadLocalData::cached_pinned_region_idx (thread);
273
+ if (cache_region_idx == obj_region_idx) {
274
274
G1ThreadLocalData::inc_cached_pin_count (thread);
275
275
} else {
276
276
// Flush old.
277
- size_t cached_pin_count = G1ThreadLocalData::cached_pin_count (thread);
278
- if (cached_pin_count != 0 ) {
279
- region_at (cached_idx )->add_pinned_object_count (cached_pin_count );
277
+ size_t cache_pin_count = G1ThreadLocalData::get_and_set_pin_cache (thread, obj_region_idx, ( size_t ) 1 );
278
+ if (cache_pin_count != 0 ) {
279
+ region_at (cache_region_idx )->add_pinned_object_count (cache_pin_count );
280
280
}
281
- G1ThreadLocalData::get_and_set_pin_cache (thread, obj_region_idx, (size_t )1 );
282
281
}
283
282
}
284
283
@@ -288,16 +287,15 @@ inline void G1CollectedHeap::unpin_object(JavaThread* thread, oop obj) {
288
287
HeapRegion* r = heap_region_containing (obj);
289
288
uint obj_region_idx = r->hrm_index ();
290
289
291
- uint cached_idx = G1ThreadLocalData::cached_pinned_region_idx (thread);
292
- if (cached_idx == obj_region_idx) {
290
+ uint cache_region_idx = G1ThreadLocalData::cached_pinned_region_idx (thread);
291
+ if (cache_region_idx == obj_region_idx) {
293
292
G1ThreadLocalData::dec_cached_pin_count (thread);
294
293
} else {
295
294
// Flush old.
296
- size_t cached_pin_count = G1ThreadLocalData::cached_pin_count (thread);
297
- if (cached_pin_count != 0 ) {
298
- region_at (cached_idx )->add_pinned_object_count (cached_pin_count );
295
+ size_t cache_pin_count = G1ThreadLocalData::get_and_set_pin_cache (thread, obj_region_idx, ~( size_t ) 0 );
296
+ if (cache_pin_count != 0 ) {
297
+ region_at (cache_region_idx )->add_pinned_object_count (cache_pin_count );
299
298
}
300
- G1ThreadLocalData::get_and_set_pin_cache (thread, obj_region_idx, ~(size_t )0 );
301
299
}
302
300
}
303
301
0 commit comments