Removed usage of hashtable member procs

This commit is contained in:
2024-12-01 01:39:21 -05:00
parent 31a3609b28
commit 0b4ccac8f9
8 changed files with 63 additions and 22 deletions

View File

@ -282,7 +282,7 @@ void init()
// Setup the hash tables
{
StringCache = StringTable::init( Allocator_StringTable );
StringCache = hashtable_init<StringCached>(Allocator_StringTable);
if ( StringCache.Entries == nullptr )
GEN_FATAL( "gen::init: Failed to initialize the StringCache");
@ -317,7 +317,7 @@ void deinit()
}
while ( left--, left );
StringCache.destroy();
destroy(StringCache);
free(CodePools);
free(StringArenas);
@ -392,14 +392,14 @@ StringCached get_cached_string( StrC str )
s32 hash_length = str.Len > kilobytes(1) ? kilobytes(1) : str.Len;
u64 key = crc32( str.Ptr, hash_length );
{
StringCached* result = StringCache.get( key );
StringCached* result = get(StringCache, key );
if ( result )
return * result;
}
String result = String::make( get_string_allocator( str.Len ), str );
StringCache.set( key, result );
set<StringCached>(StringCache, key, result );
return result;
}

View File

@ -6,7 +6,7 @@
ssize token_fmt_va( char* buf, usize buf_size, s32 num_tokens, va_list va )
{
char const* buf_begin = buf;
ssize remaining = buf_size;
ssize remaining = buf_size;
local_persist
Arena tok_map_arena;
@ -17,7 +17,7 @@ ssize token_fmt_va( char* buf, usize buf_size, s32 num_tokens, va_list va )
char tok_map_mem[ TokenFmt_TokenMap_MemSize ];
tok_map_arena = arena_init_from_memory( tok_map_mem, sizeof(tok_map_mem) );
tok_map = HashTable<StrC>::init( allocator_info(tok_map_arena) );
tok_map = hashtable_init<StrC>( allocator_info(tok_map_arena) );
s32 left = num_tokens - 1;
@ -28,7 +28,7 @@ ssize token_fmt_va( char* buf, usize buf_size, s32 num_tokens, va_list va )
u32 key = crc32( token, str_len(token) );
tok_map.set( key, value );
set(tok_map, key, value );
}
}
@ -64,7 +64,7 @@ ssize token_fmt_va( char* buf, usize buf_size, s32 num_tokens, va_list va )
char const* token = fmt + 1;
u32 key = crc32( token, tok_len );
StrC* value = tok_map.get( key );
StrC* value = get(tok_map, key );
if ( value )
{
@ -94,7 +94,7 @@ ssize token_fmt_va( char* buf, usize buf_size, s32 num_tokens, va_list va )
}
}
tok_map.clear();
clear(tok_map);
free(tok_map_arena);
ssize result = buf_size - remaining;

View File

@ -341,7 +341,7 @@ s32 lex_preprocessor_directive(
append(Tokens, name );
u64 key = crc32( name.Text, name.Length );
defines.set( key, name );
set<StrC>(defines, key, name );
}
Token preprocess_content = { scanner, 0, TokType::Preprocess_Content, line, column, TF_Preprocess };
@ -516,7 +516,7 @@ void lex_found_token( StrC& content
else
key = crc32( token.Text, token.Length );
StrC* define = defines.get( key );
StrC* define = get(defines, key );
if ( define )
{
token.Type = TokType::Preprocess_Macro;
@ -597,7 +597,7 @@ TokArray lex( StrC content )
}
u64 key = crc32( entry.Data, length );
defines.set( key, entry );
set<StrC>(defines, key, entry );
}
clear(Tokens);
@ -1259,7 +1259,7 @@ TokArray lex( StrC content )
return { { nullptr }, 0 };
}
defines.clear();
clear(defines);
// defines_map_arena.free();
return { Tokens, 0 };
}

View File

@ -137,7 +137,7 @@ void init()
);
fixed_arena_init(defines_map_arena);
defines = HashTable<StrC>::init_reserve( allocator_info(defines_map_arena), 256 );
defines = hashtable_init_reserve<StrC>( allocator_info(defines_map_arena), 256 );
}
internal