--- a/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Tue Jun 11 14:59:46 2019 -0700
+++ b/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Tue Jun 11 19:15:31 2019 -0400
@@ -56,12 +56,16 @@
ShenandoahSerialRoot _management_root;
ShenandoahSerialRoot _system_dictionary_root;
ShenandoahSerialRoot _jvmti_root;
- ShenandoahSerialRoot _jni_handle_root;
public:
ShenandoahSerialRoots();
void oops_do(OopClosure* cl, uint worker_id);
};
+class ShenandoahJNIHandleRoots : public ShenandoahSerialRoot {
+public:
+ ShenandoahJNIHandleRoots();
+};
+
class ShenandoahThreadRoots {
private:
const bool _is_par;
@@ -126,6 +130,7 @@
class ShenandoahRootScanner : public ShenandoahRootProcessor {
private:
ShenandoahSerialRoots _serial_roots;
+ ShenandoahJNIHandleRoots _jni_roots;
ShenandoahClassLoaderDataRoots _cld_roots;
ShenandoahThreadRoots _thread_roots;
ShenandoahCodeCacheRoots<ITR> _code_roots;
@@ -152,6 +157,7 @@
class ShenandoahRootEvacuator : public ShenandoahRootProcessor {
private:
ShenandoahSerialRoots _serial_roots;
+ ShenandoahJNIHandleRoots _jni_roots;
ShenandoahClassLoaderDataRoots _cld_roots;
ShenandoahThreadRoots _thread_roots;
ShenandoahWeakRoots _weak_roots;
@@ -168,6 +174,7 @@
class ShenandoahRootUpdater : public ShenandoahRootProcessor {
private:
ShenandoahSerialRoots _serial_roots;
+ ShenandoahJNIHandleRoots _jni_roots;
ShenandoahClassLoaderDataRoots _cld_roots;
ShenandoahThreadRoots _thread_roots;
ShenandoahWeakRoots _weak_roots;
@@ -186,6 +193,7 @@
class ShenandoahRootAdjuster : public ShenandoahRootProcessor {
private:
ShenandoahSerialRoots _serial_roots;
+ ShenandoahJNIHandleRoots _jni_roots;
ShenandoahClassLoaderDataRoots _cld_roots;
ShenandoahThreadRoots _thread_roots;
ShenandoahWeakRoots _weak_roots;