From 5600a9134e0c11591cf3bc13ce6fae4ae0d6e997 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 28 Apr 2021 13:45:43 -0500 Subject: [PATCH] changed how #export works --- bin/onyx | Bin 353400 -> 353448 bytes core/runtime/js.onyx | 2 +- core/runtime/wasi.onyx | 2 +- include/onyxastnodes.h | 27 ++++++++++-------- progs/odin_example.onyx | 4 +-- src/onyxastnodes.c | 1 + src/onyxchecker.c | 8 +++--- src/onyxentities.c | 1 + src/onyxparser.c | 37 ++++++++++--------------- src/onyxsymres.c | 15 +++++++++- src/onyxwasm.c | 59 ++++++++++++++++++++++------------------ 11 files changed, 86 insertions(+), 70 deletions(-) diff --git a/bin/onyx b/bin/onyx index e3ce621b06b47a32363c062fa84399bb31ea68ec..9870c926db10c24c9168feef6b46e593171e7037 100755 GIT binary patch delta 85871 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
+0!=M_2$9Dc<%2Q}F>(i^yb8J)zK0MCp`=O} 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 F{y##;-(Ua$ diff --git a/core/runtime/js.onyx b/core/runtime/js.onyx index f109614f..17cc99bf 100644 --- a/core/runtime/js.onyx +++ b/core/runtime/js.onyx @@ -9,7 +9,7 @@ __exit :: (status: i32) -> void #foreign "host" "exit" --- // The builtin _start proc. // Sets up everything needed for execution. -_start :: () -> void #export "_start" { +#export "_start" () { __runtime_initialize(); args: [] cstr = .{ null, 0 }; diff --git a/core/runtime/wasi.onyx b/core/runtime/wasi.onyx index c6a20399..a90ffabf 100644 --- a/core/runtime/wasi.onyx +++ b/core/runtime/wasi.onyx @@ -20,7 +20,7 @@ __exit :: (status: i32) do proc_exit(status); // The builtin _start proc. // Sets up everything needed for execution. -_start :: () -> void #export "_start" { +#export "_start" () { __runtime_initialize(); args : [] cstr; diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 941f6a80..bd88b7fd 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -34,6 +34,7 @@ NODE(DirectiveError) \ NODE(DirectiveAddOverload) \ NODE(DirectiveOperator) \ + NODE(DirectiveExport) \ \ NODE(Return) \ NODE(Jump) \ @@ -177,6 +178,7 @@ typedef enum AstKind { Ast_Kind_Directive_Error, Ast_Kind_Directive_Add_Overload, Ast_Kind_Directive_Operator, + Ast_Kind_Directive_Export, Ast_Kind_Count } AstKind; @@ -734,16 +736,8 @@ struct AstGlobal { OnyxToken* name; - union { - // NOTE: Used when a global is exported with a specific name - OnyxToken* exported_name; - - // NOTE: Used when the global is declared as foreign - struct { - OnyxToken* foreign_module; - OnyxToken* foreign_name; - }; - }; + OnyxToken* foreign_module; + OnyxToken* foreign_name; }; struct AstParam { // HACK CLEANUP: This does not need to have a local buried inside of it. @@ -771,9 +765,12 @@ struct AstFunction { // procedure call. Then it is set to the token of the call node. OnyxToken* generated_from; + // NOTE: This is NULL, unless this function is used in a "#export" directive. + // It is undefined which name it will have if there are multiple export directives + // for this particular function. + OnyxToken* exported_name; + union { - // NOTE: Used when a function is exported with a specific name - OnyxToken* exported_name; OnyxToken* intrinsic_name; // NOTE: Used when the function is declared as foreign @@ -910,6 +907,12 @@ struct AstDirectiveOperator { AstTyped *overload; }; +struct AstDirectiveExport { + AstNode_base; + + OnyxToken* export_name; + AstTyped* export; +}; typedef enum EntityState { Entity_State_Error, diff --git a/progs/odin_example.onyx b/progs/odin_example.onyx index 9a307413..ab16c27b 100644 --- a/progs/odin_example.onyx +++ b/progs/odin_example.onyx @@ -56,7 +56,7 @@ make_bar :: () -> Bar { return bar; } -f :: () -> [5] [2] u32 #export "IAMTHEFUNCTION" { +f :: () -> [5] [2] u32 { // This method of returning an array will leak memory, since this is never freed. // mem := cast(^u32) calloc(sizeof [5] [2] u32); // for i: 0 .. 10 do mem[i] = 1234 + i; @@ -85,7 +85,7 @@ BadUnion :: struct { Vec2 :: struct { x: i32; y: i32; } Entity :: struct { use pos: Vec2; } -array_literal_optim :: () -> void #export { +array_literal_optim :: () -> void { bar : [5] u32; bar = u32.[ 1, 2, 3, 4, 5 ]; bar[2] = 1234; diff --git a/src/onyxastnodes.c b/src/onyxastnodes.c index 866f2620..aa711518 100644 --- a/src/onyxastnodes.c +++ b/src/onyxastnodes.c @@ -83,6 +83,7 @@ static const char* ast_node_names[] = { "STATIC ERROR", "ADD OVERLOAD", "OPERATOR OVERLOAD", + "EXPORT", "AST_NODE_KIND_COUNT", }; diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 00b8159e..f9fa95dd 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -1456,10 +1456,7 @@ CheckStatus check_global(AstGlobal* global) { fill_in_type((AstTyped *) global); if (global->type == NULL) { - onyx_report_error(global->token->pos, - "Unable to resolve type for global '%b'.", - global->exported_name->text, - global->exported_name->length); + onyx_report_error(global->token->pos, "Unable to resolve type for global."); return Check_Error; } @@ -1709,6 +1706,8 @@ CheckStatus check_function_header(AstFunction* func) { func->type = type_build_function_type(context.ast_alloc, func); + /* + CLEANUP: These checks need to be ported to a process directive check. if ((func->flags & Ast_Flag_Exported) != 0) { if ((func->flags & Ast_Flag_Foreign) != 0) { onyx_report_error(func->token->pos, "exporting a foreign function"); @@ -1725,6 +1724,7 @@ CheckStatus check_function_header(AstFunction* func) { return Check_Error; } } + */ return Check_Success; } diff --git a/src/onyxentities.c b/src/onyxentities.c index 5a11f4d7..c5b1972e 100644 --- a/src/onyxentities.c +++ b/src/onyxentities.c @@ -303,6 +303,7 @@ void add_entities_for_node(bh_arr(Entity *) *target_arr, AstNode* node, Scope* s break; } + case Ast_Kind_Directive_Export: case Ast_Kind_Directive_Add_Overload: case Ast_Kind_Directive_Operator: { ent.type = Entity_Type_Process_Directive; diff --git a/src/onyxparser.c b/src/onyxparser.c index a9eb181f..1f04cc83 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1904,14 +1904,6 @@ static AstFunction* parse_function_definition(OnyxParser* parser, OnyxToken* tok func_def->flags |= Ast_Flag_Foreign; } - else if (parse_possible_directive(parser, "export")) { - func_def->flags |= Ast_Flag_Exported; - - if (parser->curr->type == Token_Type_Literal_String) { - func_def->exported_name = expect_token(parser, Token_Type_Literal_String); - } - } - // HACK: NullProcHack else if (parse_possible_directive(parser, "null")) { func_def->flags |= Ast_Flag_Proc_Is_Null; @@ -1995,14 +1987,6 @@ static AstTyped* parse_global_declaration(OnyxParser* parser) { global_node->flags |= Ast_Flag_Foreign; } - else if (parse_possible_directive(parser, "export")) { - global_node->flags |= Ast_Flag_Exported; - - if (parser->curr->type == Token_Type_Literal_String) { - global_node->exported_name = expect_token(parser, Token_Type_Literal_String); - } - } - else { OnyxToken* directive_token = expect_token(parser, '#'); OnyxToken* symbol_token = expect_token(parser, Token_Type_Symbol); @@ -2137,25 +2121,22 @@ static AstBinding* parse_top_level_binding(OnyxParser* parser, OnyxToken* symbol if (node->kind == Ast_Kind_Function) { AstFunction* func = (AstFunction *) node; - if (func->exported_name == NULL) - func->exported_name = symbol; + if (func->intrinsic_name == NULL) + func->intrinsic_name = symbol; func->name = symbol; } else if (node->kind == Ast_Kind_Polymorphic_Proc) { AstPolyProc* proc = (AstPolyProc *) node; - if (proc->base_func->exported_name == NULL) - proc->base_func->exported_name = symbol; + if (proc->base_func->intrinsic_name == NULL) + proc->base_func->intrinsic_name = symbol; proc->base_func->name = symbol; } else if (node->kind == Ast_Kind_Global) { AstGlobal* global = (AstGlobal *) node; - if (global->exported_name == NULL) - global->exported_name = symbol; - global->name = symbol; } else if (node->kind != Ast_Kind_Overloaded_Function @@ -2306,6 +2287,16 @@ static void parse_top_level_statement(OnyxParser* parser) { ENTITY_SUBMIT(add_overload); return; } + else if (parse_possible_directive(parser, "export")) { + AstDirectiveExport *export = make_node(AstDirectiveExport, Ast_Kind_Directive_Export); + export->token = dir_token; + export->export_name = expect_token(parser, Token_Type_Literal_String); + + export->export = parse_expression(parser, 0); + + ENTITY_SUBMIT(export); + return; + } else { OnyxToken* directive_token = expect_token(parser, '#'); OnyxToken* symbol_token = expect_token(parser, Token_Type_Symbol); diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 240a06ce..ee64296b 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -1045,6 +1045,20 @@ static SymresStatus symres_process_directive(AstNode* directive) { bh_arr_push(operator_overloads[operator->operator], operator->overload); break; } + + case Ast_Kind_Directive_Export: { + AstDirectiveExport *export = (AstDirectiveExport *) directive; + SYMRES(expression, &export->export); + + export->export->flags |= Ast_Flag_Exported; + + if (export->export->kind == Ast_Kind_Function) { + AstFunction *func = (AstFunction *) export->export; + func->exported_name = export->export_name; + } + + break; + } } return Symres_Success; @@ -1109,7 +1123,6 @@ void symres_entity(Entity* ent) { case Entity_Type_String_Literal: ss = symres_expression(&ent->expr); break; case Entity_Type_Struct_Member_Default: ss = symres_struct_defaults((AstType *) ent->type_alias); break; case Entity_Type_Process_Directive: ss = symres_process_directive((AstNode *) ent->expr); - next_state = Entity_State_Finalized; break; default: break; diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 49f9044d..143d0e19 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -2756,19 +2756,6 @@ static void emit_function(OnyxWasmModule* mod, AstFunction* fd) { i32 func_idx = (i32) bh_imap_get(&mod->index_map, (u64) fd); - if (fd->flags & Ast_Flag_Exported) { - token_toggle_end(fd->exported_name); - - WasmExport wasm_export = { - .kind = WASM_FOREIGN_FUNCTION, - .idx = func_idx, - }; - bh_table_put(WasmExport, mod->exports, fd->exported_name->text, wasm_export); - mod->export_count++; - - token_toggle_end(fd->exported_name); - } - // If there is no body then don't process the code if (fd->body != NULL) { // NOTE: Generate the local map @@ -2853,6 +2840,32 @@ static void emit_foreign_function(OnyxWasmModule* mod, AstFunction* fd) { return; } +static void emit_export_directive(OnyxWasmModule* mod, AstDirectiveExport* export) { + assert(export->export_name); + assert(export->export); + + token_toggle_end(export->export_name); + + i64 idx = bh_imap_get(&mod->index_map, (u64) export->export); + + WasmExport wasm_export; + wasm_export.idx = (i32) idx; + + switch (export->export->kind) { + case Ast_Kind_Function: wasm_export.kind = WASM_FOREIGN_FUNCTION; + break; + + case Ast_Kind_Global: wasm_export.kind = WASM_FOREIGN_GLOBAL; + break; + } + + bh_table_put(WasmExport, mod->exports, export->export_name->text, wasm_export); + mod->export_count++; + + token_toggle_end(export->export_name); + return; +} + static void emit_global(OnyxWasmModule* module, AstGlobal* global) { WasmType global_type = onyx_type_to_wasm_type(global->type); @@ -2864,19 +2877,6 @@ static void emit_global(OnyxWasmModule* module, AstGlobal* global) { i32 global_idx = (i32) bh_imap_get(&module->index_map, (u64) global); - if ((global->flags & Ast_Flag_Exported) != 0) { - token_toggle_end(global->exported_name); - - WasmExport wasm_export = { - .kind = WASM_FOREIGN_GLOBAL, - .idx = global_idx, - }; - bh_table_put(WasmExport, module->exports, global->exported_name->text, wasm_export); - module->export_count++; - - token_toggle_end(global->exported_name); - } - bh_arr_new(global_heap_allocator, glob.initial_value, 1); switch (global_type) { @@ -3274,6 +3274,13 @@ void emit_entity(Entity* ent) { break; } + case Entity_Type_Process_Directive: { + if (ent->expr->kind == Ast_Kind_Directive_Export) { + emit_export_directive(module, (AstDirectiveExport *) ent->expr); + } + break; + } + case Entity_Type_Function: emit_function(module, ent->function); break; case Entity_Type_Global: emit_global(module, ent->global); break; -- 2.25.1