--- old/src/share/vm/gc/g1/g1HotCardCache.hpp 2016-04-06 17:17:21.510383633 +0200 +++ new/src/share/vm/gc/g1/g1HotCardCache.hpp 2016-04-06 17:17:21.414383632 +0200 @@ -63,7 +63,7 @@ // The card cache table - jbyte** _hot_cache; + volatile jbyte** _hot_cache; size_t _hot_cache_size; @@ -108,7 +108,7 @@ // adding, NULL is returned and no further action in needed. // If we evict a card from the cache to make room for the new card, // the evicted card is then returned for refinement. - jbyte* insert(jbyte* card_ptr); + volatile jbyte* insert(volatile jbyte* card_ptr); // Refine the cards that have delayed as a result of // being in the cache.