2021-06-17 14:53:41 +00:00
|
|
|
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;
|
2020-10-15 12:00:27 +00:00
|
|
|
}
|
|
|
|
|
2021-06-17 14:53:41 +00:00
|
|
|
- return (size_t)1 << (log2_intptr(value) + 1);
|
|
|
|
+ return (size_t)1 << (log2_intptr((uintptr_t) value) + 1);
|
|
|
|
}
|
2020-10-15 12:00:27 +00:00
|
|
|
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
|
|
|
|
@@ -135,7 +135,7 @@
|
|
|
|
void BinaryMagnitudeSeq::add(size_t val) {
|
|
|
|
Atomic::add(val, &_sum);
|
|
|
|
|
|
|
|
- int mag = log2_intptr(val) + 1;
|
2021-06-17 14:53:41 +00:00
|
|
|
+ int mag = log2_intptr((uintptr_t)val) + 1;
|
2020-10-15 12:00:27 +00:00
|
|
|
|
|
|
|
// Defensively saturate for product bits:
|
|
|
|
if (mag < 0) {
|
2021-06-17 14:53:41 +00:00
|
|
|
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
|
|
|
|
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
|
|
|
|
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
|
|
|
|
@@ -659,7 +659,7 @@
|
2020-10-15 12:00:27 +00:00
|
|
|
}
|
|
|
|
|
2021-06-17 14:53:41 +00:00
|
|
|
size_t ShenandoahHeap::soft_max_capacity() const {
|
|
|
|
- size_t v = OrderAccess::load_acquire((volatile size_t*)&_soft_max_size);
|
|
|
|
+ size_t v = OrderAccess::load_acquire((volatile jlong*)&_soft_max_size);
|
|
|
|
assert(min_capacity() <= v && v <= max_capacity(),
|
|
|
|
err_msg("Should be in bounds: " SIZE_FORMAT " <= " SIZE_FORMAT " <= " SIZE_FORMAT,
|
|
|
|
min_capacity(), v, max_capacity()));
|
|
|
|
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
|
|
|
|
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
|
|
|
|
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
|
|
|
|
@@ -155,7 +155,7 @@
|
|
|
|
private:
|
|
|
|
size_t _initial_size;
|
|
|
|
size_t _minimum_size;
|
|
|
|
- volatile size_t _soft_max_size;
|
|
|
|
+ volatile jlong _soft_max_size;
|
|
|
|
shenandoah_padding(0);
|
|
|
|
volatile jlong _used;
|
|
|
|
volatile size_t _committed;
|