c980582
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
c980582
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
c980582
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp
c980582
@@ -150,5 +150,5 @@
c980582
     return value;
c704802
   }
c704802
 
c980582
-  return (size_t)1 << (log2_intptr(value) + 1);
c980582
+  return (size_t)1 << (log2_intptr((uintptr_t) value) + 1);
c980582
 }
c8c45a0
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
c8c45a0
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
c8c45a0
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahNumberSeq.cpp
c8c45a0
@@ -135,7 +135,7 @@
c8c45a0
 void BinaryMagnitudeSeq::add(size_t val) {
c8c45a0
   Atomic::add(val, &_sum);
c8c45a0
 
c8c45a0
-  int mag = log2_intptr(val) + 1;
c980582
+  int mag = log2_intptr((uintptr_t)val) + 1;
c8c45a0
 
c8c45a0
   // Defensively saturate for product bits:
c8c45a0
   if (mag < 0) {
a63448d
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
a63448d
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
a63448d
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
a63448d
@@ -659,7 +659,7 @@
a63448d
 }
a63448d
 
a63448d
 size_t ShenandoahHeap::soft_max_capacity() const {
a63448d
-  size_t v = OrderAccess::load_acquire((volatile size_t*)&_soft_max_size);
a63448d
+  size_t v = OrderAccess::load_acquire((volatile jlong*)&_soft_max_size);
a63448d
   assert(min_capacity() <= v && v <= max_capacity(),
a63448d
          err_msg("Should be in bounds: " SIZE_FORMAT " <= " SIZE_FORMAT " <= " SIZE_FORMAT,
a63448d
                  min_capacity(), v, max_capacity()));
a63448d
diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
a63448d
--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
a63448d
+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp
a63448d
@@ -155,7 +155,7 @@
a63448d
 private:
a63448d
            size_t _initial_size;
a63448d
            size_t _minimum_size;
a63448d
-  volatile size_t _soft_max_size;
a63448d
+  volatile jlong  _soft_max_size;
a63448d
   shenandoah_padding(0);
a63448d
   volatile jlong  _used;
a63448d
   volatile size_t _committed;