From 56e21320e16a165fb8dc0d3ea6719257b392d0b7 Mon Sep 17 00:00:00 2001 From: Quentin Date: Fri, 23 Jun 2023 14:56:40 +0200 Subject: [PATCH] fix(pointer cache): cache version should be sensitive to field count (#1512) --- src/pointers.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pointers.hpp b/src/pointers.hpp index 543a6522..a96aaf6d 100644 --- a/src/pointers.hpp +++ b/src/pointers.hpp @@ -22,7 +22,10 @@ namespace big { static_assert(batch_hash > 0); - cache_file.set_cache_version(batch_hash); + constexpr size_t field_count = (offset_of_cache_end_field - offset_of_cache_begin_field) / sizeof(void*); + constexpr auto cache_version = batch_hash + field_count; + + cache_file.set_cache_version(cache_version); const uintptr_t pointer_to_cacheable_data_start = reinterpret_cast(this) + offset_of_cache_begin_field;