Re-organise S/390 patches for upstream submission, separating 8u upstream from Shenandoah fixes.
Add new formatting case found in memprofiler.cpp on debug builds to PR3593 patch.
This commit is contained in:
		
							parent
							
								
									13bfe740ca
								
							
						
					
					
						commit
						c98058256b
					
				| @ -311,7 +311,7 @@ | ||||
| %global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u}) | ||||
| # eg jdk8u60-b27 -> b27 | ||||
| %global buildver        %(VERSION=%{version_tag}; echo ${VERSION##*-}) | ||||
| %global rpmrelease      0 | ||||
| %global rpmrelease      1 | ||||
| # Define milestone (EA for pre-releases, GA ("fcs") for releases) | ||||
| # Release will be (where N is usually a number starting at 1): | ||||
| # - 0.N%%{?extraver}%%{?dist} for EA releases, | ||||
| @ -2622,6 +2622,10 @@ require "copy_jdk_configs.lua" | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Thu Mar 18 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.292.b05-0.1.ea | ||||
| - Re-organise S/390 patches for upstream submission, separating 8u upstream from Shenandoah fixes. | ||||
| - Add new formatting case found in memprofiler.cpp on debug builds to PR3593 patch. | ||||
| 
 | ||||
| * Mon Mar 08 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.292.b05-0.0.ea | ||||
| - Update to aarch64-shenandoah-jdk8u292-b05 (EA) | ||||
| - Update release notes for 8u292-b05. | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| @@ -2659,7 +2659,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -2689,7 +2689,7 @@
 | ||||
|    if (ResizeOldPLAB && CMSOldPLABResizeQuicker) { | ||||
|      size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks); | ||||
|      n_blks +=  CMSOldPLABReactivityFactor*multiple*n_blks; | ||||
| @ -10,10 +10,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe | ||||
|    } | ||||
|    assert(n_blks > 0, "Error"); | ||||
|    _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| @@ -957,7 +957,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -961,7 +961,7 @@
 | ||||
|    if (free_percentage < desired_free_percentage) { | ||||
|      size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); | ||||
|      assert(desired_capacity >= capacity(), "invalid expansion size"); | ||||
| @ -22,7 +22,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe | ||||
|      if (PrintGCDetails && Verbose) { | ||||
|        size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); | ||||
|        gclog_or_tty->print_cr("\nFrom compute_new_size: "); | ||||
| @@ -6577,7 +6577,7 @@
 | ||||
| @@ -6591,7 +6591,7 @@
 | ||||
|      HeapWord* curAddr = _markBitMap.startWord(); | ||||
|      while (curAddr < _markBitMap.endWord()) { | ||||
|        size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr); | ||||
| @ -31,7 +31,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe | ||||
|        _markBitMap.clear_large_range(chunk); | ||||
|        if (ConcurrentMarkSweepThread::should_yield() && | ||||
|            !foregroundGCIsActive() && | ||||
| @@ -6875,7 +6875,7 @@
 | ||||
| @@ -6889,7 +6889,7 @@
 | ||||
|      return; | ||||
|    } | ||||
|    // Double capacity if possible | ||||
| @ -40,30 +40,34 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSwe | ||||
|    // Do not give up existing stack until we have managed to | ||||
|    // get the double capacity that we desired. | ||||
|    ReservedSpace rs(ReservedSpace::allocation_align_size_up( | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| @@ -3902,7 +3902,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -3916,7 +3916,7 @@
 | ||||
|    // of things to do) or totally (at the very end). | ||||
|    size_t target_size; | ||||
|    if (partially) { | ||||
| -    target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
 | ||||
| +    target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t) GCDrainStackTargetSize);
 | ||||
| +    target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize);
 | ||||
|    } else { | ||||
|      target_size = 0; | ||||
|    } | ||||
| @@ -4706,7 +4706,7 @@
 | ||||
|    // The > 0 check is to deal with the prev and next live bytes which | ||||
|    // could be 0. | ||||
|    if (*hum_bytes > 0) { | ||||
| -    bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes);
 | ||||
| +    bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes);
 | ||||
|      *hum_bytes -= bytes; | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1BiasedArray.hpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -78,7 +78,8 @@
 | ||||
|      size_t num_target_elems = pointer_delta(end, bottom, mapping_granularity_in_bytes); | ||||
|      idx_t bias = (uintptr_t)bottom / mapping_granularity_in_bytes; | ||||
|      address base = create_new_base_array(num_target_elems, target_elem_size_in_bytes); | ||||
| -    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, log2_intptr(mapping_granularity_in_bytes));
 | ||||
| +    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes,
 | ||||
| +		    log2_intptr((uintptr_t)mapping_granularity_in_bytes));
 | ||||
|    } | ||||
|    return bytes; | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
|   | ||||
|    size_t bias() const { return _bias; } | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -1729,7 +1729,7 @@
 | ||||
|   | ||||
|    verify_region_sets_optional(); | ||||
| @ -73,21 +77,33 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHea | ||||
|    ergo_verbose1(ErgoHeapSizing, | ||||
|                  "attempt heap expansion", | ||||
|                  ergo_format_reason("allocation request failed") | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| @@ -117,7 +117,7 @@
 | ||||
|    return reserved_size() - committed_size(); | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -41,7 +41,7 @@
 | ||||
|  } | ||||
|   | ||||
| -size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
| +uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
|    return (addr - _low_boundary) / _page_size; | ||||
|  } | ||||
|  size_t G1CMObjArrayProcessor::process_array_slice(objArrayOop obj, HeapWord* start_from, size_t remaining) { | ||||
| -  size_t words_to_scan = MIN2(remaining, ObjArrayMarkingStride);
 | ||||
| +  size_t words_to_scan = MIN2(remaining, (size_t)ObjArrayMarkingStride);
 | ||||
|   | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
|    if (remaining > ObjArrayMarkingStride) { | ||||
|      push_array_slice(start_from + ObjArrayMarkingStride); | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.hpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -89,7 +89,7 @@
 | ||||
|    void pretouch_internal(size_t start_page, size_t end_page); | ||||
|   | ||||
|    // Returns the index of the page which contains the given address. | ||||
| -  uintptr_t  addr_to_page_index(char* addr) const;
 | ||||
| +  size_t  addr_to_page_index(char* addr) const;
 | ||||
|    // Returns the address of the given page index. | ||||
|    char*  page_start(size_t index) const; | ||||
|   | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -38,7 +38,7 @@
 | ||||
|    _cancel(false), | ||||
|    _empty(true), | ||||
| @ -97,9 +113,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQ | ||||
|    _queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC); | ||||
|    for (size_t i = 0; i < _nqueues; i++) { | ||||
|      new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -120,7 +120,7 @@
 | ||||
|  }; | ||||
|   | ||||
| @ -109,10 +125,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupT | ||||
|    _max_list_length(0), | ||||
|    _cached(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)), | ||||
|    _overflowed(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)) { | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| @@ -109,7 +109,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -110,7 +110,7 @@
 | ||||
|    if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { | ||||
|      size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; | ||||
|      region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(), | ||||
| @ -121,9 +137,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp | ||||
|    } | ||||
|   | ||||
|    int region_size_log = log2_long((jlong) region_size); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -194,7 +194,7 @@
 | ||||
|    const size_t num_overflow_elems = of_stack->size(); | ||||
|    const size_t space_available = queue->max_elems() - queue->size(); | ||||
| @ -133,29 +149,27 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parNew/parNewGene | ||||
|                                       num_overflow_elems); | ||||
|    // Transfer the most recent num_take_elems from the overflow | ||||
|    // stack to our work queue. | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| @@ -910,8 +910,8 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -912,7 +912,7 @@
 | ||||
|   | ||||
|  void PSParallelCompact::initialize_dead_wood_limiter() | ||||
|  { | ||||
|    const size_t max = 100; | ||||
| -  _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
 | ||||
| -  _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
 | ||||
| +  _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0;
 | ||||
| +  _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
 | ||||
| -  const size_t max = 100;
 | ||||
| +  const uintx max = 100;
 | ||||
|    _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0; | ||||
|    _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0; | ||||
|    _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev); | ||||
|    DEBUG_ONLY(_dwl_initialized = true;) | ||||
|    _dwl_adjustment = normal_distribution(1.0); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/memory/collectorPolicy.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -385,7 +385,7 @@
 | ||||
|        uintx calculated_size = NewSize + OldSize; | ||||
|        double shrink_factor = (double) MaxHeapSize / calculated_size; | ||||
|        uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment); | ||||
| -      FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
 | ||||
| +      FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size));
 | ||||
| +      FLAG_SET_ERGO(uintx, NewSize, MAX2((uintx)young_gen_size_lower_bound(), smaller_new_size));
 | ||||
|        _initial_gen0_size = NewSize; | ||||
|   | ||||
|        // OldSize is already aligned because above we aligned MaxHeapSize to | ||||
| @ -168,7 +182,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ | ||||
|    } | ||||
|    assert(max_new_size > 0, "All paths should set max_new_size"); | ||||
|   | ||||
| @@ -455,24 +455,23 @@
 | ||||
| @@ -455,23 +455,25 @@
 | ||||
|        // lower limit. | ||||
|        _min_gen0_size = NewSize; | ||||
|        desired_new_size = NewSize; | ||||
| @ -190,15 +204,16 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ | ||||
|        // NewRatio is overly large, the resulting sizes can be too | ||||
|        // small. | ||||
| -      _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
 | ||||
| +      _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize);
 | ||||
| +      _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size),
 | ||||
| +			    (size_t)NewSize);
 | ||||
|        desired_new_size = | ||||
| -        MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
 | ||||
| -    }
 | ||||
| +        MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);    }
 | ||||
| +        MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size),
 | ||||
| +	     (size_t)NewSize);
 | ||||
|      } | ||||
|   | ||||
|      assert(_min_gen0_size > 0, "Sanity check"); | ||||
|      _initial_gen0_size = desired_new_size; | ||||
| @@ -573,7 +572,7 @@
 | ||||
| @@ -573,7 +575,7 @@
 | ||||
|    } else { | ||||
|      // It's been explicitly set on the command line.  Use the | ||||
|      // OldSize and then determine the consequences. | ||||
| @ -207,9 +222,9 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/ | ||||
|      _initial_gen1_size = OldSize; | ||||
|   | ||||
|      // If the user has explicitly set an OldSize that is inconsistent | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp openjdk/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/memory/metaspace.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -1482,7 +1482,7 @@
 | ||||
|   | ||||
|  void MetaspaceGC::post_initialize() { | ||||
| @ -237,38 +252,18 @@ diff --git openjdk.orig/hotspot/src/share/vm/memory/metaspace.cpp openjdk/hotspo | ||||
|      if (PrintGCDetails && Verbose) { | ||||
|        gclog_or_tty->print_cr("  " | ||||
|                               "  maximum_free_percentage: %6.2f" | ||||
| @@ -3361,7 +3361,7 @@
 | ||||
| @@ -3320,7 +3320,7 @@
 | ||||
|      // Make the first class chunk bigger than a medium chunk so it's not put | ||||
|      // on the medium chunk list.   The next chunk will be small and progress | ||||
|      // from there.  This size calculated by -version. | ||||
|      _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6, | ||||
| -                                       (CompressedClassSpaceSize/BytesPerWord)*2);
 | ||||
| +                                       (size_t)(CompressedClassSpaceSize/BytesPerWord)*2);
 | ||||
| -    _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6,
 | ||||
| +    _first_class_chunk_word_size = MIN2((uintx)MediumChunk*6,
 | ||||
|                                         (CompressedClassSpaceSize/BytesPerWord)*2); | ||||
|      _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size); | ||||
|      // Arbitrarily set the initial virtual space to a multiple | ||||
|      // of the boot class loader size. | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| @@ -250,13 +250,13 @@
 | ||||
|    size_t init_sz = 0; | ||||
|   | ||||
|    if (TLABSize > 0) { | ||||
| -    init_sz = TLABSize / HeapWordSize;
 | ||||
| +    init_sz = (size_t)(TLABSize / HeapWordSize);
 | ||||
|    } else if (global_stats() != NULL) { | ||||
|      // Initial size is a function of the average number of allocating threads. | ||||
|      unsigned nof_threads = global_stats()->allocating_threads_avg(); | ||||
|   | ||||
| -    init_sz  = (Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
 | ||||
| -                      (nof_threads * target_refills());
 | ||||
| +    init_sz  = (size_t)((Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
 | ||||
| +                      (nof_threads * target_refills()));
 | ||||
|      init_sz = align_object_size(init_sz); | ||||
|    } | ||||
|    init_sz = MIN2(MAX2(init_sz, min_size()), max_size()); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -48,7 +48,7 @@
 | ||||
|    const size_t beg_index = size_t(index); | ||||
|    assert(beg_index < len || len == 0, "index too large"); | ||||
| @ -287,10 +282,10 @@ diff --git openjdk.orig/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp openj | ||||
|    const size_t end_index = beg_index + stride; | ||||
|    T* const base = (T*)a->base(); | ||||
|    T* const beg = base + beg_index; | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| @@ -1289,7 +1289,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/runtime/arguments.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -1301,7 +1301,7 @@
 | ||||
|      // NewSize was set on the command line and it is larger than | ||||
|      // preferred_max_new_size. | ||||
|      if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line | ||||
| @ -299,7 +294,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp | ||||
|      } else { | ||||
|        FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); | ||||
|      } | ||||
| @@ -1314,8 +1314,8 @@
 | ||||
| @@ -1326,8 +1326,8 @@
 | ||||
|        // Unless explicitly requested otherwise, make young gen | ||||
|        // at least min_new, and at most preferred_max_new_size. | ||||
|        if (FLAG_IS_DEFAULT(NewSize)) { | ||||
| @ -310,7 +305,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp | ||||
|          if (PrintGCDetails && Verbose) { | ||||
|            // Too early to use gclog_or_tty | ||||
|            tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize); | ||||
| @@ -1325,7 +1325,7 @@
 | ||||
| @@ -1337,7 +1337,7 @@
 | ||||
|        // so it's NewRatio x of NewSize. | ||||
|        if (FLAG_IS_DEFAULT(OldSize)) { | ||||
|          if (max_heap > NewSize) { | ||||
| @ -319,25 +314,15 @@ diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotsp | ||||
|            if (PrintGCDetails && Verbose) { | ||||
|              // Too early to use gclog_or_tty | ||||
|              tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1ConcurrentMarkObjArrayProcessor.cpp
 | ||||
| @@ -41,7 +41,7 @@
 | ||||
| diff -r 4689eaf1a5c9 src/share/vm/runtime/os.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	Mon Aug 31 07:09:56 2020 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/os.cpp	Tue Sep 08 22:20:44 2020 -0400
 | ||||
| @@ -1272,7 +1272,7 @@
 | ||||
|  } | ||||
|   | ||||
|  size_t G1CMObjArrayProcessor::process_array_slice(objArrayOop obj, HeapWord* start_from, size_t remaining) { | ||||
| -  size_t words_to_scan = MIN2(remaining, ObjArrayMarkingStride);
 | ||||
| +  size_t words_to_scan = MIN2(remaining, (size_t) ObjArrayMarkingStride);
 | ||||
|   | ||||
|    if (remaining > ObjArrayMarkingStride) { | ||||
|      push_array_slice(start_from + ObjArrayMarkingStride); | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| @@ -150,5 +150,5 @@
 | ||||
|      return value; | ||||
|    } | ||||
|   | ||||
| -  return (size_t)1 << (log2_intptr(value) + 1);
 | ||||
| +  return (size_t)1 << (log2_intptr((uintptr_t) value) + 1);
 | ||||
|  } | ||||
|  void os::set_memory_serialize_page(address page) { | ||||
| -  int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64);
 | ||||
| +  int count = log2_intptr((uintptr_t)sizeof(class JavaThread)) - log2_int(64);
 | ||||
|    _mem_serialize_page = (volatile int32_t *)page; | ||||
|    // We initialize the serialization page shift count here | ||||
|    // We assume a cache line size of 64 bytes | ||||
|  | ||||
| @ -141,3 +141,26 @@ diff --git openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp ope | ||||
|   | ||||
|  #define INTX_FORMAT           "%" PRIdPTR | ||||
|  #define UINTX_FORMAT          "%" PRIuPTR | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/runtime/memprofiler.cpp openjdk/hotspot/src/share/vm/runtime/memprofiler.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/runtime/memprofiler.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/memprofiler.cpp
 | ||||
| @@ -117,16 +117,16 @@
 | ||||
|    } | ||||
|   | ||||
|    // Print trace line in log | ||||
| -  fprintf(_log_fp, "%6.1f,%5d,%5d," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",",
 | ||||
| +  fprintf(_log_fp, "%6.1f,%5d,%5d," SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) ",",
 | ||||
|            os::elapsedTime(), | ||||
|            Threads::number_of_threads(), | ||||
|            SystemDictionary::number_of_classes(), | ||||
|            Universe::heap()->used() / K, | ||||
|            Universe::heap()->capacity() / K); | ||||
|   | ||||
| -  fprintf(_log_fp, UINTX_FORMAT_W(6) ",", CodeCache::capacity() / K);
 | ||||
| +  fprintf(_log_fp, SIZE_FORMAT_W(6) ",", CodeCache::capacity() / K);
 | ||||
|   | ||||
| -  fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) "\n",
 | ||||
| +  fprintf(_log_fp, SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) "," SIZE_FORMAT_W(6) "\n",
 | ||||
|            handles_memory_usage / K, | ||||
|            resource_memory_usage / K, | ||||
|            OopMapCache::memory_usage() / K); | ||||
|  | ||||
| @ -1,16 +1,13 @@ | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1BiasedArray.hpp
 | ||||
| @@ -78,7 +78,8 @@
 | ||||
|      size_t num_target_elems = pointer_delta(end, bottom, mapping_granularity_in_bytes); | ||||
|      idx_t bias = (uintptr_t)bottom / mapping_granularity_in_bytes; | ||||
|      address base = create_new_base_array(num_target_elems, target_elem_size_in_bytes); | ||||
| -    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes, log2_intptr(mapping_granularity_in_bytes));
 | ||||
| +    initialize_base(base, num_target_elems, bias, target_elem_size_in_bytes,
 | ||||
| +                    log2_long(mapping_granularity_in_bytes));
 | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
 | ||||
| @@ -150,5 +150,5 @@
 | ||||
|      return value; | ||||
|    } | ||||
|   | ||||
|    size_t bias() const { return _bias; } | ||||
| -  return (size_t)1 << (log2_intptr(value) + 1);
 | ||||
| +  return (size_t)1 << (log2_intptr((uintptr_t) value) + 1);
 | ||||
|  } | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
 | ||||
| @ -19,19 +16,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenan | ||||
|    Atomic::add(val, &_sum); | ||||
|   | ||||
| -  int mag = log2_intptr(val) + 1;
 | ||||
| +  int mag = log2_long(val) + 1;
 | ||||
| +  int mag = log2_intptr((uintptr_t)val) + 1;
 | ||||
|   | ||||
|    // Defensively saturate for product bits: | ||||
|    if (mag < 0) { | ||||
| diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp
 | ||||
| --- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/os.cpp
 | ||||
| @@ -1284,7 +1284,7 @@
 | ||||
|  } | ||||
|   | ||||
|  void os::set_memory_serialize_page(address page) { | ||||
| -  int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64);
 | ||||
| +  int count = log2_long(sizeof(class JavaThread)) - log2_int(64);
 | ||||
|    _mem_serialize_page = (volatile int32_t *)page; | ||||
|    // We initialize the serialization page shift count here | ||||
|    // We assume a cache line size of 64 bytes | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user