From ba391b58ffcf9b1b11433c6871fbc23cff6205a0 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 18 Jul 2020 17:12:29 -0500 Subject: [PATCH] Slight refactoring and improvements --- include/onyxastnodes.h | 35 ++++++-- include/onyxir.h | 2 +- include/onyxlex.h | 5 +- include/onyxsempass.h | 6 +- include/onyxwasm.h | 27 +++--- onyx | Bin 254120 -> 256320 bytes src/onyx.c | 194 ++++++++++++++++++++++++----------------- src/onyxchecker.c | 34 +++++--- src/onyxlex.c | 3 +- src/onyxmsgs.c | 7 +- src/onyxsempass.c | 2 +- src/onyxsymres.c | 44 +++------- src/onyxwasm.c | 84 ++++++++++-------- 13 files changed, 256 insertions(+), 187 deletions(-) diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index f2976489..fcd257d4 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -271,16 +271,37 @@ struct AstOverloadedFunction { bh_arr(AstTyped *) overloads; }; -// NOTE: Simple data structure for storing what comes out of the parser -typedef struct ParserOutput { - bh_arr(AstBinding *) top_level_bindings; - bh_arr(AstNode *) nodes_to_process; - bh_arr(AstFunction *) functions; - bh_arr(AstGlobal *) globals; -} ParserOutput; +// NOTE: An Entity represents something will need to be +// processed later down the pipeline. +typedef enum EntityType { + Entity_Type_Unknown, + Entity_Type_Function, + Entity_Type_Overloaded_Function, + Entity_Type_Global, + Entity_Type_Expression +} EntityType; + +typedef struct Entity { + EntityType type; + union { + AstFunction* function; + AstOverloadedFunction* overloaded_function; + AstGlobal* global; + AstTyped* expr; + }; +} Entity; + + +// NOTE: Simple data structure for storing what comes out of the parser +typedef struct ProgramInfo { + bh_arr(AstBinding *) bindings; + bh_arr(Entity) entities; + u32 foreign_func_count; + u32 foreign_global_count; +} ProgramInfo; diff --git a/include/onyxir.h b/include/onyxir.h index 97e0a3cb..5a506da1 100644 --- a/include/onyxir.h +++ b/include/onyxir.h @@ -53,6 +53,6 @@ typedef struct IrContext { IrContext ir_context_create(bh_allocator allocator); void ir_context_free(IrContext* context); -void ir_generate(IrContext* context, ParserOutput parse_output); +void ir_generate(IrContext* context, ProgramInfo parse_output); #endif // #ifndef ONYXIR_H diff --git a/include/onyxlex.h b/include/onyxlex.h index 87e957e7..24168862 100644 --- a/include/onyxlex.h +++ b/include/onyxlex.h @@ -50,7 +50,10 @@ typedef enum TokenType { typedef struct OnyxFilePos { const char* filename; char* line_start; - u32 line, column; + u32 line; + + // NOTE: This assumes that no line is no longer than 2^16 chars + u16 column, length; } OnyxFilePos; typedef struct OnyxToken { diff --git a/include/onyxsempass.h b/include/onyxsempass.h index c9227a04..af2766f2 100644 --- a/include/onyxsempass.h +++ b/include/onyxsempass.h @@ -23,13 +23,13 @@ typedef struct SemState { } SemState; // NOTE: Resolving all symbols in the tree -void onyx_resolve_symbols(SemState* state, ParserOutput* program); +void onyx_resolve_symbols(SemState* state, ProgramInfo* program); // NOTE: Inferring and checking types in the tree -void onyx_type_check(SemState* state, ParserOutput* program); +void onyx_type_check(SemState* state, ProgramInfo* program); // NOTE: Full semantic pass SemState onyx_sempass_create(bh_allocator alloc, bh_allocator node_alloc, OnyxMessages* msgs); -void onyx_sempass(SemState* state, ParserOutput* program); +void onyx_sempass(SemState* state, ProgramInfo* program); #endif diff --git a/include/onyxwasm.h b/include/onyxwasm.h index 55be4e15..fe6aa6b4 100644 --- a/include/onyxwasm.h +++ b/include/onyxwasm.h @@ -279,10 +279,11 @@ typedef struct OnyxWasmModule { bh_allocator allocator; OnyxMessages* msgs; + // NOTE: Mapping ptrs to function / global indicies + bh_imap index_map; + // NOTE: Mapping from local ast node ptrs to indicies bh_imap local_map; - bh_imap global_map; - bh_imap func_map; // NOTE: Maps from ast node pointers to the function index // NOTE: Used internally as a map from strings that represent function types, // 0x7f 0x7f : 0x7f ( (i32, i32) -> i32 ) @@ -292,19 +293,21 @@ typedef struct OnyxWasmModule { bh_arr(u8) structured_jump_target; bh_arr(WasmFuncType*) types; // NOTE: This have to be pointers because the type is variadic in size - bh_arr(WasmImport) imports; - bh_table(WasmExport) exports; - bh_arr(WasmGlobal) globals; - bh_arr(WasmFunc) funcs; - - u16 next_type_idx; - u16 next_func_idx; - u16 next_global_idx; - u16 export_count; + bh_arr(WasmImport) imports; + bh_table(WasmExport) exports; + bh_arr(WasmGlobal) globals; + bh_arr(WasmFunc) funcs; + + u32 next_type_idx; + u32 export_count; + u32 next_func_idx; + u32 next_foreign_func_idx; + u32 next_global_idx; + u32 next_foreign_global_idx; } OnyxWasmModule; OnyxWasmModule onyx_wasm_module_create(bh_allocator alloc, OnyxMessages* msgs); -void onyx_wasm_module_compile(OnyxWasmModule* module, ParserOutput* program); +void onyx_wasm_module_compile(OnyxWasmModule* module, ProgramInfo* program); void onyx_wasm_module_free(OnyxWasmModule* module); void onyx_wasm_module_write_to_file(OnyxWasmModule* module, bh_file file); diff --git a/onyx b/onyx index b356f8a4dedf47c866d40633a76409a632a8a61c..0791ddf04cb41f4c72f037c9e51e4538d381c291 100755 GIT binary patch literal 256320 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 O+HLV!#!^s`jsJfOU2TT| literal 254120 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

Q$5pg5c2{p# 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

36Cba?rMeLrk{9(!d5n91(;$h(uNx4>;KYA!#J^ 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 } + + + + +typedef enum CompilerProgress { + ONYX_COMPILER_PROGRESS_FAILED_READ, + ONYX_COMPILER_PROGRESS_FAILED_PARSE, + ONYX_COMPILER_PROGRESS_FAILED_SEMPASS, + ONYX_COMPILER_PROGRESS_FAILED_BINARY_GEN, + ONYX_COMPILER_PROGRESS_FAILED_OUTPUT, + ONYX_COMPILER_PROGRESS_SUCCESS +} CompilerProgress; + +typedef struct CompilerState { + OnyxCompileOptions* options; + + bh_arena ast_arena, msg_arena, sp_arena; + bh_allocator token_alloc, ast_alloc, msg_alloc, sp_alloc; + + bh_table(bh_file_contents) loaded_files; + bh_arr(const char *) queued_files; + + OnyxMessages msgs; + ProgramInfo prog_info; + OnyxWasmModule wasm_mod; +} CompilerState; + +static void compiler_state_init(CompilerState* compiler_state, OnyxCompileOptions* opts) { + compiler_state->options = opts; + + bh_arr_new(global_heap_allocator, compiler_state->prog_info.bindings, 4); + bh_arr_new(global_heap_allocator, compiler_state->prog_info.entities, 4); + + bh_arena_init(&compiler_state->msg_arena, opts->allocator, 4096); + compiler_state->msg_alloc = bh_arena_allocator(&compiler_state->msg_arena); + + bh_table_init(opts->allocator, compiler_state->loaded_files, 15); + + onyx_message_create(compiler_state->msg_alloc, &compiler_state->msgs, &compiler_state->loaded_files); + + compiler_state->token_alloc = opts->allocator; + + // NOTE: Create the arena where AST nodes will exist + // Prevents nodes from being scattered across memory due to fragmentation + bh_arena_init(&compiler_state->ast_arena, opts->allocator, 16 * 1024 * 1024); // 16MB + compiler_state->ast_alloc = bh_arena_allocator(&compiler_state->ast_arena); + + bh_arena_init(&compiler_state->sp_arena, opts->allocator, 16 * 1024); + compiler_state->sp_alloc = bh_arena_allocator(&compiler_state->sp_arena); + + bh_arr_new(opts->allocator, compiler_state->queued_files, 4); + + // NOTE: Add all files passed by command line to the queue + bh_arr_each(const char *, filename, opts->files) + bh_arr_push(compiler_state->queued_files, (char *) *filename); +} + +static void compiler_state_free(CompilerState* cs) { + bh_arena_free(&cs->ast_arena); + bh_arena_free(&cs->msg_arena); + bh_arena_free(&cs->sp_arena); + bh_table_free(cs->loaded_files); + onyx_wasm_module_free(&cs->wasm_mod); +} + + + + + static ParseResults parse_source_file(CompilerState* compiler_state, bh_file_contents* file_contents) { // NOTE: Maybe don't want to recreate the tokenizer and parser for every file if (compiler_state->options->verbose_output) @@ -121,6 +167,49 @@ static ParseResults parse_source_file(CompilerState* compiler_state, bh_file_con return onyx_parse(&parser); } +static void merge_parse_results(CompilerState* compiler_state, ParseResults* results) { + bh_arr_each(AstUse *, use_node, results->uses) { + char* formatted_name = bh_aprintf( + global_heap_allocator, + "%b.onyx", + (*use_node)->filename->text, (*use_node)->filename->length); + + bh_arr_push(compiler_state->queued_files, formatted_name); + } + + bh_arr_each(AstBinding *, binding_node, results->bindings) + bh_arr_push(compiler_state->prog_info.bindings, *binding_node); + + bh_arr_each(AstNode *, node, results->nodes_to_process) { + Entity ent = { Entity_Type_Unknown }; + + AstKind nkind = (*node)->kind; + switch (nkind) { + case Ast_Kind_Function: + ent.type = Entity_Type_Function; + ent.function = (AstFunction *) *node; + break; + + case Ast_Kind_Overloaded_Function: + ent.type = Entity_Type_Overloaded_Function; + ent.overloaded_function = (AstOverloadedFunction *) *node; + break; + + case Ast_Kind_Global: + ent.type = Entity_Type_Global; + ent.global = (AstGlobal *) *node; + break; + + default: + ent.type = Entity_Type_Expression; + ent.expr = (AstTyped *) *node; + break; + } + + bh_arr_push(compiler_state->prog_info.entities, ent); + } +} + static CompilerProgress process_source_file(CompilerState* compiler_state, char* filename) { if (bh_table_has(bh_file_contents, compiler_state->loaded_files, filename)) return ONYX_COMPILER_PROGRESS_SUCCESS; @@ -143,21 +232,7 @@ static CompilerProgress process_source_file(CompilerState* compiler_state, char* fc = bh_table_get(bh_file_contents, compiler_state->loaded_files, (char *) filename); ParseResults results = parse_source_file(compiler_state, &fc); - - bh_arr_each(AstUse *, use_node, results.uses) { - char* formatted_name = bh_aprintf( - global_heap_allocator, - "%b.onyx", - (*use_node)->filename->text, (*use_node)->filename->length); - - bh_arr_push(compiler_state->queued_files, formatted_name); - } - - bh_arr_each(AstBinding *, binding_node, results.bindings) - bh_arr_push(compiler_state->parse_output.top_level_bindings, *binding_node); - - bh_arr_each(AstNode *, node, results.nodes_to_process) - bh_arr_push(compiler_state->parse_output.nodes_to_process, *node); + merge_parse_results(compiler_state, &results); if (onyx_message_has_errors(&compiler_state->msgs)) { return ONYX_COMPILER_PROGRESS_FAILED_PARSE; @@ -166,37 +241,6 @@ static CompilerProgress process_source_file(CompilerState* compiler_state, char* } } -static void compiler_state_init(CompilerState* compiler_state, OnyxCompileOptions* opts) { - compiler_state->options = opts; - - bh_arr_new(global_heap_allocator, compiler_state->parse_output.top_level_bindings, 4); - bh_arr_new(global_heap_allocator, compiler_state->parse_output.nodes_to_process, 4); - bh_arr_new(global_heap_allocator, compiler_state->parse_output.functions, 4); - bh_arr_new(global_heap_allocator, compiler_state->parse_output.globals, 4); - - bh_arena_init(&compiler_state->msg_arena, opts->allocator, 4096); - compiler_state->msg_alloc = bh_arena_allocator(&compiler_state->msg_arena); - - bh_table_init(opts->allocator, compiler_state->loaded_files, 15); - - onyx_message_create(compiler_state->msg_alloc, &compiler_state->msgs, &compiler_state->loaded_files); - - compiler_state->token_alloc = opts->allocator; - - // NOTE: Create the arena where AST nodes will exist - // Prevents nodes from being scattered across memory due to fragmentation - bh_arena_init(&compiler_state->ast_arena, opts->allocator, 16 * 1024 * 1024); // 16MB - compiler_state->ast_alloc = bh_arena_allocator(&compiler_state->ast_arena); - - bh_arena_init(&compiler_state->sp_arena, opts->allocator, 16 * 1024); - compiler_state->sp_alloc = bh_arena_allocator(&compiler_state->sp_arena); - - bh_arr_new(opts->allocator, compiler_state->queued_files, 4); - - // NOTE: Add all files passed by command line to the queue - bh_arr_each(const char *, filename, opts->files) - bh_arr_push(compiler_state->queued_files, (char *) *filename); -} static i32 onyx_compile(CompilerState* compiler_state) { @@ -216,7 +260,7 @@ static i32 onyx_compile(CompilerState* compiler_state) { bh_printf("[Checking semantics]\n"); SemState sp_state = onyx_sempass_create(compiler_state->sp_alloc, compiler_state->ast_alloc, &compiler_state->msgs); - onyx_sempass(&sp_state, &compiler_state->parse_output); + onyx_sempass(&sp_state, &compiler_state->prog_info); if (onyx_message_has_errors(&compiler_state->msgs)) { return ONYX_COMPILER_PROGRESS_FAILED_SEMPASS; @@ -228,7 +272,7 @@ static i32 onyx_compile(CompilerState* compiler_state) { bh_printf("[Generating WASM]\n"); compiler_state->wasm_mod = onyx_wasm_module_create(compiler_state->options->allocator, &compiler_state->msgs); - onyx_wasm_module_compile(&compiler_state->wasm_mod, &compiler_state->parse_output); + onyx_wasm_module_compile(&compiler_state->wasm_mod, &compiler_state->prog_info); if (onyx_message_has_errors(&compiler_state->msgs)) { return ONYX_COMPILER_PROGRESS_FAILED_BINARY_GEN; @@ -249,14 +293,6 @@ static i32 onyx_compile(CompilerState* compiler_state) { return ONYX_COMPILER_PROGRESS_SUCCESS; } -static void compiler_state_free(CompilerState* cs) { - bh_arena_free(&cs->ast_arena); - bh_arena_free(&cs->msg_arena); - bh_arena_free(&cs->sp_arena); - bh_table_free(cs->loaded_files); - onyx_wasm_module_free(&cs->wasm_mod); -} - int main(int argc, char *argv[]) { bh_scratch_init(&global_scratch, bh_heap_allocator(), 16 * 1024); // NOTE: 16 KB diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 709a7682..e1c215ca 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -361,7 +361,7 @@ CHECK(array_access, AstArrayAccess* aa) { if (!type_is_pointer(aa->addr->type)) { onyx_message_add(state->msgs, ONYX_MESSAGE_TYPE_LITERAL, - aa->addr->token->pos, + aa->token->pos, "expected pointer type for left of array access"); return 1; } @@ -370,7 +370,7 @@ CHECK(array_access, AstArrayAccess* aa) { || (aa->expr->type->Basic.flags & Basic_Flag_Integer) == 0) { onyx_message_add(state->msgs, ONYX_MESSAGE_TYPE_LITERAL, - aa->expr->token->pos, + aa->token->pos, "expected integer type for index"); return 1; } @@ -625,16 +625,30 @@ CHECK(node, AstNode* node) { } } -void onyx_type_check(SemState* state, ParserOutput* program) { - bh_arr_each(AstNode *, node, program->nodes_to_process) { - check_node(state, *node); +void onyx_type_check(SemState* state, ProgramInfo* program) { + bh_arr_each(Entity, entity, program->entities) { + switch (entity->type) { + case Entity_Type_Function: + if (entity->function->flags & Ast_Kind_Foreign) program->foreign_func_count++; - if ((*node)->kind == Ast_Kind_Function) { - bh_arr_push(program->functions, (AstFunction *) *node); - } + if (check_function(state, entity->function)) return; + break; + + case Entity_Type_Overloaded_Function: + if (check_overloaded_function(state, entity->overloaded_function)) return; + break; + + case Entity_Type_Global: + if (entity->global->flags & Ast_Kind_Foreign) program->foreign_global_count++; + + if (check_global(state, entity->global)) return; + break; + + case Entity_Type_Expression: + if (check_expression(state, entity->expr)) return; + break; - if ((*node)->kind == Ast_Kind_Global) { - bh_arr_push(program->globals, (AstGlobal *) *node); + default: DEBUG_HERE; break; } } } diff --git a/src/onyxlex.c b/src/onyxlex.c index 1c6edea8..8a1da57b 100644 --- a/src/onyxlex.c +++ b/src/onyxlex.c @@ -107,7 +107,7 @@ OnyxToken* onyx_get_token(OnyxTokenizer* tokenizer) { tk.pos.line_start = tokenizer->line_start; tk.pos.filename = tokenizer->filename; tk.pos.line = tokenizer->line_number; - tk.pos.column = (i32)(tokenizer->curr - tokenizer->line_start) + 1; + tk.pos.column = (u16)(tokenizer->curr - tokenizer->line_start) + 1; if (tokenizer->curr == tokenizer->end) { tk.type = Token_Type_End_Stream; @@ -220,6 +220,7 @@ OnyxToken* onyx_get_token(OnyxTokenizer* tokenizer) { INCREMENT_CURR_TOKEN(tokenizer); token_parsed: + tk.pos.length = (u16) tk.length; bh_arr_push(tokenizer->tokens, tk); return &tokenizer->tokens[bh_arr_length(tokenizer->tokens) - 1]; diff --git a/src/onyxmsgs.c b/src/onyxmsgs.c index 15768a38..2ca0e761 100644 --- a/src/onyxmsgs.c +++ b/src/onyxmsgs.c @@ -56,11 +56,12 @@ static void print_detailed_message(OnyxMessage* msg, bh_file_contents* fc) { bh_printf("| %b\n", msg->pos.line_start, linelength); char* pointer_str = bh_alloc_array(global_scratch_allocator, char, linelength); - memset(pointer_str, 0, linelength); - memset(pointer_str, '~', msg->pos.column - 1); + memset(pointer_str, ' ', linelength); + memset(pointer_str + msg->pos.column, '~', msg->pos.length - 1); pointer_str[msg->pos.column - 1] = '^'; + pointer_str[msg->pos.column + msg->pos.length - 1] = 0; - bh_printf("|~%s\n", pointer_str); + bh_printf("| %s\n", pointer_str); } void onyx_message_print(OnyxMessages* msgs) { diff --git a/src/onyxsempass.c b/src/onyxsempass.c index 6d793680..e19cfcb0 100644 --- a/src/onyxsempass.c +++ b/src/onyxsempass.c @@ -16,7 +16,7 @@ SemState onyx_sempass_create(bh_allocator alloc, bh_allocator node_alloc, OnyxMe return state; } -void onyx_sempass(SemState* state, ParserOutput* program) { +void onyx_sempass(SemState* state, ProgramInfo* program) { onyx_resolve_symbols(state, program); if (onyx_message_has_errors(state->msgs)) return; diff --git a/src/onyxsymres.c b/src/onyxsymres.c index c9779517..179dc9a1 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -291,35 +291,7 @@ static void symres_overloaded_function(SemState* state, AstOverloadedFunction* o } } -static void symres_top_node(SemState* state, AstNode** node) { - switch ((*node)->kind) { - case Ast_Kind_Call: - case Ast_Kind_Unary_Op: - case Ast_Kind_Binary_Op: - case Ast_Kind_Literal: - case Ast_Kind_Symbol: - symres_expression(state, (AstTyped **) node); - break; - - case Ast_Kind_Global: - symres_global(state, (AstGlobal *) *node); - break; - - case Ast_Kind_Function: - symres_function(state, (AstFunction *) *node); - break; - - case Ast_Kind_Overloaded_Function: - symres_overloaded_function(state, (AstOverloadedFunction *) *node); - break; - - default: - DEBUG_HERE; - break; - } -} - -void onyx_resolve_symbols(SemState* state, ParserOutput* program) { +void onyx_resolve_symbols(SemState* state, ProgramInfo* program) { state->global_scope = scope_create(state->node_allocator, NULL); scope_enter(state, state->global_scope); @@ -339,9 +311,17 @@ void onyx_resolve_symbols(SemState* state, ParserOutput* program) { symbol_basic_type_introduce(state, &basic_type_f64); symbol_basic_type_introduce(state, &basic_type_rawptr); - bh_arr_each(AstBinding *, binding, program->top_level_bindings) + bh_arr_each(AstBinding *, binding, program->bindings) if (!symbol_introduce(state, (*binding)->token, (*binding)->node)) return; - bh_arr_each(AstNode *, node, program->nodes_to_process) - symres_top_node(state, node); + bh_arr_each(Entity, entity, program->entities) { + switch (entity->type) { + case Entity_Type_Function: symres_function(state, entity->function); break; + case Entity_Type_Overloaded_Function: symres_overloaded_function(state, entity->overloaded_function); break; + case Entity_Type_Global: symres_global(state, entity->global); break; + case Entity_Type_Expression: symres_expression(state, &entity->expr); break; + + default: break; + } + } } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index fcb14543..d8040ae7 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -319,7 +319,7 @@ COMPILE_FUNC(assignment, AstBinaryOp* assign) { WID(WI_LOCAL_SET, localidx); } else if (lval->kind == Ast_Kind_Global) { - i32 globalidx = (i32) bh_imap_get(&mod->global_map, (u64) lval); + i32 globalidx = (i32) bh_imap_get(&mod->index_map, (u64) lval); compile_expression(mod, &code, assign->right); WID(WI_GLOBAL_SET, globalidx); @@ -553,7 +553,7 @@ COMPILE_FUNC(call, AstCall* call) { compile_expression(mod, &code, arg->value); } - i32 func_idx = (i32) bh_imap_get(&mod->func_map, (u64) call->callee); + i32 func_idx = (i32) bh_imap_get(&mod->index_map, (u64) call->callee); bh_arr_push(code, ((WasmInstruction){ WI_CALL, func_idx })); *pcode = code; @@ -653,7 +653,7 @@ COMPILE_FUNC(expression, AstTyped* expr) { case Ast_Kind_Global: { - i32 globalidx = (i32) bh_imap_get(&mod->global_map, (u64) expr); + i32 globalidx = (i32) bh_imap_get(&mod->index_map, (u64) expr); WID(WI_GLOBAL_GET, globalidx); break; @@ -880,7 +880,7 @@ static void compile_function(OnyxWasmModule* mod, AstFunction* fd) { if (fd->flags & Ast_Flag_Exported) { token_toggle_end(fd->exported_name); - i32 func_idx = (i32) bh_imap_get(&mod->func_map, (u64) fd); + i32 func_idx = (i32) bh_imap_get(&mod->index_map, (u64) fd); WasmExport wasm_export = { .kind = WASM_FOREIGN_FUNCTION, @@ -931,7 +931,7 @@ static void compile_function(OnyxWasmModule* mod, AstFunction* fd) { bh_imap_clear(&mod->local_map); } -static void compile_global_declaration(OnyxWasmModule* module, AstGlobal* global) { +static void compile_global(OnyxWasmModule* module, AstGlobal* global) { WasmType global_type = onyx_type_to_wasm_type(global->type); if (global->flags & Ast_Flag_Foreign) { @@ -955,7 +955,7 @@ static void compile_global_declaration(OnyxWasmModule* module, AstGlobal* global if ((global->flags & Ast_Flag_Exported) != 0) { token_toggle_end(global->exported_name); - i32 global_idx = (i32) bh_imap_get(&module->func_map, (u64) global); + i32 global_idx = (i32) bh_imap_get(&module->index_map, (u64) global); WasmExport wasm_export = { .kind = WASM_FOREIGN_GLOBAL, @@ -992,6 +992,7 @@ OnyxWasmModule onyx_wasm_module_create(bh_allocator alloc, OnyxMessages* msgs) { .funcs = NULL, .next_func_idx = 0, + .next_foreign_func_idx = 0, .exports = NULL, .export_count = 0, @@ -1000,6 +1001,7 @@ OnyxWasmModule onyx_wasm_module_create(bh_allocator alloc, OnyxMessages* msgs) { .globals = NULL, .next_global_idx = 0, + .next_foreign_global_idx = 0, .structured_jump_target = NULL, }; @@ -1016,55 +1018,63 @@ OnyxWasmModule onyx_wasm_module_create(bh_allocator alloc, OnyxMessages* msgs) { bh_table_init(global_heap_allocator, module.type_map, 61); bh_table_init(global_heap_allocator, module.exports, 61); - bh_imap_init(&module.local_map, global_heap_allocator, 16); - bh_imap_init(&module.func_map, global_heap_allocator, 16); - bh_imap_init(&module.global_map, global_heap_allocator, 16); + bh_imap_init(&module.index_map, global_heap_allocator, 128); + bh_imap_init(&module.local_map, global_heap_allocator, 16); return module; } -void onyx_wasm_module_compile(OnyxWasmModule* module, ParserOutput* program) { - bh_arr_each(AstFunction *, function, program->functions) { - if ((*function)->flags & Ast_Flag_Foreign) { - bh_imap_put(&module->func_map, (u64) *function, module->next_func_idx++); - } - } +void onyx_wasm_module_compile(OnyxWasmModule* module, ProgramInfo* program) { - bh_arr_each(AstGlobal *, global, program->globals) { - if ((*global)->flags & Ast_Flag_Foreign) { - bh_imap_put(&module->global_map, (u64) *global, module->next_global_idx++); - } - } + module->next_func_idx = program->foreign_func_count; + module->next_global_idx = program->foreign_global_count; - bh_arr_each(AstFunction *, function, program->functions) { - if ((*function)->flags & Ast_Flag_Foreign) continue; + // NOTE: First, assign indicies to all functions / globals + bh_arr_each(Entity, entity, program->entities) { + switch (entity->type) { + case Entity_Type_Function: { + if (entity->function->flags & Ast_Flag_Intrinsic) break; - if (((*function)->flags & Ast_Flag_Intrinsic) == 0) - bh_imap_put(&module->func_map, (u64) *function, module->next_func_idx++); - } + u64 func_idx; + if ((entity->function->flags & Ast_Flag_Foreign) != 0) + func_idx = module->next_foreign_func_idx++; + else + func_idx = module->next_func_idx++; - bh_arr_each(AstGlobal *, global, program->globals) { - if ((*global)->flags & Ast_Flag_Foreign) continue; + bh_imap_put(&module->index_map, (u64) entity->function, func_idx); + break; + } - bh_imap_put(&module->global_map, (u64) *global, module->next_global_idx++); - } + case Entity_Type_Global: { + u64 global_idx; + if ((entity->global->flags & Ast_Flag_Foreign) != 0) + global_idx = module->next_foreign_global_idx++; + else + global_idx = module->next_global_idx++; - // NOTE: Then, compile everything - bh_arr_each(AstGlobal *, global, program->globals) - compile_global_declaration(module, *global); + bh_imap_put(&module->index_map, (u64) entity->global, global_idx); + break; + } - bh_arr_each(AstFunction *, function, program->functions) - compile_function(module, *function); + default: break; + } + } - // bh_arr_each(AstGlobal *, global, program->globals) - // compile_global_declaration(module, *global); + // NOTE: Then, compile everything + bh_arr_each(Entity, entity, program->entities) { + switch (entity->type) { + case Entity_Type_Function: compile_function(module, entity->function); break; + case Entity_Type_Global: compile_global(module, entity->global); break; + default: break; + } + } } void onyx_wasm_module_free(OnyxWasmModule* module) { bh_arr_free(module->types); bh_arr_free(module->funcs); bh_imap_free(&module->local_map); - bh_imap_free(&module->func_map); + bh_imap_free(&module->index_map); bh_table_free(module->type_map); bh_table_free(module->exports); } -- 2.25.1