RFR (14*XXS): Backports of multiple changes to 8u40

Thomas Schatzl thomas.schatzl at oracle.com
Wed Jul 16 14:15:40 UTC 2014


Hi all,

  I would like to backport the following 14 changes to 8u40 as now the
8u repo is open again. Unfortunately the changes did not apply cleanly,
although these differences were mostly line number related.

There are three issues with merge errors: two because of the addition of
the p2i() macro, and one because of some makefile changes not
backported.

Testing:
jprt; all the changes have been in the 9 repo for > 2 weeks now causing
no issues.

Here we go:

8027553: Use the "next" field to iterate over fine remembered instead of
using the hash table

New Webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8027553/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8027553/webrev.1/
Diff of diffs:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8027553/ports.diff
CR:
https://bugs.openjdk.java.net/browse/JDK-8027553

Conflict in:

+---old/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp
2014-07-16 15:28:30.689433970 +0200
++++ new/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	2014-07-16 15:28:30.596432890 +0200
+@@ -178,12 +178,7 @@
  // collection set or not. Assume that the reference
  // points into the heap.
  inline bool G1CollectedHeap::in_cset_fast_test(oop obj) {
 -  assert(_in_cset_fast_test != NULL, "sanity");
--  assert(_g1_committed.contains((HeapWord*) obj), err_msg("Given reference outside of heap, is "PTR_FORMAT, (HeapWord*)obj));
+-  assert(_g1_committed.contains((HeapWord*) obj), err_msg("Given reference outside of heap, is "PTR_FORMAT, p2i((HeapWord*)obj)));
 -  // no need to subtract the bottom of the heap from obj,
 -  // _in_cset_fast_test is biased
 -  uintx index = cast_from_oop<uintx>(obj) >> HeapRegion::LogOfHRGrainBytes;

I.e. the patch that adds p2i() has already been backported so it causes a merge error.

8037344: Use the "next" field to iterate over fine remembered instead of using the hash table

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8037344/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8037344/webrev.3/
CR:
https://bugs.openjdk.java.net/browse/JDK-8037344

Problems: line number changes

8039596: Remove HeapRegionRemSet::clear_incoming_entry
New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8039596/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8039596/webrev/
CR:
https://bugs.openjdk.java.net/browse/JDK-8039596

Problems: line number changes

8028710: G1 does not retire allocation buffers after reference processing work

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8028710/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8028710/webrev/
CR:
https://bugs.openjdk.java.net/browse/JDK-8028710

Problems: line number changes

8019342: G1: High "Other" time most likely due to card redirtying

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8019342/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8019342/webrev.1/
CR:
8019342: G1: High "Other" time most likely due to card redirtying

Problems: line number changes

8040002: Clean up code and code duplication in re-diryting cards for verification

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8040002/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8040002/webrev.1/
CR:
https://bugs.openjdk.java.net/browse/JDK-8040002

Problems: line number changes

8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname)

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8040792/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8040792/webrev.1/
CR:
https://bugs.openjdk.java.net/browse/JDK-8040792

Problems: line number changes

8026784: Error message in AdaptiveFreeList<Chunk>::verify_stats is wrong

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8026784/webrev/
Original webrev:
http://cr.openjdk.java.net/~ehelin/andreas/8026784/webrev.00/
CR:
https://bugs.openjdk.java.net/browse/JDK-8026784

(note: contributed by A. Sjöberg).

Problems:

The patch that adds p2i() has already been backported so it causes a merge error.

8043723: max_heap_for_compressed_oops() declared with size_t, but defined with uintx

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8043723/webrev/
Original webrev:
?
CR:
https://bugs.openjdk.java.net/browse/JDK-8043723 

(note: contributed by D. Horak from RedHat)

Problems: line number changes

8043722: Swapped usage of idx_t and bm_word_t types in parMarkBitMap.cpp

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8043722/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8043722/webrev/
CR:
https://bugs.openjdk.java.net/browse/JDK-8043722

(note: contributed by D. Horak from RedHat)

Problems: line number changes

8026847: [TESTBUG] gc/g1/TestSummarizeRSetStats* tests launch 32bit jvm with UseCompressedOops

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8026847/webrev/
Original webrev:
http://cr.openjdk.java.net/~fzhinkin/azakharov/8026847/webrev.00/
CR:
https://bugs.openjdk.java.net/browse/JDK-8026847

(note: contributed by A. Zakharov)

Problems: applies cleanly

8035400: Move G1ParScanThreadState into its own files

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8035400/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8035400/webrev.2/
CR:
https://bugs.openjdk.java.net/browse/JDK-8035400

Problems: changed line numbers

Had to add the new file to make/excludeSrc.make as the change that does this exclusion in a generic way has not been backported.
--- old/make/excludeSrc.make	2014-07-16 15:29:28.543115177 +0200
+++ new/make/excludeSrc.make	2014-07-16 15:29:28.354112868 +0200
@@ -90,6 +90,7 @@
 	g1RemSet.cpp g1RemSetSummary.cpp g1SATBCardTableModRefBS.cpp g1StringDedup.cpp g1StringDedupStat.cpp \
 	g1StringDedupTable.cpp g1StringDedupThread.cpp g1StringDedupQueue.cpp g1_globals.cpp heapRegion.cpp \
 	g1BiasedArray.cpp heapRegionRemSet.cpp heapRegionSeq.cpp heapRegionSet.cpp heapRegionSets.cpp \
+	g1ParScanThreadState.cpp \
 	ptrQueue.cpp satbQueue.cpp sparsePRT.cpp survRateGroup.cpp vm_operations_g1.cpp g1CodeCacheRemSet.cpp \
 	adjoiningGenerations.cpp adjoiningVirtualSpaces.cpp asPSOldGen.cpp asPSYoungGen.cpp \
 	cardTableExtension.cpp gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp \

Merge problem in g1CollectedHeap.cpp due to changed include files:

the hunk at
@@ -63,11 +64,9 @@
 #include "oops/oop.inline.hpp"
 #include "oops/oop.pcgc.inline.hpp"
 #include "runtime/atomic.inline.hpp"
-#include "runtime/prefetch.inline.hpp"
 #include "runtime/orderAccess.inline.hpp"
 #include "runtime/vmThread.hpp"
 #include "utilities/globalDefinitions.hpp"
-#include "utilities/ticks.hpp"

must be replaced by

@@ -58,14 +59,12 @@
 #include "memory/generationSpec.hpp"
 #include "memory/iterator.hpp"
 #include "memory/referenceProcessor.hpp"
 #include "oops/oop.inline.hpp"
 #include "oops/oop.pcgc.inline.hpp"
-#include "runtime/prefetch.inline.hpp"
 #include "runtime/orderAccess.inline.hpp"
 #include "runtime/vmThread.hpp"
-#include "utilities/ticks.hpp"


8035401: Fix visibility of G1ParScanThreadState members

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8035401/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8035401/webrev.2/
CR:
https://bugs.openjdk.java.net/browse/JDK-8035401

Problems: line numbers changed

8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate

New webrev:
http://cr.openjdk.java.net/~tschatzl/8u40-first-merges/webrev.8040977/webrev/
Original webrev:
http://cr.openjdk.java.net/~tschatzl/8040977/webrev.1/
CR:
https://bugs.openjdk.java.net/browse/JDK-8040977

Problems: line numbers changed

Thanks for your patience,
  Thomas



More information about the hotspot-gc-dev mailing list