equal
deleted
inserted
replaced
56 return const_cast<StoredEdge*>(static_cast<const StoredEdge*>(Edge::parent())); |
56 return const_cast<StoredEdge*>(static_cast<const StoredEdge*>(Edge::parent())); |
57 } |
57 } |
58 }; |
58 }; |
59 |
59 |
60 class EdgeStore : public CHeapObj<mtTracing> { |
60 class EdgeStore : public CHeapObj<mtTracing> { |
61 typedef HashTableHost<StoredEdge, traceid, Entry, EdgeStore> EdgeHashTable; |
61 typedef HashTableHost<StoredEdge, traceid, JfrHashtableEntry, EdgeStore> EdgeHashTable; |
62 typedef EdgeHashTable::HashEntry EdgeEntry; |
62 typedef EdgeHashTable::HashEntry EdgeEntry; |
63 template <typename, |
63 template <typename, |
64 typename, |
64 typename, |
65 template<typename, typename> class, |
65 template<typename, typename> class, |
66 typename, |
66 typename, |
72 private: |
72 private: |
73 static traceid _edge_id_counter; |
73 static traceid _edge_id_counter; |
74 EdgeHashTable* _edges; |
74 EdgeHashTable* _edges; |
75 |
75 |
76 // Hash table callbacks |
76 // Hash table callbacks |
77 void assign_id(EdgeEntry* entry); |
77 void link(EdgeEntry* entry); |
78 bool equals(const Edge& query, uintptr_t hash, const EdgeEntry* entry); |
78 bool equals(uintptr_t hash, const EdgeEntry* entry); |
79 void unlink(EdgeEntry* entry); |
79 void unlink(EdgeEntry* entry); |
80 |
80 |
81 StoredEdge* get(const oop* reference) const; |
81 StoredEdge* get(const oop* reference) const; |
82 StoredEdge* put(const oop* reference); |
82 StoredEdge* put(const oop* reference); |
83 traceid gc_root_id(const Edge* edge) const; |
83 traceid gc_root_id(const Edge* edge) const; |