From 735e27c41863f9f9d40653d6403f26477be22706 Mon Sep 17 00:00:00 2001 From: nasr Date: Sat, 7 Mar 2026 22:58:48 +0000 Subject: refactor(base): split the arena allocator into a zero and non zero one --- source/base/base_arena.c | 8 +- source/base/base_arena.h | 6 +- tags | 278 ----------------------------------------------- 3 files changed, 8 insertions(+), 284 deletions(-) delete mode 100644 tags diff --git a/source/base/base_arena.c b/source/base/base_arena.c index 3e9a6df..5855e5e 100755 --- a/source/base/base_arena.c +++ b/source/base/base_arena.c @@ -33,7 +33,7 @@ arena_destroy(mem_arena *arena) munmap(arena, arena->capacity + sizeof(mem_arena)); } internal void * -arena_alloc(mem_arena *arena, u64 size) +arena_alloc(mem_arena *arena, u64 size, b32 zero) { if (!arena) { @@ -51,7 +51,7 @@ arena_alloc(mem_arena *arena, u64 size) arena->previous_position = arena->current_position; arena->current_position = aligned + size; - MemSet(out, size); + if (zero) MemSet(out, size); return out; } @@ -88,7 +88,7 @@ arena_resize_align(mem_arena *arena, void *old_memory, u64 new_size, u64 old_siz if (old_memory == NULL || old_size == 0) { - return (mem_arena *)arena_alloc(arena, new_size); + return (mem_arena *)arena_alloc(arena, new_size, 0); } else if ((old_mem >= arena->base_position && old_mem < arena->base_position + arena->capacity)) { @@ -103,7 +103,7 @@ arena_resize_align(mem_arena *arena, void *old_memory, u64 new_size, u64 old_siz } else { - void *new_memory = arena_alloc(arena, new_size); + void *new_memory = arena_alloc(arena, new_size, 0); umm copy_size = old_size < new_size ? old_size : new_size; memmove(new_memory, old_mem, copy_size); } diff --git a/source/base/base_arena.h b/source/base/base_arena.h index fe71c24..2818ae4 100755 --- a/source/base/base_arena.h +++ b/source/base/base_arena.h @@ -2,8 +2,10 @@ #define BASE_ARENA_H #define Align(pointer, alignment) align((u64)(pointer), (umm)(alignment)) -#define PushStruct(arena, type) (type *)arena_alloc((arena), sizeof(type)) -#define PushArray(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len)) +#define PushStruct(arena, type) (type *)arena_alloc((arena), sizeof(type), 0) +#define PushStructZero(arena, type) (type *)arena_alloc((arena), sizeof(type), 1) +#define PushArray(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len), 0) +#define PushArrayZero(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len), 1) typedef struct mem_arena mem_arena; struct mem_arena diff --git a/tags b/tags deleted file mode 100644 index 44c6eee..0000000 --- a/tags +++ /dev/null @@ -1,278 +0,0 @@ -!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/ -!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ -!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ -!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ -!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/ -!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ -!_TAG_FIELD_DESCRIPTION input /input file/ -!_TAG_FIELD_DESCRIPTION name /tag name/ -!_TAG_FIELD_DESCRIPTION pattern /pattern/ -!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ -!_TAG_FIELD_DESCRIPTION!C++ name /aliased names/ -!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ -!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ -!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/ -!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/ -!_TAG_KIND_DESCRIPTION!C f,function /function definitions/ -!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/ -!_TAG_KIND_DESCRIPTION!C h,header /included header files/ -!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/ -!_TAG_KIND_DESCRIPTION!C s,struct /structure names/ -!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/ -!_TAG_KIND_DESCRIPTION!C u,union /union names/ -!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/ -!_TAG_KIND_DESCRIPTION!C++ M,module /modules/ -!_TAG_KIND_DESCRIPTION!C++ P,partition /partitions/ -!_TAG_KIND_DESCRIPTION!C++ c,class /classes/ -!_TAG_KIND_DESCRIPTION!C++ d,macro /macro definitions/ -!_TAG_KIND_DESCRIPTION!C++ e,enumerator /enumerators (values inside an enumeration)/ -!_TAG_KIND_DESCRIPTION!C++ f,function /function definitions/ -!_TAG_KIND_DESCRIPTION!C++ g,enum /enumeration names/ -!_TAG_KIND_DESCRIPTION!C++ h,header /included header files/ -!_TAG_KIND_DESCRIPTION!C++ m,member /class, struct, and union members/ -!_TAG_KIND_DESCRIPTION!C++ n,namespace /namespaces/ -!_TAG_KIND_DESCRIPTION!C++ s,struct /structure names/ -!_TAG_KIND_DESCRIPTION!C++ t,typedef /typedefs/ -!_TAG_KIND_DESCRIPTION!C++ u,union /union names/ -!_TAG_KIND_DESCRIPTION!C++ v,variable /variable definitions/ -!_TAG_KIND_DESCRIPTION!Make I,makefile /makefiles/ -!_TAG_KIND_DESCRIPTION!Make m,macro /macros/ -!_TAG_KIND_DESCRIPTION!Make t,target /targets/ -!_TAG_KIND_DESCRIPTION!Markdown S,subsection /level 2 sections/ -!_TAG_KIND_DESCRIPTION!Markdown T,l4subsection /level 4 sections/ -!_TAG_KIND_DESCRIPTION!Markdown c,chapter /chapters/ -!_TAG_KIND_DESCRIPTION!Markdown h,hashtag /hashtags/ -!_TAG_KIND_DESCRIPTION!Markdown n,footnote /footnotes/ -!_TAG_KIND_DESCRIPTION!Markdown s,section /sections/ -!_TAG_KIND_DESCRIPTION!Markdown t,subsubsection /level 3 sections/ -!_TAG_KIND_DESCRIPTION!Markdown u,l5subsection /level 5 sections/ -!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ -!_TAG_OUTPUT_FILESEP slash /slash or backslash/ -!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ -!_TAG_OUTPUT_VERSION 1.1 /current.age/ -!_TAG_PARSER_VERSION!C 1.1 /current.age/ -!_TAG_PARSER_VERSION!C++ 2.2 /current.age/ -!_TAG_PARSER_VERSION!Make 1.1 /current.age/ -!_TAG_PARSER_VERSION!Markdown 1.1 /current.age/ -!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ -!_TAG_PROC_CWD /home/nasr/tb_db/ // -!_TAG_PROGRAM_AUTHOR Universal Ctags Team // -!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ -!_TAG_PROGRAM_URL https://ctags.io/ /official site/ -!_TAG_PROGRAM_VERSION 6.2.1 /v6.2.1/ -!_TAG_ROLE_DESCRIPTION!C!function foreigndecl /declared in foreign languages/ -!_TAG_ROLE_DESCRIPTION!C!header local /local header/ -!_TAG_ROLE_DESCRIPTION!C!header system /system header/ -!_TAG_ROLE_DESCRIPTION!C!macro undef /undefined/ -!_TAG_ROLE_DESCRIPTION!C!struct foreigndecl /declared in foreign languages/ -!_TAG_ROLE_DESCRIPTION!C++!header exported /exported with "exported imported ..."/ -!_TAG_ROLE_DESCRIPTION!C++!header imported /imported with "imported ..."/ -!_TAG_ROLE_DESCRIPTION!C++!header local /local header/ -!_TAG_ROLE_DESCRIPTION!C++!header system /system header/ -!_TAG_ROLE_DESCRIPTION!C++!macro undef /undefined/ -!_TAG_ROLE_DESCRIPTION!C++!module imported /imported with "imported ..."/ -!_TAG_ROLE_DESCRIPTION!C++!module partOwner /used for specifying a partition/ -!_TAG_ROLE_DESCRIPTION!C++!partition imported /imported with "imported ..."/ -!_TAG_ROLE_DESCRIPTION!Make!makefile included /included/ -!_TAG_ROLE_DESCRIPTION!Make!makefile optional /optionally included/ -$(BIN) Makefile /^$(BIN): $(SRC)$/;" t -ARENA_ALIGN source/base/base_mem.h /^#define ARENA_ALIGN /;" d -Align source/base/base_arena.h /^#define Align(/;" d -BASE_ARENA_H source/base/base_arena.h /^#define BASE_ARENA_H$/;" d -BASE_H source/base/base.h /^#define BASE_H$/;" d -BASE_INCLUDE_H source/base/base_include.h /^#define BASE_INCLUDE_H$/;" d -BASE_IO_H source/base/base_io.h /^#define BASE_IO_H$/;" d -BASE_MEM_H source/base/base_mem.h /^#define BASE_MEM_H$/;" d -BASE_OS_H source/base/base_os.h /^#define BASE_OS_H$/;" d -BASE_STRING_H source/base/base_string.h /^#define BASE_STRING_H$/;" d -BASE_TEST_H source/base/base_test.h /^#define BASE_TEST_H$/;" d -BASE_UNITY source/engine/engine.c /^#define BASE_UNITY$/;" d file: -BIN Makefile /^BIN = build\/engine$/;" m -BLUE source/base/base_test.h /^#define BLUE /;" d -BTREE_H source/storage/b_tree.h /^#define BTREE_H$/;" d -BUFF_DEFAULT source/base/base.h /^#define BUFF_DEFAULT /;" d -BUFF_LARGE source/base/base.h /^#define BUFF_LARGE /;" d -BUFF_SMALL source/base/base.h /^#define BUFF_SMALL /;" d -B_TREE_ORDER source/storage/b_tree.h /^#define B_TREE_ORDER /;" d -CC Makefile /^CC = clang$/;" m -CFLAGS Makefile /^CFLAGS = -Wall -Wextra -Wfloat-equal -Wswitch-default -Wswitch-enum \\$/;" m -CSV_READER_H source/storage/csv_reader.h /^#define CSV_READER_H$/;" d -DEPRECATED source/base/base.h /^#define DEPRECATED /;" d -ENGINE_LEXER_H source/lexer/lexer.h /^#define ENGINE_LEXER_H$/;" d -ENGINE_REPL_H source/parser/parser.c /^#define ENGINE_REPL_H$/;" d file: -ENGINE_REPL_H source/parser/parser.h /^#define ENGINE_REPL_H$/;" d -ENGINE_REPL_H source/repl/repl.c /^#define ENGINE_REPL_H$/;" d file: -ENGINE_REPL_H source/repl/repl.h /^#define ENGINE_REPL_H$/;" d -ERR_INVALID source/base/base.h /^#define ERR_INVALID /;" d -ERR_IO source/base/base.h /^#define ERR_IO /;" d -ERR_OK source/base/base.h /^#define ERR_OK /;" d -ERR_PARSE source/base/base.h /^#define ERR_PARSE /;" d -ERR_PERM source/base/base.h /^#define ERR_PERM /;" d -FALSE source/base/base.h /^#define FALSE /;" d -GREEN source/base/base_test.h /^#define GREEN /;" d -GiB source/base/base.h /^#define GiB(/;" d -HEADER_H source/base/bash_hash.h /^#define HEADER_H$/;" d -KiB source/base/base.h /^#define KiB(/;" d -LEN source/base/base_test.h /^#define LEN(/;" d -MAX source/base/base_mem.h /^#define MAX(/;" d -MIN source/base/base_mem.h /^#define MIN(/;" d -MemCpy source/base/base.h /^#define MemCpy(/;" d -MemSet source/base/base.h /^#define MemSet(/;" d -MiB source/base/base.h /^#define MiB(/;" d -NIL source/base/base.h /^#define NIL /;" d -PATH_MAX_LEN source/base/base.h /^#define PATH_MAX_LEN /;" d -PushArray source/base/base_arena.h /^#define PushArray(/;" d -PushString source/base/base_string.h /^ #define PushString(/;" d -PushStruct source/base/base_arena.h /^#define PushStruct(/;" d -RED source/base/base_test.h /^#define RED /;" d -RESET source/base/base_test.h /^#define RESET /;" d -SRC Makefile /^SRC = source\/engine\/engine.c$/;" m -STACK_H source/base/base_stack.h /^#define STACK_H$/;" d -StringFmt source/base/base_string.h /^#define StringFmt /;" d -StringLit source/base/base_string.h /^#define StringLit(/;" d -TOKEN_IDENTIFIER source/lexer/lexer.h /^ TOKEN_IDENTIFIER,$/;" e enum:token_type -TOKEN_UNDEFINED source/lexer/lexer.h /^ TOKEN_UNDEFINED = 255,$/;" e enum:token_type -TOKEN_VALUE source/lexer/lexer.h /^ TOKEN_VALUE,$/;" e enum:token_type -TRUE source/base/base.h /^#define TRUE /;" d -ULLongFmt source/base/base_string.h /^#define ULLongFmt /;" d -ULongFmt source/base/base_string.h /^#define ULongFmt /;" d -align source/base/base_mem.h /^align(u64 pointer, umm alignment)$/;" f typeref:typename:internal u64 -arena source/base/base_arena.h /^ mem_arena *arena;$/;" m struct:temp_arena typeref:typename:mem_arena * -arena_alloc source/base/base_arena.c /^arena_alloc(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void * -arena_clear source/base/base_arena.c /^arena_clear(mem_arena *arena)$/;" f typeref:typename:internal void -arena_create source/base/base_arena.c /^arena_create(u64 capacity)$/;" f typeref:typename:internal mem_arena * -arena_destroy source/base/base_arena.c /^arena_destroy(mem_arena *arena)$/;" f typeref:typename:internal void -arena_pop source/base/base_arena.c /^arena_pop(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void -arena_pop_to source/base/base_arena.c /^arena_pop_to(mem_arena *arena, u64 pos)$/;" f typeref:typename:internal void -arena_resize source/base/base_arena.c /^arena_resize(mem_arena *arena, void *old_memory, u64 new_size, u64 old_size)$/;" f typeref:typename:internal mem_arena * -arena_resize_align source/base/base_arena.c /^arena_resize_align(mem_arena *arena, void *old_memory, u64 new_size, u64 old_size, umm alignment/;" f typeref:typename:internal mem_arena * -b16 source/base/base.h /^typedef i16 b16;$/;" t typeref:typename:i16 -b32 source/base/base.h /^typedef i32 b32;$/;" t typeref:typename:i32 -b8 source/base/base.h /^typedef u8 b8;$/;" t typeref:typename:u8 -b_tree source/storage/b_tree.h /^struct b_tree$/;" s -b_tree source/storage/b_tree.h /^typedef struct b_tree b_tree;$/;" t typeref:struct:b_tree -b_tree_create source/storage/b_tree.c /^b_tree_create(mem_arena *arena, u16 order)$/;" f typeref:typename:internal void -b_tree_insert source/storage/b_tree.c /^b_tree_insert()$/;" f typeref:typename:internal void -b_tree_node source/storage/b_tree.h /^struct b_tree_node$/;" s -b_tree_node source/storage/b_tree.h /^typedef struct b_tree_node b_tree_node;$/;" t typeref:struct:b_tree_node -b_tree_search source/storage/b_tree.c /^b_tree_search(node *node)$/;" f typeref:typename:internal void -b_tree_write source/storage/b_tree.c /^b_tree_write()$/;" f typeref:typename:internal void -base_position source/base/base_arena.h /^ u8 *base_position;$/;" m struct:mem_arena typeref:typename:u8 * -base_position source/base/base_stack.h /^ u8 *base_position;$/;" m struct:mem_stack typeref:typename:u8 * -breakpoint source/base/base.h /^#define breakpoint /;" d -btree source/parser/parser.c /^struct btree$/;" s file: -btree source/parser/parser.c /^typedef struct btree btree;$/;" t typeref:struct:btree file: -btree source/parser/parser.h /^struct btree$/;" s -btree source/parser/parser.h /^typedef struct btree btree;$/;" t typeref:struct:btree -btree source/repl/repl.c /^struct btree$/;" s file: -btree source/repl/repl.c /^typedef struct btree btree;$/;" t typeref:struct:btree file: -btree source/repl/repl.h /^struct btree$/;" s -btree source/repl/repl.h /^typedef struct btree btree;$/;" t typeref:struct:btree -calculate_padding source/base/base_stack.c /^calculate_padding(u64 pointer, u8 alignment, u64 header_size)$/;" f typeref:typename:internal u8 -capacity source/base/base_arena.h /^ u64 capacity;$/;" m struct:mem_arena typeref:typename:u64 -capacity source/base/base_stack.h /^ u64 capacity;$/;" m struct:mem_stack typeref:typename:u64 -check source/base/base_test.h /^#define check(/;" d -checkpoint source/base/base_test.h /^#define checkpoint /;" d -checkpoint_end_output source/base/base_test.h /^#define checkpoint_end_output /;" d -checkpoint_output source/base/base_test.h /^#define checkpoint_output /;" d -children source/storage/b_tree.h /^ b_tree_node *children[B_TREE_ORDER];$/;" m struct:b_tree_node typeref:typename:b_tree_node * [] -clean Makefile /^clean:$/;" t -col_count source/storage/csv_reader.h /^ i32 col_count;$/;" m struct:csv_table typeref:typename:i32 -count source/storage/csv_reader.h /^ i32 count;$/;" m struct:csv_row typeref:typename:i32 -csv_row source/storage/csv_reader.h /^struct csv_row$/;" s -csv_row source/storage/csv_reader.h /^typedef struct csv_row csv_row;$/;" t typeref:struct:csv_row -csv_table source/storage/csv_reader.h /^struct csv_table$/;" s -csv_table source/storage/csv_reader.h /^typedef struct csv_table csv_table;$/;" t typeref:struct:csv_table -current_offset source/base/base_stack.h /^ u64 current_offset;$/;" m struct:mem_stack typeref:typename:u64 -current_position source/base/base_arena.h /^ u64 current_position;$/;" m struct:mem_arena typeref:typename:u64 -data source/base/base_string.h /^ u8 *data;$/;" m struct:string8 typeref:typename:u8 * -database engine in c README.md /^# database engine in c$/;" c -f32 source/base/base.h /^typedef float f32;$/;" t typeref:typename:float -f64 source/base/base.h /^typedef double f64;$/;" t typeref:typename:double -fields source/storage/csv_reader.h /^ string8 *fields;$/;" m struct:csv_row typeref:typename:string8 * -generate_hash source/base/base_hash.c /^generate_hash()$/;" f typeref:typename:internal u64 -global_variable source/base/base.h /^#define global_variable /;" d -hash source/base/bash_hash.h /^typedef struct hash hash;$/;" t typeref:struct:hash -hash_map source/base/bash_hash.h /^struct hash_map $/;" s -hash_map source/base/bash_hash.h /^typedef struct hash_map hash_map;$/;" t typeref:struct:hash_map -header source/base/base_stack.h /^ mem_stack_header *header;$/;" m struct:mem_stack typeref:typename:mem_stack_header * -headers source/storage/csv_reader.h /^ string8 *headers;$/;" m struct:csv_table typeref:typename:string8 * -i16 source/base/base.h /^typedef int16_t i16;$/;" t typeref:typename:int16_t -i32 source/base/base.h /^typedef int32_t i32;$/;" t typeref:typename:int32_t -i64 source/base/base.h /^typedef int64_t i64;$/;" t typeref:typename:int64_t -i8 source/base/base.h /^typedef int8_t i8;$/;" t typeref:typename:int8_t -input_read source/base/base_io.h /^input_read()$/;" f typeref:typename:internal void -internal source/base/base.h /^#define internal /;" d -is_pow source/base/base_mem.h /^is_pow(umm x)$/;" f typeref:typename:internal b8 -key_count source/storage/b_tree.h /^ i32 key_count;$/;" m struct:b_tree_node typeref:typename:i32 -keys source/storage/b_tree.h /^ string8 keys[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:string8[] -leaf source/storage/b_tree.h /^ b32 leaf;$/;" m struct:b_tree_node typeref:typename:b32 -lexeme source/lexer/lexer.h /^ string8 lexeme;$/;" m struct:token typeref:typename:string8 -load_file source/base/base_os.h /^load_file(const char *path)$/;" f typeref:typename:internal string8 -local_persist source/base/base.h /^#define local_persist /;" d -main source/engine/engine.c /^int main(int c, char **v)$/;" f typeref:typename:int -mem_arena source/base/base_arena.h /^struct mem_arena$/;" s -mem_arena source/base/base_arena.h /^typedef struct mem_arena mem_arena;$/;" t typeref:struct:mem_arena -mem_stack source/base/base_stack.h /^struct mem_stack$/;" s -mem_stack source/base/base_stack.h /^typedef struct mem_stack mem_stack;$/;" t typeref:struct:mem_stack -mem_stack_header source/base/base_stack.h /^struct mem_stack_header$/;" s -mem_stack_header source/base/base_stack.h /^typedef struct mem_stack_header mem_stack_header;$/;" t typeref:struct:mem_stack_header -nil_csv_row source/storage/csv_reader.h /^csv_row nil_csv_row =$/;" v typeref:typename:read_only global_variable csv_row -nil_csv_table source/storage/csv_reader.h /^csv_table nil_csv_table =$/;" v typeref:typename:read_only global_variable csv_table -nil_string source/base/base_string.h /^string8 nil_string =$/;" v typeref:typename:read_only global_variable string8 -node source/parser/parser.c /^struct node$/;" s file: -node source/parser/parser.c /^typedef struct node node;$/;" t typeref:struct:node file: -node source/parser/parser.h /^struct node$/;" s -node source/parser/parser.h /^typedef struct node node;$/;" t typeref:struct:node -node source/repl/repl.c /^struct node$/;" s file: -node source/repl/repl.c /^typedef struct node node;$/;" t typeref:struct:node file: -node source/repl/repl.h /^struct node$/;" s -node source/repl/repl.h /^typedef struct node node;$/;" t typeref:struct:node -padding source/base/base_stack.h /^ u8 padding;$/;" m struct:mem_stack_header typeref:typename:u8 -parent source/storage/b_tree.h /^ b_tree_node *parent;$/;" m struct:b_tree_node typeref:typename:b_tree_node * -previous_offset source/base/base_stack.h /^ u8 previous_offset;$/;" m struct:mem_stack_header typeref:typename:u8 -previous_position source/base/base_arena.h /^ u64 previous_position;$/;" m struct:mem_arena typeref:typename:u64 -print source/base/base_os.h /^print(const char *str)$/;" f typeref:typename:internal void -read_csv source/storage/csv_reader.c /^read_csv(string8 buffer)$/;" f typeref:typename:internal void -read_only source/base/base.h /^#define read_only /;" d -read_only source/base/base.h /^#define read_only$/;" d -root source/storage/b_tree.h /^ b_tree_node *root;$/;" m struct:b_tree typeref:typename:b_tree_node * -row_count source/storage/csv_reader.h /^ i32 row_count;$/;" m struct:csv_table typeref:typename:i32 -rows source/storage/b_tree.h /^ csv_row *rows[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:csv_row * [] -rows source/storage/csv_reader.h /^ csv_row *rows;$/;" m struct:csv_table typeref:typename:csv_row * -run Makefile /^run:$/;" t -show source/base/base_test.h /^#define show /;" d -size source/base/base_string.h /^ u64 size;$/;" m struct:string8 typeref:typename:u64 -smm source/base/base.h /^typedef intptr_t smm;$/;" t typeref:typename:intptr_t -stack_create source/base/base_stack.c /^stack_create(u64 capacity)$/;" f typeref:typename:internal mem_stack * -stack_destroy source/base/base_stack.c /^stack_destroy(mem_stack *stack)$/;" f typeref:typename:internal void -stack_pop source/base/base_stack.c /^stack_pop(mem_stack *stack, void *pointer)$/;" f typeref:typename:internal void -stack_pop_all source/base/base_stack.c /^stack_pop_all(mem_stack *stack)$/;" f typeref:typename:internal void -stack_push source/base/base_stack.c /^stack_push(mem_stack *stack, u64 size)$/;" f typeref:typename:internal void * -stack_push_align source/base/base_stack.c /^stack_push_align(mem_stack *stack, u64 size, u8 alignment)$/;" f typeref:typename:internal mem_stack * -stack_resize_align source/base/base_stack.c /^stack_resize_align(mem_stack *stack, void *pointer, u64 old_size, u64 new_size, u8 alignment)$/;" f typeref:typename:internal mem_stack * -start_position source/base/base_arena.h /^ u64 start_position;$/;" m struct:temp_arena typeref:typename:u64 -string8 source/base/base_string.h /^struct string8$/;" s -string8 source/base/base_string.h /^typedef struct string8 string8;$/;" t typeref:struct:string8 -string8_append_char source/base/base_string.h /^string8_append_char(string8 *buf, u8 c)$/;" f typeref:typename:internal void -string8_cmp source/base/base_string.h /^string8_cmp(string8 a, string8 b)$/;" f typeref:typename:internal b8 -string8_to_u64 source/base/base_string.h /^string8_to_u64(u8 *buf, umm len)$/;" f typeref:typename:internal u64 -temp_arena source/base/base_arena.h /^struct temp_arena$/;" s -temp_arena source/base/base_arena.h /^typedef struct temp_arena temp_arena;$/;" t typeref:struct:temp_arena -temp_arena_begin source/base/base_arena.c /^temp_arena_begin(mem_arena *arena)$/;" f typeref:typename:internal temp_arena -temp_arena_end source/base/base_arena.c /^temp_arena_end(temp_arena temp)$/;" f typeref:typename:internal void -temp_breakpoint source/base/base.h /^#define temp_breakpoint /;" d -test source/base/base_test.h /^#define test(/;" d -token source/lexer/lexer.h /^struct token$/;" s -token source/lexer/lexer.h /^typedef struct token token;$/;" t typeref:struct:token -token_type source/lexer/lexer.h /^enum token_type$/;" g -token_type source/lexer/lexer.h /^typedef enum token_type token_type;$/;" t typeref:enum:token_type -tokenize_csv source/lexer/lexer.c /^tokenize_csv(string8 buffer)$/;" f typeref:typename:internal token * -type source/lexer/lexer.h /^ token_type type;$/;" m struct:token typeref:typename:token_type -u16 source/base/base.h /^typedef uint16_t u16;$/;" t typeref:typename:uint16_t -u32 source/base/base.h /^typedef uint32_t u32;$/;" t typeref:typename:uint32_t -u64 source/base/base.h /^typedef uint64_t u64;$/;" t typeref:typename:uint64_t -u8 source/base/base.h /^typedef uint8_t u8;$/;" t typeref:typename:uint8_t -umm source/base/base.h /^typedef uintptr_t umm;$/;" t typeref:typename:uintptr_t -unused source/base/base.h /^#define unused(/;" d -write_int source/base/base_test.h /^write_int(i32 num)$/;" f typeref:typename:internal void -- cgit v1.3