Skip to content

Process-Level Memory Authority#3

Open
jamon-bailey wants to merge 50 commits intoproc-threadsfrom
proc-memory
Open

Process-Level Memory Authority#3
jamon-bailey wants to merge 50 commits intoproc-threadsfrom
proc-memory

Conversation

@jamon-bailey
Copy link
Copy Markdown
Member

Introduction of process-wide memory management components

Introduce MemoryCore skeleton, implementation details remain incomplete and will be implemented in a follow-up.
@jamon-bailey jamon-bailey self-assigned this Apr 1, 2026
@jamon-bailey jamon-bailey added the enhancement New feature or request label Apr 1, 2026
jamon-bailey and others added 27 commits April 15, 2026 18:05
Resources being studied for the implementation of a process-wide fixed-size memory block pool.
Added skeletons for process-wide MemoryPoolConfig and ProcessMemoryPool. Both are incomplete stubs; Update src/process/CMakeLists.txt to include the new source files
Prematurely adding necessary header dependency
Appended a comment block to dev_exe.cpp about potential debug-mode bad-address/sentinel values (several hex patterns and their decimal equivalents)
Annotate MemoryPoolConfig structure with CHEVRON_API to ensure proper symbol visibility from the shared library/object; Implementation remains incomplete
Added skeleton for strongly-typed DigitalSize template as a stub; Still incomplete
Moved digital size measurement facilities to 'include/chevron/common/units/digital' subdirectory; Implementation STILL INCOMPLETE
Add include/chevron/common/units/digital/unit_cast.hpp which introduces DigitalSizeCast, a constexpr template utility to convert between digital size unit types
Introduce a general units include header that centralizes unit-measure facilities; This front-facing header is still INCOMPLETE
Temporary 'size_t' references to be replaced with explicit unit types; Incomplete
Compile-time and runtime math utilities
Introduces an alignment and bit inspection header; Both headers incomplete
Adjustments to documentation comments
Introduce arithmetic and compound operators for DigitalSize; Moved class type traits above class definition
Replace raw size_t fields with unit-safe Bytes for block_size, chunk_size, and budget_ceiling in MemoryPoolConfig; Other fields and structure remain unchanged
Rolling example of application implementation with Chevron
Incomplete documentation
Added validation method stubs for process memory pool configuration; Incomplete implementation
jamon-bailey and others added 20 commits April 19, 2026 20:54
Concerns of portability were invalid
Moved digital size units to dedicated header inside the library file structure, general include header references these nested files/types
Added missing operators to digital size unit template; Misc. fixes to header
Added missing noexcept qualifier to digital size unit cast utility
Renamed source file and introduced power of ten related utilities; Incomplete
Moved function utilities from 'chevron::model' to 'chevron::func'; Also renamed argument indexing concept name, now titled 'valid_arguments_index' from 'is_valid_args_index' (consistent with library concepts approach)
Introduce templated Callable aliases that accept argument packs ('VoidReturnArgs', 'BoolReturnArgs', 'CharReturnArgs', 'IntReturnArgs', 'FloatReturnArgs', 'DoubleReturnArgs', 'CstrReturnArgs', 'SizeTReturnArgs'); Removed the dependency on <string> header and the previous 'StringReturnNoArgs' alias; Also renamed 'SizeReturnNoArgs' to 'SizeTReturnNoArgs'
Introduce digital unit concepts in 'common/units/digital/size_concepts.hpp';

Updated digital unit type traits to include 'utility/bits/powers.hpp' and add 'is_binary_size_system_v' and 'is_decimal_size_system_v' traits (detects power-of-two / power-of-ten byte ratios);

Removed now-redundant 'is_lossless_size_conversion_v' trait (made into a concept instead)
Add include for 'chevron/common/units/digital/size_concepts.hpp' to 'unit_cast.hpp' (INCOMPLETE!!!)

TODO: Having troubles integrating 'digital_size_units' concept inside of the 'DigitalSizeCast' class
Fixes and additions to 'DigitalSize' class template
Fixed ill-formed type trait helper variable
Documentation update
Documentation update

Updated references to size system magnitude constants
Renamed 'IEC_DIGITAL_UNIT_MAGNITUDE' to 'BINARY_DIGITAL_UNIT_MAGNITUDE' and 'STD_DIGITAL_UNIT_MAGNITUDE' to 'DECIMAL_DIGITAL_UNIT_MAGNITUDE'
Introduces primary library macro header
Updates made to code documentation
@jamon-bailey jamon-bailey added this to the Structural Foundations milestone Apr 24, 2026
@jamon-bailey jamon-bailey added Update An update for the main branch and removed enhancement New feature or request labels Apr 24, 2026
- Documentation update

- Removed auto type aligned overloads; pointer arithmetic suffices for that purpose
Adjusted to camel-case
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Update An update for the main branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant