From f6c736f020df8a26a1e2cc99cdb41bd12ce5fc04 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Fri, 9 Feb 2024 20:30:29 +0100 Subject: [PATCH] make the table of references more compact --- src/runtime/c/pgf/db.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/c/pgf/db.cxx b/src/runtime/c/pgf/db.cxx index 0cd7489b0..98641e10d 100644 --- a/src/runtime/c/pgf/db.cxx +++ b/src/runtime/c/pgf/db.cxx @@ -82,9 +82,9 @@ typedef struct { #else DWORD pid; #endif + uint32_t ref_count; object o; txn_t txn_id; - size_t ref_count; } revision_entry; struct PGF_INTERNAL_DECL block_descr @@ -579,8 +579,10 @@ void PgfDB::unregister_revision(object revision) if (--entry->ref_count == 0) { // Maybe this was the last revision in the list. // Decrement n_revisions if possible. - while (ms->revisions[ms->n_revisions-1].ref_count == 0){ + while (ms->revisions[ms->n_revisions-1].ref_count == 0) { ms->n_revisions--; + if (ms->n_revisions == 0) + break; } }