From 7694364198b3fbccaf8c788bbb36dc312387e623 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 17 Sep 2020 21:19:41 -0500 Subject: [PATCH] fixed #19 --- CHANGELOG | 1 + include/onyxastnodes.h | 2 +- include/onyxwasm.h | 2 +- onyx | Bin 477588 -> 478028 bytes src/onyxparser.c | 6 +----- src/onyxwasm.c | 24 ++++++++++++++++-------- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 5baaf7d9..ca2b2107 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -15,6 +15,7 @@ Changes: * BREAKING: 'use package' now places included symbols at the file scope, not package scope. * Switched to using TCC as the primary compiler, while maintaining support for GCC. * boolean literals are compile time known so they can be used at top level. +* #file_contents now results in [] u8, not *u8. Bug fixes: * Fixed error message index for struct literal member type mismatch. diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 838b87e8..b5307cea 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -432,7 +432,7 @@ struct AstArrayAccess { AstTyped_base; AstTyped *addr; AstTyped *expr; u64 ele struct AstFieldAccess { AstTyped_base; AstTyped *expr; u32 offset; u32 idx; }; struct AstSizeOf { AstTyped_base; AstType *so_type; u64 size; }; struct AstAlignOf { AstTyped_base; AstType *ao_type; u64 alignment; }; -struct AstFileContents { AstTyped_base; OnyxToken *filename; }; +struct AstFileContents { AstTyped_base; OnyxToken *filename; u32 addr, size; }; struct AstStructLiteral { AstTyped_base; diff --git a/include/onyxwasm.h b/include/onyxwasm.h index 6bbd2202..e9dcdaed 100644 --- a/include/onyxwasm.h +++ b/include/onyxwasm.h @@ -513,7 +513,7 @@ typedef struct OnyxWasmModule { // to the function type index if it has been created. bh_table(i32) type_map; - bh_table(u32) loaded_file_offsets; + bh_table(StrLitInfo) loaded_file_info; bh_table(StrLitInfo) string_literals; bh_arr(u8) structured_jump_target; diff --git a/onyx b/onyx index 3691c2febeca9090994741ee6603f419eff94555..451f3906e178a4018d68bb3413fc73df7072e7b2 100755 GIT binary patch delta 77139 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 B&Ncu5 delta 76487 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 diff --git a/src/onyxparser.c b/src/onyxparser.c index 1b05461f..38c47363 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -419,14 +419,10 @@ static AstTyped* parse_factor(OnyxParser* parser) { case '#': { if (parse_possible_directive(parser, "file_contents")) { - AstPointerType* fc_type = make_node(AstPointerType, Ast_Kind_Pointer_Type); - fc_type->flags |= Basic_Flag_Pointer; - fc_type->elem = (AstType *) &basic_type_u8; - AstFileContents* fc = make_node(AstFileContents, Ast_Kind_File_Contents); fc->token = parser->prev - 1; fc->filename = expect_token(parser, Token_Type_Literal_String); - fc->type_node = (AstType *) fc_type; + fc->type = type_make_slice(parser->allocator, &basic_types[Basic_Kind_U8]); add_node_to_process(parser, (AstNode *) fc); diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 7a691dfa..f75a143a 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -2235,12 +2235,9 @@ EMIT_FUNC(expression, AstTyped* expr) { case Ast_Kind_File_Contents: { AstFileContents* fc = (AstFileContents *) expr; - token_toggle_end(fc->filename); - u32 offset = bh_table_get(u32, mod->loaded_file_offsets, fc->filename->text); - WID(WI_I32_CONST, offset); - - token_toggle_end(fc->filename); + WID(WI_I32_CONST, fc->addr); + WID(WI_I32_CONST, fc->size); break; } @@ -2835,7 +2832,11 @@ static void emit_memory_reservation(OnyxWasmModule* mod, AstMemRes* memres) { static void emit_file_contents(OnyxWasmModule* mod, AstFileContents* fc) { token_toggle_end(fc->filename); - if (bh_table_has(u32, mod->loaded_file_offsets, fc->filename->text)) { + if (bh_table_has(StrLitInfo, mod->loaded_file_info, fc->filename->text)) { + StrLitInfo info = bh_table_get(StrLitInfo, mod->loaded_file_info, fc->filename->text); + fc->addr = info.addr; + fc->size = info.len; + token_toggle_end(fc->filename); return; } @@ -2843,7 +2844,6 @@ static void emit_file_contents(OnyxWasmModule* mod, AstFileContents* fc) { u32 offset = mod->next_datum_offset; if (offset % 16 != 0) offset += 16 - (offset % 16); - bh_table_put(u32, mod->loaded_file_offsets, fc->filename->text, offset); if (!bh_file_exists(fc->filename->text)) { onyx_report_error(fc->filename->pos, @@ -2861,6 +2861,14 @@ static void emit_file_contents(OnyxWasmModule* mod, AstFileContents* fc) { actual_data[contents.length] = 0; bh_file_contents_free(&contents); + bh_table_put(StrLitInfo, mod->loaded_file_info, fc->filename->text, ((StrLitInfo) { + .addr = offset, + .len = length - 1, + })); + + fc->addr = offset; + fc->size = length - 1; + WasmDatum datum = { .offset = offset, .length = length, @@ -2924,7 +2932,7 @@ OnyxWasmModule onyx_wasm_module_create(bh_allocator alloc) { bh_table_init(global_heap_allocator, module.type_map, 61); bh_table_init(global_heap_allocator, module.exports, 61); - bh_table_init(global_heap_allocator, module.loaded_file_offsets, 7); + bh_table_init(global_heap_allocator, module.loaded_file_info, 7); bh_table_init(global_heap_allocator, module.string_literals, 16); bh_imap_init(&module.index_map, global_heap_allocator, 128); -- 2.25.1