Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 1518:3bfae429e2cf
6948537: CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
Summary: On sun4v/CMT avoid use of memset() in BOT updates so as to prevent concurrent BOT readers from seeing the phantom zeros arising from memset()'s use of BIS.
Reviewed-by: jmasa, johnc, minqi, poonam, tonyp
author | ysr |
---|---|
date | Mon, 03 May 2010 10:24:51 -0700 |
parents | 0bfd3fb24150 |
children | bb843ebc7c55 |
comparison
equal
deleted
inserted
replaced
1490:f03d0a26bf83 | 1518:3bfae429e2cf |
---|---|
787 | 787 |
788 NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;) | 788 NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;) |
789 _gc_counters = new CollectorCounters("CMS", 1); | 789 _gc_counters = new CollectorCounters("CMS", 1); |
790 _completed_initialization = true; | 790 _completed_initialization = true; |
791 _inter_sweep_timer.start(); // start of time | 791 _inter_sweep_timer.start(); // start of time |
792 #ifdef SPARC | |
793 // Issue a stern warning, but allow use for experimentation and debugging. | |
794 if (VM_Version::is_sun4v() && UseMemSetInBOT) { | |
795 assert(!FLAG_IS_DEFAULT(UseMemSetInBOT), "Error"); | |
796 warning("Experimental flag -XX:+UseMemSetInBOT is known to cause instability" | |
797 " on sun4v; please understand that you are using at your own risk!"); | |
798 } | |
799 #endif | |
792 } | 800 } |
793 | 801 |
794 const char* ConcurrentMarkSweepGeneration::name() const { | 802 const char* ConcurrentMarkSweepGeneration::name() const { |
795 return "concurrent mark-sweep generation"; | 803 return "concurrent mark-sweep generation"; |
796 } | 804 } |