summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornasr <nsrddyn@gmail.com>2026-03-07 22:58:48 +0000
committernasr <nsrddyn@gmail.com>2026-03-07 22:58:48 +0000
commit735e27c41863f9f9d40653d6403f26477be22706 (patch)
tree45a1727f3a7a155d8fd30276f9e1d8a1ee9220ef
parent2c9057b8f009bd39d97a2d30cf71135cb07c5e4b (diff)
refactor(base): split the arena allocator into a zero and non zero one
-rwxr-xr-xsource/base/base_arena.c8
-rwxr-xr-xsource/base/base_arena.h6
-rw-r--r--tags278
3 files changed, 8 insertions, 284 deletions
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)
33 munmap(arena, arena->capacity + sizeof(mem_arena)); 33 munmap(arena, arena->capacity + sizeof(mem_arena));
34} 34}
35internal void * 35internal void *
36arena_alloc(mem_arena *arena, u64 size) 36arena_alloc(mem_arena *arena, u64 size, b32 zero)
37{ 37{
38 if (!arena) 38 if (!arena)
39 { 39 {
@@ -51,7 +51,7 @@ arena_alloc(mem_arena *arena, u64 size)
51 arena->previous_position = arena->current_position; 51 arena->previous_position = arena->current_position;
52 arena->current_position = aligned + size; 52 arena->current_position = aligned + size;
53 53
54 MemSet(out, size); 54 if (zero) MemSet(out, size);
55 55
56 return out; 56 return out;
57} 57}
@@ -88,7 +88,7 @@ arena_resize_align(mem_arena *arena, void *old_memory, u64 new_size, u64 old_siz
88 88
89 if (old_memory == NULL || old_size == 0) 89 if (old_memory == NULL || old_size == 0)
90 { 90 {
91 return (mem_arena *)arena_alloc(arena, new_size); 91 return (mem_arena *)arena_alloc(arena, new_size, 0);
92 } 92 }
93 else if ((old_mem >= arena->base_position && old_mem < arena->base_position + arena->capacity)) 93 else if ((old_mem >= arena->base_position && old_mem < arena->base_position + arena->capacity))
94 { 94 {
@@ -103,7 +103,7 @@ arena_resize_align(mem_arena *arena, void *old_memory, u64 new_size, u64 old_siz
103 } 103 }
104 else 104 else
105 { 105 {
106 void *new_memory = arena_alloc(arena, new_size); 106 void *new_memory = arena_alloc(arena, new_size, 0);
107 umm copy_size = old_size < new_size ? old_size : new_size; 107 umm copy_size = old_size < new_size ? old_size : new_size;
108 memmove(new_memory, old_mem, copy_size); 108 memmove(new_memory, old_mem, copy_size);
109 } 109 }
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 @@
2#define BASE_ARENA_H 2#define BASE_ARENA_H
3 3
4#define Align(pointer, alignment) align((u64)(pointer), (umm)(alignment)) 4#define Align(pointer, alignment) align((u64)(pointer), (umm)(alignment))
5#define PushStruct(arena, type) (type *)arena_alloc((arena), sizeof(type)) 5#define PushStruct(arena, type) (type *)arena_alloc((arena), sizeof(type), 0)
6#define PushArray(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len)) 6#define PushStructZero(arena, type) (type *)arena_alloc((arena), sizeof(type), 1)
7#define PushArray(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len), 0)
8#define PushArrayZero(arena, type, len) (type *)arena_alloc((arena), sizeof(type) * (len), 1)
7 9
8typedef struct mem_arena mem_arena; 10typedef struct mem_arena mem_arena;
9struct mem_arena 11struct mem_arena
diff --git a/tags b/tags
deleted file mode 100644
index 44c6eee..0000000
--- a/tags
+++ /dev/null
@@ -1,278 +0,0 @@
1!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/
2!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/
3!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/
4!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/
5!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/
6!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/
7!_TAG_FIELD_DESCRIPTION input /input file/
8!_TAG_FIELD_DESCRIPTION name /tag name/
9!_TAG_FIELD_DESCRIPTION pattern /pattern/
10!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/
11!_TAG_FIELD_DESCRIPTION!C++ name /aliased names/
12!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
13!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
14!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/
15!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/
16!_TAG_KIND_DESCRIPTION!C f,function /function definitions/
17!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/
18!_TAG_KIND_DESCRIPTION!C h,header /included header files/
19!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/
20!_TAG_KIND_DESCRIPTION!C s,struct /structure names/
21!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/
22!_TAG_KIND_DESCRIPTION!C u,union /union names/
23!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/
24!_TAG_KIND_DESCRIPTION!C++ M,module /modules/
25!_TAG_KIND_DESCRIPTION!C++ P,partition /partitions/
26!_TAG_KIND_DESCRIPTION!C++ c,class /classes/
27!_TAG_KIND_DESCRIPTION!C++ d,macro /macro definitions/
28!_TAG_KIND_DESCRIPTION!C++ e,enumerator /enumerators (values inside an enumeration)/
29!_TAG_KIND_DESCRIPTION!C++ f,function /function definitions/
30!_TAG_KIND_DESCRIPTION!C++ g,enum /enumeration names/
31!_TAG_KIND_DESCRIPTION!C++ h,header /included header files/
32!_TAG_KIND_DESCRIPTION!C++ m,member /class, struct, and union members/
33!_TAG_KIND_DESCRIPTION!C++ n,namespace /namespaces/
34!_TAG_KIND_DESCRIPTION!C++ s,struct /structure names/
35!_TAG_KIND_DESCRIPTION!C++ t,typedef /typedefs/
36!_TAG_KIND_DESCRIPTION!C++ u,union /union names/
37!_TAG_KIND_DESCRIPTION!C++ v,variable /variable definitions/
38!_TAG_KIND_DESCRIPTION!Make I,makefile /makefiles/
39!_TAG_KIND_DESCRIPTION!Make m,macro /macros/
40!_TAG_KIND_DESCRIPTION!Make t,target /targets/
41!_TAG_KIND_DESCRIPTION!Markdown S,subsection /level 2 sections/
42!_TAG_KIND_DESCRIPTION!Markdown T,l4subsection /level 4 sections/
43!_TAG_KIND_DESCRIPTION!Markdown c,chapter /chapters/
44!_TAG_KIND_DESCRIPTION!Markdown h,hashtag /hashtags/
45!_TAG_KIND_DESCRIPTION!Markdown n,footnote /footnotes/
46!_TAG_KIND_DESCRIPTION!Markdown s,section /sections/
47!_TAG_KIND_DESCRIPTION!Markdown t,subsubsection /level 3 sections/
48!_TAG_KIND_DESCRIPTION!Markdown u,l5subsection /level 5 sections/
49!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
50!_TAG_OUTPUT_FILESEP slash /slash or backslash/
51!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
52!_TAG_OUTPUT_VERSION 1.1 /current.age/
53!_TAG_PARSER_VERSION!C 1.1 /current.age/
54!_TAG_PARSER_VERSION!C++ 2.2 /current.age/
55!_TAG_PARSER_VERSION!Make 1.1 /current.age/
56!_TAG_PARSER_VERSION!Markdown 1.1 /current.age/
57!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
58!_TAG_PROC_CWD /home/nasr/tb_db/ //
59!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
60!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
61!_TAG_PROGRAM_URL https://ctags.io/ /official site/
62!_TAG_PROGRAM_VERSION 6.2.1 /v6.2.1/
63!_TAG_ROLE_DESCRIPTION!C!function foreigndecl /declared in foreign languages/
64!_TAG_ROLE_DESCRIPTION!C!header local /local header/
65!_TAG_ROLE_DESCRIPTION!C!header system /system header/
66!_TAG_ROLE_DESCRIPTION!C!macro undef /undefined/
67!_TAG_ROLE_DESCRIPTION!C!struct foreigndecl /declared in foreign languages/
68!_TAG_ROLE_DESCRIPTION!C++!header exported /exported with "exported imported ..."/
69!_TAG_ROLE_DESCRIPTION!C++!header imported /imported with "imported ..."/
70!_TAG_ROLE_DESCRIPTION!C++!header local /local header/
71!_TAG_ROLE_DESCRIPTION!C++!header system /system header/
72!_TAG_ROLE_DESCRIPTION!C++!macro undef /undefined/
73!_TAG_ROLE_DESCRIPTION!C++!module imported /imported with "imported ..."/
74!_TAG_ROLE_DESCRIPTION!C++!module partOwner /used for specifying a partition/
75!_TAG_ROLE_DESCRIPTION!C++!partition imported /imported with "imported ..."/
76!_TAG_ROLE_DESCRIPTION!Make!makefile included /included/
77!_TAG_ROLE_DESCRIPTION!Make!makefile optional /optionally included/
78$(BIN) Makefile /^$(BIN): $(SRC)$/;" t
79ARENA_ALIGN source/base/base_mem.h /^#define ARENA_ALIGN /;" d
80Align source/base/base_arena.h /^#define Align(/;" d
81BASE_ARENA_H source/base/base_arena.h /^#define BASE_ARENA_H$/;" d
82BASE_H source/base/base.h /^#define BASE_H$/;" d
83BASE_INCLUDE_H source/base/base_include.h /^#define BASE_INCLUDE_H$/;" d
84BASE_IO_H source/base/base_io.h /^#define BASE_IO_H$/;" d
85BASE_MEM_H source/base/base_mem.h /^#define BASE_MEM_H$/;" d
86BASE_OS_H source/base/base_os.h /^#define BASE_OS_H$/;" d
87BASE_STRING_H source/base/base_string.h /^#define BASE_STRING_H$/;" d
88BASE_TEST_H source/base/base_test.h /^#define BASE_TEST_H$/;" d
89BASE_UNITY source/engine/engine.c /^#define BASE_UNITY$/;" d file:
90BIN Makefile /^BIN = build\/engine$/;" m
91BLUE source/base/base_test.h /^#define BLUE /;" d
92BTREE_H source/storage/b_tree.h /^#define BTREE_H$/;" d
93BUFF_DEFAULT source/base/base.h /^#define BUFF_DEFAULT /;" d
94BUFF_LARGE source/base/base.h /^#define BUFF_LARGE /;" d
95BUFF_SMALL source/base/base.h /^#define BUFF_SMALL /;" d
96B_TREE_ORDER source/storage/b_tree.h /^#define B_TREE_ORDER /;" d
97CC Makefile /^CC = clang$/;" m
98CFLAGS Makefile /^CFLAGS = -Wall -Wextra -Wfloat-equal -Wswitch-default -Wswitch-enum \\$/;" m
99CSV_READER_H source/storage/csv_reader.h /^#define CSV_READER_H$/;" d
100DEPRECATED source/base/base.h /^#define DEPRECATED /;" d
101ENGINE_LEXER_H source/lexer/lexer.h /^#define ENGINE_LEXER_H$/;" d
102ENGINE_REPL_H source/parser/parser.c /^#define ENGINE_REPL_H$/;" d file:
103ENGINE_REPL_H source/parser/parser.h /^#define ENGINE_REPL_H$/;" d
104ENGINE_REPL_H source/repl/repl.c /^#define ENGINE_REPL_H$/;" d file:
105ENGINE_REPL_H source/repl/repl.h /^#define ENGINE_REPL_H$/;" d
106ERR_INVALID source/base/base.h /^#define ERR_INVALID /;" d
107ERR_IO source/base/base.h /^#define ERR_IO /;" d
108ERR_OK source/base/base.h /^#define ERR_OK /;" d
109ERR_PARSE source/base/base.h /^#define ERR_PARSE /;" d
110ERR_PERM source/base/base.h /^#define ERR_PERM /;" d
111FALSE source/base/base.h /^#define FALSE /;" d
112GREEN source/base/base_test.h /^#define GREEN /;" d
113GiB source/base/base.h /^#define GiB(/;" d
114HEADER_H source/base/bash_hash.h /^#define HEADER_H$/;" d
115KiB source/base/base.h /^#define KiB(/;" d
116LEN source/base/base_test.h /^#define LEN(/;" d
117MAX source/base/base_mem.h /^#define MAX(/;" d
118MIN source/base/base_mem.h /^#define MIN(/;" d
119MemCpy source/base/base.h /^#define MemCpy(/;" d
120MemSet source/base/base.h /^#define MemSet(/;" d
121MiB source/base/base.h /^#define MiB(/;" d
122NIL source/base/base.h /^#define NIL /;" d
123PATH_MAX_LEN source/base/base.h /^#define PATH_MAX_LEN /;" d
124PushArray source/base/base_arena.h /^#define PushArray(/;" d
125PushString source/base/base_string.h /^ #define PushString(/;" d
126PushStruct source/base/base_arena.h /^#define PushStruct(/;" d
127RED source/base/base_test.h /^#define RED /;" d
128RESET source/base/base_test.h /^#define RESET /;" d
129SRC Makefile /^SRC = source\/engine\/engine.c$/;" m
130STACK_H source/base/base_stack.h /^#define STACK_H$/;" d
131StringFmt source/base/base_string.h /^#define StringFmt /;" d
132StringLit source/base/base_string.h /^#define StringLit(/;" d
133TOKEN_IDENTIFIER source/lexer/lexer.h /^ TOKEN_IDENTIFIER,$/;" e enum:token_type
134TOKEN_UNDEFINED source/lexer/lexer.h /^ TOKEN_UNDEFINED = 255,$/;" e enum:token_type
135TOKEN_VALUE source/lexer/lexer.h /^ TOKEN_VALUE,$/;" e enum:token_type
136TRUE source/base/base.h /^#define TRUE /;" d
137ULLongFmt source/base/base_string.h /^#define ULLongFmt /;" d
138ULongFmt source/base/base_string.h /^#define ULongFmt /;" d
139align source/base/base_mem.h /^align(u64 pointer, umm alignment)$/;" f typeref:typename:internal u64
140arena source/base/base_arena.h /^ mem_arena *arena;$/;" m struct:temp_arena typeref:typename:mem_arena *
141arena_alloc source/base/base_arena.c /^arena_alloc(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void *
142arena_clear source/base/base_arena.c /^arena_clear(mem_arena *arena)$/;" f typeref:typename:internal void
143arena_create source/base/base_arena.c /^arena_create(u64 capacity)$/;" f typeref:typename:internal mem_arena *
144arena_destroy source/base/base_arena.c /^arena_destroy(mem_arena *arena)$/;" f typeref:typename:internal void
145arena_pop source/base/base_arena.c /^arena_pop(mem_arena *arena, u64 size)$/;" f typeref:typename:internal void
146arena_pop_to source/base/base_arena.c /^arena_pop_to(mem_arena *arena, u64 pos)$/;" f typeref:typename:internal void
147arena_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 *
148arena_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 *
149b16 source/base/base.h /^typedef i16 b16;$/;" t typeref:typename:i16
150b32 source/base/base.h /^typedef i32 b32;$/;" t typeref:typename:i32
151b8 source/base/base.h /^typedef u8 b8;$/;" t typeref:typename:u8
152b_tree source/storage/b_tree.h /^struct b_tree$/;" s
153b_tree source/storage/b_tree.h /^typedef struct b_tree b_tree;$/;" t typeref:struct:b_tree
154b_tree_create source/storage/b_tree.c /^b_tree_create(mem_arena *arena, u16 order)$/;" f typeref:typename:internal void
155b_tree_insert source/storage/b_tree.c /^b_tree_insert()$/;" f typeref:typename:internal void
156b_tree_node source/storage/b_tree.h /^struct b_tree_node$/;" s
157b_tree_node source/storage/b_tree.h /^typedef struct b_tree_node b_tree_node;$/;" t typeref:struct:b_tree_node
158b_tree_search source/storage/b_tree.c /^b_tree_search(node *node)$/;" f typeref:typename:internal void
159b_tree_write source/storage/b_tree.c /^b_tree_write()$/;" f typeref:typename:internal void
160base_position source/base/base_arena.h /^ u8 *base_position;$/;" m struct:mem_arena typeref:typename:u8 *
161base_position source/base/base_stack.h /^ u8 *base_position;$/;" m struct:mem_stack typeref:typename:u8 *
162breakpoint source/base/base.h /^#define breakpoint /;" d
163btree source/parser/parser.c /^struct btree$/;" s file:
164btree source/parser/parser.c /^typedef struct btree btree;$/;" t typeref:struct:btree file:
165btree source/parser/parser.h /^struct btree$/;" s
166btree source/parser/parser.h /^typedef struct btree btree;$/;" t typeref:struct:btree
167btree source/repl/repl.c /^struct btree$/;" s file:
168btree source/repl/repl.c /^typedef struct btree btree;$/;" t typeref:struct:btree file:
169btree source/repl/repl.h /^struct btree$/;" s
170btree source/repl/repl.h /^typedef struct btree btree;$/;" t typeref:struct:btree
171calculate_padding source/base/base_stack.c /^calculate_padding(u64 pointer, u8 alignment, u64 header_size)$/;" f typeref:typename:internal u8
172capacity source/base/base_arena.h /^ u64 capacity;$/;" m struct:mem_arena typeref:typename:u64
173capacity source/base/base_stack.h /^ u64 capacity;$/;" m struct:mem_stack typeref:typename:u64
174check source/base/base_test.h /^#define check(/;" d
175checkpoint source/base/base_test.h /^#define checkpoint /;" d
176checkpoint_end_output source/base/base_test.h /^#define checkpoint_end_output /;" d
177checkpoint_output source/base/base_test.h /^#define checkpoint_output /;" d
178children source/storage/b_tree.h /^ b_tree_node *children[B_TREE_ORDER];$/;" m struct:b_tree_node typeref:typename:b_tree_node * []
179clean Makefile /^clean:$/;" t
180col_count source/storage/csv_reader.h /^ i32 col_count;$/;" m struct:csv_table typeref:typename:i32
181count source/storage/csv_reader.h /^ i32 count;$/;" m struct:csv_row typeref:typename:i32
182csv_row source/storage/csv_reader.h /^struct csv_row$/;" s
183csv_row source/storage/csv_reader.h /^typedef struct csv_row csv_row;$/;" t typeref:struct:csv_row
184csv_table source/storage/csv_reader.h /^struct csv_table$/;" s
185csv_table source/storage/csv_reader.h /^typedef struct csv_table csv_table;$/;" t typeref:struct:csv_table
186current_offset source/base/base_stack.h /^ u64 current_offset;$/;" m struct:mem_stack typeref:typename:u64
187current_position source/base/base_arena.h /^ u64 current_position;$/;" m struct:mem_arena typeref:typename:u64
188data source/base/base_string.h /^ u8 *data;$/;" m struct:string8 typeref:typename:u8 *
189database engine in c README.md /^# database engine in c$/;" c
190f32 source/base/base.h /^typedef float f32;$/;" t typeref:typename:float
191f64 source/base/base.h /^typedef double f64;$/;" t typeref:typename:double
192fields source/storage/csv_reader.h /^ string8 *fields;$/;" m struct:csv_row typeref:typename:string8 *
193generate_hash source/base/base_hash.c /^generate_hash()$/;" f typeref:typename:internal u64
194global_variable source/base/base.h /^#define global_variable /;" d
195hash source/base/bash_hash.h /^typedef struct hash hash;$/;" t typeref:struct:hash
196hash_map source/base/bash_hash.h /^struct hash_map $/;" s
197hash_map source/base/bash_hash.h /^typedef struct hash_map hash_map;$/;" t typeref:struct:hash_map
198header source/base/base_stack.h /^ mem_stack_header *header;$/;" m struct:mem_stack typeref:typename:mem_stack_header *
199headers source/storage/csv_reader.h /^ string8 *headers;$/;" m struct:csv_table typeref:typename:string8 *
200i16 source/base/base.h /^typedef int16_t i16;$/;" t typeref:typename:int16_t
201i32 source/base/base.h /^typedef int32_t i32;$/;" t typeref:typename:int32_t
202i64 source/base/base.h /^typedef int64_t i64;$/;" t typeref:typename:int64_t
203i8 source/base/base.h /^typedef int8_t i8;$/;" t typeref:typename:int8_t
204input_read source/base/base_io.h /^input_read()$/;" f typeref:typename:internal void
205internal source/base/base.h /^#define internal /;" d
206is_pow source/base/base_mem.h /^is_pow(umm x)$/;" f typeref:typename:internal b8
207key_count source/storage/b_tree.h /^ i32 key_count;$/;" m struct:b_tree_node typeref:typename:i32
208keys source/storage/b_tree.h /^ string8 keys[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:string8[]
209leaf source/storage/b_tree.h /^ b32 leaf;$/;" m struct:b_tree_node typeref:typename:b32
210lexeme source/lexer/lexer.h /^ string8 lexeme;$/;" m struct:token typeref:typename:string8
211load_file source/base/base_os.h /^load_file(const char *path)$/;" f typeref:typename:internal string8
212local_persist source/base/base.h /^#define local_persist /;" d
213main source/engine/engine.c /^int main(int c, char **v)$/;" f typeref:typename:int
214mem_arena source/base/base_arena.h /^struct mem_arena$/;" s
215mem_arena source/base/base_arena.h /^typedef struct mem_arena mem_arena;$/;" t typeref:struct:mem_arena
216mem_stack source/base/base_stack.h /^struct mem_stack$/;" s
217mem_stack source/base/base_stack.h /^typedef struct mem_stack mem_stack;$/;" t typeref:struct:mem_stack
218mem_stack_header source/base/base_stack.h /^struct mem_stack_header$/;" s
219mem_stack_header source/base/base_stack.h /^typedef struct mem_stack_header mem_stack_header;$/;" t typeref:struct:mem_stack_header
220nil_csv_row source/storage/csv_reader.h /^csv_row nil_csv_row =$/;" v typeref:typename:read_only global_variable csv_row
221nil_csv_table source/storage/csv_reader.h /^csv_table nil_csv_table =$/;" v typeref:typename:read_only global_variable csv_table
222nil_string source/base/base_string.h /^string8 nil_string =$/;" v typeref:typename:read_only global_variable string8
223node source/parser/parser.c /^struct node$/;" s file:
224node source/parser/parser.c /^typedef struct node node;$/;" t typeref:struct:node file:
225node source/parser/parser.h /^struct node$/;" s
226node source/parser/parser.h /^typedef struct node node;$/;" t typeref:struct:node
227node source/repl/repl.c /^struct node$/;" s file:
228node source/repl/repl.c /^typedef struct node node;$/;" t typeref:struct:node file:
229node source/repl/repl.h /^struct node$/;" s
230node source/repl/repl.h /^typedef struct node node;$/;" t typeref:struct:node
231padding source/base/base_stack.h /^ u8 padding;$/;" m struct:mem_stack_header typeref:typename:u8
232parent source/storage/b_tree.h /^ b_tree_node *parent;$/;" m struct:b_tree_node typeref:typename:b_tree_node *
233previous_offset source/base/base_stack.h /^ u8 previous_offset;$/;" m struct:mem_stack_header typeref:typename:u8
234previous_position source/base/base_arena.h /^ u64 previous_position;$/;" m struct:mem_arena typeref:typename:u64
235print source/base/base_os.h /^print(const char *str)$/;" f typeref:typename:internal void
236read_csv source/storage/csv_reader.c /^read_csv(string8 buffer)$/;" f typeref:typename:internal void
237read_only source/base/base.h /^#define read_only /;" d
238read_only source/base/base.h /^#define read_only$/;" d
239root source/storage/b_tree.h /^ b_tree_node *root;$/;" m struct:b_tree typeref:typename:b_tree_node *
240row_count source/storage/csv_reader.h /^ i32 row_count;$/;" m struct:csv_table typeref:typename:i32
241rows source/storage/b_tree.h /^ csv_row *rows[B_TREE_ORDER - 1];$/;" m struct:b_tree_node typeref:typename:csv_row * []
242rows source/storage/csv_reader.h /^ csv_row *rows;$/;" m struct:csv_table typeref:typename:csv_row *
243run Makefile /^run:$/;" t
244show source/base/base_test.h /^#define show /;" d
245size source/base/base_string.h /^ u64 size;$/;" m struct:string8 typeref:typename:u64
246smm source/base/base.h /^typedef intptr_t smm;$/;" t typeref:typename:intptr_t
247stack_create source/base/base_stack.c /^stack_create(u64 capacity)$/;" f typeref:typename:internal mem_stack *
248stack_destroy source/base/base_stack.c /^stack_destroy(mem_stack *stack)$/;" f typeref:typename:internal void
249stack_pop source/base/base_stack.c /^stack_pop(mem_stack *stack, void *pointer)$/;" f typeref:typename:internal void
250stack_pop_all source/base/base_stack.c /^stack_pop_all(mem_stack *stack)$/;" f typeref:typename:internal void
251stack_push source/base/base_stack.c /^stack_push(mem_stack *stack, u64 size)$/;" f typeref:typename:internal void *
252stack_push_align source/base/base_stack.c /^stack_push_align(mem_stack *stack, u64 size, u8 alignment)$/;" f typeref:typename:internal mem_stack *
253stack_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 *
254start_position source/base/base_arena.h /^ u64 start_position;$/;" m struct:temp_arena typeref:typename:u64
255string8 source/base/base_string.h /^struct string8$/;" s
256string8 source/base/base_string.h /^typedef struct string8 string8;$/;" t typeref:struct:string8
257string8_append_char source/base/base_string.h /^string8_append_char(string8 *buf, u8 c)$/;" f typeref:typename:internal void
258string8_cmp source/base/base_string.h /^string8_cmp(string8 a, string8 b)$/;" f typeref:typename:internal b8
259string8_to_u64 source/base/base_string.h /^string8_to_u64(u8 *buf, umm len)$/;" f typeref:typename:internal u64
260temp_arena source/base/base_arena.h /^struct temp_arena$/;" s
261temp_arena source/base/base_arena.h /^typedef struct temp_arena temp_arena;$/;" t typeref:struct:temp_arena
262temp_arena_begin source/base/base_arena.c /^temp_arena_begin(mem_arena *arena)$/;" f typeref:typename:internal temp_arena
263temp_arena_end source/base/base_arena.c /^temp_arena_end(temp_arena temp)$/;" f typeref:typename:internal void
264temp_breakpoint source/base/base.h /^#define temp_breakpoint /;" d
265test source/base/base_test.h /^#define test(/;" d
266token source/lexer/lexer.h /^struct token$/;" s
267token source/lexer/lexer.h /^typedef struct token token;$/;" t typeref:struct:token
268token_type source/lexer/lexer.h /^enum token_type$/;" g
269token_type source/lexer/lexer.h /^typedef enum token_type token_type;$/;" t typeref:enum:token_type
270tokenize_csv source/lexer/lexer.c /^tokenize_csv(string8 buffer)$/;" f typeref:typename:internal token *
271type source/lexer/lexer.h /^ token_type type;$/;" m struct:token typeref:typename:token_type
272u16 source/base/base.h /^typedef uint16_t u16;$/;" t typeref:typename:uint16_t
273u32 source/base/base.h /^typedef uint32_t u32;$/;" t typeref:typename:uint32_t
274u64 source/base/base.h /^typedef uint64_t u64;$/;" t typeref:typename:uint64_t
275u8 source/base/base.h /^typedef uint8_t u8;$/;" t typeref:typename:uint8_t
276umm source/base/base.h /^typedef uintptr_t umm;$/;" t typeref:typename:uintptr_t
277unused source/base/base.h /^#define unused(/;" d
278write_int source/base/base_test.h /^write_int(i32 num)$/;" f typeref:typename:internal void