From 502ea6ea36246de0a9ad6f67d9085796d3c0cf5b Mon Sep 17 00:00:00 2001 From: Brett Date: Sat, 10 Aug 2024 04:41:41 -0400 Subject: [PATCH] new mutation function partially works --- CMakeLists.txt | 2 +- include/blt/gp/operations.h | 4 +++- include/blt/gp/stack.h | 2 ++ lib/blt | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0d1a33..3bdf3ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.25) -project(blt-gp VERSION 0.0.127) +project(blt-gp VERSION 0.0.128) include(CTest) diff --git a/include/blt/gp/operations.h b/include/blt/gp/operations.h index a7b6828..799d833 100644 --- a/include/blt/gp/operations.h +++ b/include/blt/gp/operations.h @@ -79,7 +79,7 @@ namespace blt::gp blt::size_t offset = 0; blt::size_t current_index = 0; ((offset += (current_index++ > index ? stack_allocator::aligned_size>() : 0)), ...); - //BLT_INFO("offset %ld for index %ld", offset, index); +// BLT_INFO("offset %ld for argument %ld", offset, index); return offset; } @@ -87,6 +87,8 @@ namespace blt::gp inline static constexpr Return exec_sequence_to_indices(Func&& func, stack_allocator& allocator, std::integer_sequence, ExtraArgs&& ... args) { + //BLT_INFO("Arguments:"); + //(BLT_INFO("%ld: %s", indices, blt::type_string().c_str()) , ...); //blt::size_t arg_size = (stack_allocator::aligned_size>() + ...); //BLT_TRACE(arg_size); // expands Args and indices, providing each argument with its index calculating the current argument byte offset diff --git a/include/blt/gp/stack.h b/include/blt/gp/stack.h index c7496fe..cea68fb 100644 --- a/include/blt/gp/stack.h +++ b/include/blt/gp/stack.h @@ -267,6 +267,8 @@ namespace blt::gp if (blk->used_bytes_in_block() < static_cast(TYPE_SIZE)) { BLT_WARN_STREAM << size() << "\n"; + BLT_WARN_STREAM << "Requested " << bytes << " bytes which becomes " << (bytes + TYPE_SIZE) << "\n"; + BLT_WARN_STREAM << "Block size: " << blk->storage_size() << "\n"; BLT_ABORT((std::string("Mismatched Types! Not enough space left in block! Bytes: ") += std::to_string( blk->used_bytes_in_block()) += " Size: " + std::to_string(sizeof(NO_REF_T))).c_str()); } diff --git a/lib/blt b/lib/blt index 941aedb..99e735b 160000 --- a/lib/blt +++ b/lib/blt @@ -1 +1 @@ -Subproject commit 941aedb510d298851dadce32e5b20f85c9844969 +Subproject commit 99e735b7601716caf9e5b6dbac0ae22b2ab99b3d