< prev index next >

src/hotspot/share/prims/jvmtiTagMap.cpp

Print this page




1759   static AdvancedHeapWalkContext _advanced_context;
1760   static AdvancedHeapWalkContext* advanced_context() {
1761     assert(_advanced_context.is_valid(), "invalid");
1762     return &_advanced_context;
1763   }
1764 
1765   // context needed for all heap walks
1766   static JvmtiTagMap* _tag_map;
1767   static const void* _user_data;
1768   static GrowableArray<oop>* _visit_stack;
1769   static ObjectMarker*       _object_marker;
1770 
1771   // accessors
1772   static JvmtiTagMap* tag_map()                        { return _tag_map; }
1773   static const void* user_data()                       { return _user_data; }
1774   static GrowableArray<oop>* visit_stack()             { return _visit_stack; }
1775 
1776   // if the object hasn't been visited then push it onto the visit stack
1777   // so that it will be visited later
1778   static inline bool check_for_visit(oop obj) {
1779     if (!_object_marker->visited(obj)) visit_stack()->push(obj);
1780     return true;
1781   }
1782 
1783   // invoke basic style callbacks
1784   static inline bool invoke_basic_heap_root_callback
1785     (jvmtiHeapRootKind root_kind, oop obj);
1786   static inline bool invoke_basic_stack_ref_callback
1787     (jvmtiHeapRootKind root_kind, jlong thread_tag, jint depth, jmethodID method,
1788      int slot, oop obj);
1789   static inline bool invoke_basic_object_reference_callback
1790     (jvmtiObjectReferenceKind ref_kind, oop referrer, oop referree, jint index);
1791 
1792   // invoke advanced style callbacks
1793   static inline bool invoke_advanced_heap_root_callback
1794     (jvmtiHeapReferenceKind ref_kind, oop obj);
1795   static inline bool invoke_advanced_stack_ref_callback
1796     (jvmtiHeapReferenceKind ref_kind, jlong thread_tag, jlong tid, int depth,
1797      jmethodID method, jlocation bci, jint slot, oop obj);
1798   static inline bool invoke_advanced_object_reference_callback
1799     (jvmtiHeapReferenceKind ref_kind, oop referrer, oop referree, jint index);




1759   static AdvancedHeapWalkContext _advanced_context;
1760   static AdvancedHeapWalkContext* advanced_context() {
1761     assert(_advanced_context.is_valid(), "invalid");
1762     return &_advanced_context;
1763   }
1764 
1765   // context needed for all heap walks
1766   static JvmtiTagMap* _tag_map;
1767   static const void* _user_data;
1768   static GrowableArray<oop>* _visit_stack;
1769   static ObjectMarker*       _object_marker;
1770 
1771   // accessors
1772   static JvmtiTagMap* tag_map()                        { return _tag_map; }
1773   static const void* user_data()                       { return _user_data; }
1774   static GrowableArray<oop>* visit_stack()             { return _visit_stack; }
1775 
1776   // if the object hasn't been visited then push it onto the visit stack
1777   // so that it will be visited later
1778   static inline bool check_for_visit(oop obj) {
1779     if (!_object_marker->marked(obj)) visit_stack()->push(obj);
1780     return true;
1781   }
1782 
1783   // invoke basic style callbacks
1784   static inline bool invoke_basic_heap_root_callback
1785     (jvmtiHeapRootKind root_kind, oop obj);
1786   static inline bool invoke_basic_stack_ref_callback
1787     (jvmtiHeapRootKind root_kind, jlong thread_tag, jint depth, jmethodID method,
1788      int slot, oop obj);
1789   static inline bool invoke_basic_object_reference_callback
1790     (jvmtiObjectReferenceKind ref_kind, oop referrer, oop referree, jint index);
1791 
1792   // invoke advanced style callbacks
1793   static inline bool invoke_advanced_heap_root_callback
1794     (jvmtiHeapReferenceKind ref_kind, oop obj);
1795   static inline bool invoke_advanced_stack_ref_callback
1796     (jvmtiHeapReferenceKind ref_kind, jlong thread_tag, jlong tid, int depth,
1797      jmethodID method, jlocation bci, jint slot, oop obj);
1798   static inline bool invoke_advanced_object_reference_callback
1799     (jvmtiHeapReferenceKind ref_kind, oop referrer, oop referree, jint index);


< prev index next >