< prev index next >

src/share/vm/gc/shenandoah/shenandoahHeap.hpp

Print this page
rev 12117 : Pin regions that contain JNI critical regions, instead of bail-and-retry protocol.

@@ -35,11 +35,10 @@
 class ShenandoahCollectionSet;
 class ShenandoahFreeSet;
 class ShenandoahConcurrentMark;
 class ShenandoahConcurrentThread;
 class ShenandoahMonitoringSupport;
-class ShenandoahJNICritical;
 
 class ShenandoahAlwaysTrueClosure : public BoolObjectClosure {
 public:
   bool do_object_b(oop p) { return true; }
 };

@@ -125,12 +124,10 @@
   HeapWord** _top_at_mark_starts;
   HeapWord** _top_at_mark_starts_base;
 
   bool _cancelled_concgc;
 
-  ShenandoahJNICritical* _jni_critical;
-
   jbyte _growing_heap;
 
   size_t _bytes_allocated_since_cm;
   size_t _bytes_allocated_during_cm;
   size_t _bytes_allocated_during_cm_start;

@@ -213,10 +210,12 @@
 #endif
 
   void register_nmethod(nmethod* nm);
   void unregister_nmethod(nmethod* nm);
 
+  void enter_critical(oop o);
+  void exit_critical(oop o);
 
   static ShenandoahHeap* heap();
   static ShenandoahHeap* heap_no_check();
   static size_t conservative_max_heap_alignment();
   static address in_cset_fast_test_addr();

@@ -297,11 +296,10 @@
   void reclaim_humongous_region_at(ShenandoahHeapRegion* r);
 
   VirtualSpace* storage() const;
 
   ShenandoahMonitoringSupport* monitoring_support();
-  ShenandoahJNICritical* jni_critical();
   ShenandoahConcurrentMark* concurrentMark() { return _scm;}
 
   ReferenceProcessor* ref_processor() { return _ref_processor;}
 
   WorkGang* conc_workers() const { return _conc_workers;}
< prev index next >