< prev index next >

src/hotspot/share/oops/instanceStackChunkKlass.inline.hpp

Print this page
*** 63,18 ***
--- 63,20 ---
    if (Devirtualizer::do_metadata(closure)) {
      Devirtualizer::do_klass(closure, this);
    }
    oop_oop_iterate_stack<T>(chunk, closure);
    oop_oop_iterate_header<T>(chunk, closure);
+   oop_oop_iterate_lockstack<T>(chunk, closure, chunk->range());
  }
  
  template <typename T, class OopClosureType>
  void InstanceStackChunkKlass::oop_oop_iterate_reverse(oop obj, OopClosureType* closure) {
    assert(!Devirtualizer::do_metadata(closure), "Code to handle metadata is not implemented");
    stackChunkOop chunk = stackChunkOopDesc::cast(obj);
    oop_oop_iterate_stack<T>(chunk, closure);
    oop_oop_iterate_header<T>(chunk, closure);
+   oop_oop_iterate_lockstack<T>(chunk, closure, chunk->range());
  }
  
  template <typename T, class OopClosureType>
  void InstanceStackChunkKlass::oop_oop_iterate_bounded(oop obj, OopClosureType* closure, MemRegion mr) {
    stackChunkOop chunk = stackChunkOopDesc::cast(obj);

*** 83,10 ***
--- 85,11 ---
        Devirtualizer::do_klass(closure, this);
      }
    }
    oop_oop_iterate_stack_bounded<T>(chunk, closure, mr);
    oop_oop_iterate_header_bounded<T>(chunk, closure, mr);
+   oop_oop_iterate_lockstack<T>(chunk, closure, mr);
  }
  
  template <typename T, class OopClosureType>
  void InstanceStackChunkKlass::oop_oop_iterate_header(stackChunkOop chunk, OopClosureType* closure) {
    T* parent_addr = chunk->field_addr<T>(jdk_internal_vm_StackChunk::parent_offset());
< prev index next >