diff -r aa7b1ea52413 -r a57907813a83 src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp --- a/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp Fri Aug 30 20:39:38 2019 +0200 +++ b/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp Mon Sep 02 19:42:46 2019 +0200 @@ -55,13 +55,13 @@ return !_edges->has_entries(); } -void EdgeStore::assign_id(EdgeEntry* entry) { +void EdgeStore::link(EdgeEntry* entry) { assert(entry != NULL, "invariant"); assert(entry->id() == 0, "invariant"); entry->set_id(++_edge_id_counter); } -bool EdgeStore::equals(const Edge& query, uintptr_t hash, const EdgeEntry* entry) { +bool EdgeStore::equals(uintptr_t hash, const EdgeEntry* entry) { assert(entry != NULL, "invariant"); assert(entry->hash() == hash, "invariant"); return true; @@ -80,22 +80,21 @@ StoredEdge* EdgeStore::get(const oop* reference) const { assert(reference != NULL, "invariant"); - const StoredEdge e(NULL, reference); - EdgeEntry* const entry = _edges->lookup_only(e, (uintptr_t)reference); + EdgeEntry* const entry = _edges->lookup_only((uintptr_t)reference); return entry != NULL ? entry->literal_addr() : NULL; } StoredEdge* EdgeStore::put(const oop* reference) { assert(reference != NULL, "invariant"); const StoredEdge e(NULL, reference); - assert(NULL == _edges->lookup_only(e, (uintptr_t)reference), "invariant"); - EdgeEntry& entry = _edges->put(e, (uintptr_t)reference); + assert(NULL == _edges->lookup_only((uintptr_t)reference), "invariant"); + EdgeEntry& entry = _edges->put((uintptr_t)reference, e); return entry.literal_addr(); } traceid EdgeStore::get_id(const Edge* edge) const { assert(edge != NULL, "invariant"); - EdgeEntry* const entry = _edges->lookup_only(*edge, (uintptr_t)edge->reference()); + EdgeEntry* const entry = _edges->lookup_only((uintptr_t)edge->reference()); assert(entry != NULL, "invariant"); return entry->id(); }