Fri, 09 Dec 2011 06:46:57 -0800
Merge
1.1 --- a/make/bsd/makefiles/gcc.make Thu Dec 08 10:27:33 2011 -0800 1.2 +++ b/make/bsd/makefiles/gcc.make Fri Dec 09 06:46:57 2011 -0800 1.3 @@ -86,7 +86,6 @@ 1.4 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" 1.5 # Allow the user to turn off precompiled headers from the command line. 1.6 ifneq ($(USE_PRECOMPILED_HEADER),0) 1.7 -USE_PRECOMPILED_HEADER=1 1.8 PRECOMPILED_HEADER_DIR=. 1.9 PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp 1.10 PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch 1.11 @@ -216,7 +215,7 @@ 1.12 endif 1.13 1.14 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp. 1.15 -ifneq ($(USE_PRECOMPILED_HEADER),1) 1.16 +ifeq ($(USE_PRECOMPILED_HEADER),0) 1.17 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER 1.18 endif 1.19
2.1 --- a/make/bsd/makefiles/top.make Thu Dec 08 10:27:33 2011 -0800 2.2 +++ b/make/bsd/makefiles/top.make Fri Dec 09 06:46:57 2011 -0800 2.3 @@ -47,12 +47,10 @@ 2.4 Plat_File = $(Platform_file) 2.5 CDG = cd $(GENERATED); 2.6 2.7 -ifdef USE_PRECOMPILED_HEADER 2.8 -PrecompiledOption = -DUSE_PRECOMPILED_HEADER 2.9 -UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 2.10 +ifneq ($(USE_PRECOMPILED_HEADER),0) 2.11 +UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 2.12 else 2.13 -UpdatePCH = \# precompiled header is not used 2.14 -PrecompiledOption = 2.15 +UpdatePCH = \# precompiled header is not used 2.16 endif 2.17 2.18 Cached_plat = $(GENERATED)/platform.current
3.1 --- a/make/linux/makefiles/gcc.make Thu Dec 08 10:27:33 2011 -0800 3.2 +++ b/make/linux/makefiles/gcc.make Fri Dec 09 06:46:57 2011 -0800 3.3 @@ -50,7 +50,6 @@ 3.4 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" 3.5 # Allow the user to turn off precompiled headers from the command line. 3.6 ifneq ($(USE_PRECOMPILED_HEADER),0) 3.7 -USE_PRECOMPILED_HEADER=1 3.8 PRECOMPILED_HEADER_DIR=. 3.9 PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp 3.10 PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch 3.11 @@ -165,7 +164,7 @@ 3.12 endif 3.13 3.14 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp. 3.15 -ifneq ($(USE_PRECOMPILED_HEADER),1) 3.16 +ifeq ($(USE_PRECOMPILED_HEADER),0) 3.17 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER 3.18 endif 3.19
4.1 --- a/make/linux/makefiles/top.make Thu Dec 08 10:27:33 2011 -0800 4.2 +++ b/make/linux/makefiles/top.make Fri Dec 09 06:46:57 2011 -0800 4.3 @@ -47,12 +47,10 @@ 4.4 Plat_File = $(Platform_file) 4.5 CDG = cd $(GENERATED); 4.6 4.7 -ifdef USE_PRECOMPILED_HEADER 4.8 -PrecompiledOption = -DUSE_PRECOMPILED_HEADER 4.9 -UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 4.10 +ifneq ($(USE_PRECOMPILED_HEADER),0) 4.11 +UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS) 4.12 else 4.13 -UpdatePCH = \# precompiled header is not used 4.14 -PrecompiledOption = 4.15 +UpdatePCH = \# precompiled header is not used 4.16 endif 4.17 4.18 Cached_plat = $(GENERATED)/platform.current
5.1 --- a/make/solaris/makefiles/gcc.make Thu Dec 08 10:27:33 2011 -0800 5.2 +++ b/make/solaris/makefiles/gcc.make Fri Dec 09 06:46:57 2011 -0800 5.3 @@ -49,7 +49,6 @@ 5.4 ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0" 5.5 # Allow the user to turn off precompiled headers from the command line. 5.6 ifneq ($(USE_PRECOMPILED_HEADER),0) 5.7 -USE_PRECOMPILED_HEADER=1 5.8 PRECOMPILED_HEADER_DIR=. 5.9 PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp 5.10 PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch 5.11 @@ -142,7 +141,7 @@ 5.12 endif 5.13 5.14 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp. 5.15 -ifneq ($(USE_PRECOMPILED_HEADER),1) 5.16 +ifeq ($(USE_PRECOMPILED_HEADER),0) 5.17 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER 5.18 endif 5.19
6.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu Dec 08 10:27:33 2011 -0800 6.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Fri Dec 09 06:46:57 2011 -0800 6.3 @@ -4052,7 +4052,7 @@ 6.4 Par_ConcMarkingClosure(CMSCollector* collector, CMSConcMarkingTask* task, OopTaskQueue* work_queue, 6.5 CMSBitMap* bit_map, CMSMarkStack* overflow_stack, 6.6 CMSMarkStack* revisit_stack): 6.7 - Par_KlassRememberingOopClosure(collector, NULL, revisit_stack), 6.8 + Par_KlassRememberingOopClosure(collector, collector->ref_processor(), revisit_stack), 6.9 _task(task), 6.10 _span(collector->_span), 6.11 _work_queue(work_queue),
7.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Thu Dec 08 10:27:33 2011 -0800 7.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Fri Dec 09 06:46:57 2011 -0800 7.3 @@ -1549,9 +1549,15 @@ 7.4 _partially_young_cards_per_entry_ratio_seq->add(cards_per_entry_ratio); 7.5 } 7.6 7.7 - size_t rs_length_diff = _max_rs_lengths - _recorded_rs_lengths; 7.8 - if (rs_length_diff >= 0) 7.9 - _rs_length_diff_seq->add((double) rs_length_diff); 7.10 + // It turns out that, sometimes, _max_rs_lengths can get smaller 7.11 + // than _recorded_rs_lengths which causes rs_length_diff to get 7.12 + // very large and mess up the RSet length predictions. We'll be 7.13 + // defensive until we work out why this happens. 7.14 + size_t rs_length_diff = 0; 7.15 + if (_max_rs_lengths > _recorded_rs_lengths) { 7.16 + rs_length_diff = _max_rs_lengths - _recorded_rs_lengths; 7.17 + } 7.18 + _rs_length_diff_seq->add((double) rs_length_diff); 7.19 7.20 size_t copied_bytes = surviving_bytes; 7.21 double cost_per_byte_ms = 0.0;
8.1 --- a/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Thu Dec 08 10:27:33 2011 -0800 8.2 +++ b/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Fri Dec 09 06:46:57 2011 -0800 8.3 @@ -84,8 +84,11 @@ 8.4 // slightly paranoid test; I'm trying to catch potential 8.5 // problems before we go into push_on_queue to know where the 8.6 // problem is coming from 8.7 - assert(obj == oopDesc::load_decode_heap_oop(p), 8.8 - "p should still be pointing to obj"); 8.9 + assert((obj == oopDesc::load_decode_heap_oop(p)) || 8.10 + (obj->is_forwarded() && 8.11 + obj->forwardee() == oopDesc::load_decode_heap_oop(p)), 8.12 + "p should still be pointing to obj or to its forwardee"); 8.13 + 8.14 _par_scan_state->push_on_queue(p); 8.15 } else { 8.16 _par_scan_state->update_rs(_from, p, _par_scan_state->queue_num());