From 28b661df3220872aea0d09261af3f082cb90f65e Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 8 Dec 2020 11:05:00 -0600 Subject: [PATCH] nasty bugfix when returning bools It used to mess up the stack and in unforgiving environments, i.e. wasmtime or wasmer, it caused misaligned reads resulting in undefined behaviour. --- core/file.onyx | 2 +- core/sys/js.onyx | 4 ++-- onyx | Bin 500780 -> 500796 bytes src/onyxwasm.c | 7 ++++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/core/file.onyx b/core/file.onyx index 7ec1d47b..c107ddd8 100644 --- a/core/file.onyx +++ b/core/file.onyx @@ -107,7 +107,7 @@ get_contents :: proc { proc (path: string) -> string { tmp_file: File; - if !open(^tmp_file, path, OpenMode.Read) do return ""; + if !open(^tmp_file, path, OpenMode.Read) do return string.{ null, 0 }; defer close(tmp_file); return get_contents(tmp_file); diff --git a/core/sys/js.onyx b/core/sys/js.onyx index 83b2dbd0..e09f55cb 100644 --- a/core/sys/js.onyx +++ b/core/sys/js.onyx @@ -13,12 +13,12 @@ proc () #export "_start" { context.allocator = allocator.heap_allocator; context.temp_allocator = allocator.heap_allocator; - stdio_init(); - args : [] cstring; args.data = null; args.count = 0; + stdio_init(); + main.main(args); print_buffer_flush(); diff --git a/onyx b/onyx index d33443f99987d6565ff2753e9458a53018815f80..a01c7ce4813781d6747076c5d368b654e2731305 100755 GIT binary patch delta 63117 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 uO#H}zikZ@+ng(QPpff3~cwE91SlvRdW z1;z+*3^ih6lr_H_MKMfVCd6fQ0%D;ZLfm0(m>*rG1eIHDu>Bv;;Q!Ba89WOZ)#=1) z7y#KbX)TpU9&OkA{ri;L*Q8iOB1g9fjnBk_h}l(f=d_J0Ry Bz$pL# delta 63264 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 HH#GTwugci& diff --git a/src/onyxwasm.c b/src/onyxwasm.c index baea9823..a711607e 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -1413,14 +1413,15 @@ EMIT_FUNC(call, AstCall* call) { CallingConvention cc = type_function_get_cc(call->callee->type); assert(cc != CC_Undefined); + b32 needs_stack = (cc == CC_Return_Stack) || (stack_grow_amm > 0); + Type* return_type = call->callee->type->Function.return_type; u32 return_size = type_size_of(return_type); u32 return_align = type_alignment_of(return_type); bh_align(return_size, return_align); - stack_grow_amm += return_size; - - b32 needs_stack = (cc == CC_Return_Stack) || (stack_grow_amm > 0); + if (cc == CC_Return_Stack) + stack_grow_amm += return_size; if (needs_stack) { WID(WI_GLOBAL_GET, stack_top_idx); -- 2.25.1