From e430b209eb9a723c161000f34fe2ae819c0833bb Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 10 Mar 2026 13:35:15 +0100 Subject: [PATCH] refactor: trace actor instance IDs instead of pointer values --- src/instance.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/instance.cpp b/src/instance.cpp index 01e23cc..f3b0a2d 100644 --- a/src/instance.cpp +++ b/src/instance.cpp @@ -276,6 +276,7 @@ struct instance : std::enable_shared_from_this { } auto name() const -> const string & { return name_; } + auto instance_id() const -> uintptr_t { return instance_id_; } auto is_enabled(channel c) -> bool { return env_.enabled(c); } @@ -532,18 +533,16 @@ auto operator==(const handle &a, const handle &b) -> bool { } namespace { -auto ref_m(const void *p, string name) -> buffer { - stringstream ss; - ss << p; - return array("PID", ss.str(), move(name)); +auto ref_m(uintptr_t id, string name) -> buffer { + return array("PID", id, move(name)); } -auto ref_m(const instance *p) -> buffer { return ref_m(p, p->name()); } +auto ref_m(const instance *p) -> buffer { return ref_m(p->instance_id(), p->name()); } auto ref_m(const ref &r) -> buffer { if (auto p = r.lock()) - return ref_m(p.get(), p->name()); - return ref_m(nullptr, "none"); + return ref_m(p->instance_id(), p->name()); + return ref_m(0, "none"); } } // namespace