< prev index next >

src/hotspot/share/gc/serial/markSweep.inline.hpp

Print this page
@@ -27,15 +27,17 @@
  
  #include "gc/serial/markSweep.hpp"
  
  #include "classfile/classLoaderData.inline.hpp"
  #include "classfile/javaClasses.inline.hpp"
+ #include "code/nmethod.hpp"
  #include "gc/serial/serialStringDedup.hpp"
  #include "memory/universe.hpp"
  #include "oops/markWord.hpp"
  #include "oops/access.inline.hpp"
  #include "oops/compressedOops.inline.hpp"
+ #include "oops/method.hpp"
  #include "oops/oop.inline.hpp"
  #include "utilities/align.hpp"
  #include "utilities/stack.inline.hpp"
  
  inline void MarkSweep::mark_object(oop obj) {

@@ -79,10 +81,12 @@
  inline void MarkAndPushClosure::do_oop_work(T* p)            { MarkSweep::mark_and_push(p); }
  inline void MarkAndPushClosure::do_oop(oop* p)               { do_oop_work(p); }
  inline void MarkAndPushClosure::do_oop(narrowOop* p)         { do_oop_work(p); }
  inline void MarkAndPushClosure::do_klass(Klass* k)           { MarkSweep::follow_klass(k); }
  inline void MarkAndPushClosure::do_cld(ClassLoaderData* cld) { MarkSweep::follow_cld(cld); }
+ inline void MarkAndPushClosure::do_method(Method* m)         { m->record_marking_cycle(); }
+ inline void MarkAndPushClosure::do_nmethod(nmethod* nm)      { nm->follow_nmethod(this); }
  
  template <class T> inline void MarkSweep::adjust_pointer(T* p) {
    T heap_oop = RawAccess<>::oop_load(p);
    if (!CompressedOops::is_null(heap_oop)) {
      oop obj = CompressedOops::decode_not_null(heap_oop);
< prev index next >