< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp

Print this page
*** 27,10 ***
--- 27,11 ---
  #include "code/nmethod.hpp"
  #include "gc/shared/classUnloadingContext.hpp"
  #include "gc/shenandoah/shenandoahClosures.inline.hpp"
  #include "gc/shenandoah/shenandoahHeap.inline.hpp"
  #include "gc/shenandoah/shenandoahNMethod.inline.hpp"
+ #include "gc/shenandoah/shenandoahStackWatermark.hpp"
  #include "gc/shenandoah/shenandoahUtils.hpp"
  #include "memory/resourceArea.hpp"
  #include "memory/universe.hpp"
  #include "runtime/atomicAccess.hpp"
  #include "utilities/powerOfTwo.hpp"

*** 51,44 ***
  void ShenandoahCodeRoots::unregister_nmethod(nmethod* nm) {
    assert_locked_or_safepoint(CodeCache_lock);
    _nmethod_table->unregister_nmethod(nm);
  }
  
- void ShenandoahCodeRoots::arm_nmethods() {
-   BarrierSet::barrier_set()->barrier_set_nmethod()->arm_all_nmethods();
- }
- 
- class ShenandoahDisarmNMethodClosure : public NMethodClosure {
- public:
-   virtual void do_nmethod(nmethod* nm) {
-     ShenandoahNMethod::disarm_nmethod(nm);
-   }
- };
- 
- class ShenandoahDisarmNMethodsTask : public WorkerTask {
- private:
-   ShenandoahDisarmNMethodClosure      _cl;
-   ShenandoahConcurrentNMethodIterator _iterator;
- 
- public:
-   ShenandoahDisarmNMethodsTask() :
-     WorkerTask("Shenandoah Disarm NMethods"),
-     _iterator(ShenandoahCodeRoots::table()) {
-     assert(SafepointSynchronize::is_at_safepoint(), "Only at a safepoint");
-   }
- 
-   virtual void work(uint worker_id) {
-     ShenandoahParallelWorkerSession worker_session(worker_id);
-     _iterator.nmethods_do(&_cl);
-   }
- };
- 
- void ShenandoahCodeRoots::disarm_nmethods() {
-   ShenandoahDisarmNMethodsTask task;
-   ShenandoahHeap::heap()->workers()->run_task(&task);
- }
- 
  class ShenandoahNMethodUnlinkClosure : public NMethodClosure {
  private:
    bool                      _unloading_occurred;
    ShenandoahHeap* const     _heap;
    BarrierSetNMethod* const  _bs;
--- 52,10 ---
< prev index next >