REAL
Regular Expression Algorithmic Library — constexpr C++20 regex
Loading...
Searching...
No Matches
real::detail::pike_vm< State, StateBoundToProgram >::cp_hi_cache_entry Struct Reference

Cache entry for cp_hi_cached (thread-local, not on basic_pike_state). Keyed by a content fingerprint of the class (never a pointer into a program): programs die while this cache lives for the thread, and the allocator can recycle the same cp_ranges address for a different class — a pointer key then returns the wrong sparse table (false membership, e.g. emoji matching [\w€] after a prior high-range class was destroyed). Seen as a deterministic wrong-match on macos-clang CI after a long test binary has churned many classes (find_iter euro empty-alt pin). More...

Public Attributes

std::uint64_t key_fp {0}
 The class's content fingerprint; 0 marks the entry unused.
 
std::unique_ptr< cp_hi_tabletable
 The sparse table built for that class, owned by the cache.
 

Detailed Description

template<typename State, bool StateBoundToProgram = false>
struct real::detail::pike_vm< State, StateBoundToProgram >::cp_hi_cache_entry

Cache entry for cp_hi_cached (thread-local, not on basic_pike_state). Keyed by a content fingerprint of the class (never a pointer into a program): programs die while this cache lives for the thread, and the allocator can recycle the same cp_ranges address for a different class — a pointer key then returns the wrong sparse table (false membership, e.g. emoji matching [\w€] after a prior high-range class was destroyed). Seen as a deterministic wrong-match on macos-clang CI after a long test binary has churned many classes (find_iter euro empty-alt pin).


The documentation for this struct was generated from the following file: