From faa3047607d701dea47d4a84417ec144efdc2a4f Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 25 Jan 2021 08:21:30 -0600 Subject: [PATCH] cleaned up compound loading to use struct load logic --- bin/onyx | Bin 332008 -> 331960 bytes onyx.exe | Bin 388096 -> 387584 bytes src/onyxwasm.c | 170 ++++++++++++++----------------------------------- 3 files changed, 47 insertions(+), 123 deletions(-) diff --git a/bin/onyx b/bin/onyx index ffe4796cbcd862bce6e58a09b34470e83e424af2..ef1151957c7b99ebc508a56e6bd47525e70bcaa2 100755 GIT binary patch delta 39348 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 bTW4v$$310OCa*eYXrsqn-3R0V delta 40400 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 je`%?<0Uu1v87lI6#$5S9R`Xnex%{y`WyZ zSh1qmOKhgn3Xrq6p_iS(a7EHmr(~v-kouIJIM-+h%;OVJzkG&y6~0O6p3iVOzrhfc zvQzSveoD!dYSu9Hgcuj_2yyuT+yDFwhVGSy_39DZ!(bTVg`y^c!5hzhDc@0a`*cF0>@z8= z?P4kJOsc2Ro2cFC)SC7tqP_c5&5pArDzz{5c77M4s}EAL3%;bs_fzjW-IqwdmwM3D zO`@v5q<9y4Ml%kk+7uN<)ZJQ=h^)fsQWY378Je%($)DVgS^&H+JY<&s+X ze9BC(V)TAb>ISbU`-bdLYSl#yKOsb9hntn_W+g+Ncp{~E zNk8hkEj6s%u0IpEw!nVI=#A;=;PLuq>xJ#k(%1EmY0#9Z%Q5colKG?Wo+1A z_GJc=LH%`o>bUS15~c1=8PLF+GS!r%2H#QHU8!dqRLxI+u20R4xn?5Yg{fD&JaM2} zvs3r?StR)_7v&}1jq?oOw;Wx-oa}np%MK5xBp*A2Ix#tQSih4J9Z*t3e()|tOUI

FV(Yt;pNijGcMx3L4gX_6vs+DzROQnqa>Lp2jp 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 Gw*DW5=JVYE delta 62769 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%0D83V1s}r=|7UjELvUrj= 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 == Type_Kind_Basic || type->kind == Type_Kind_Pointer; - i32 is_pointer = is_basic && (type->Basic.flags & Basic_Flag_Pointer); - i32 is_integer = is_basic && ((type->Basic.flags & Basic_Flag_Integer) || (type->Basic.flags & Basic_Flag_Boolean)); - i32 is_float = is_basic && (type->Basic.flags & Basic_Flag_Float); - i32 is_simd = is_basic && (type->Basic.flags & Basic_Flag_SIMD); - if (is_pointer) { + if (is_basic && (type->Basic.flags & Basic_Flag_Pointer)) { WID(WI_I32_STORE, ((WasmInstructionData) { 2, offset })); - } else if (is_integer) { + } else if (is_basic && ((type->Basic.flags & Basic_Flag_Integer) || (type->Basic.flags & Basic_Flag_Boolean))) { if (store_size == 1) WID(WI_I32_STORE_8, ((WasmInstructionData) { alignment, offset })); else if (store_size == 2) WID(WI_I32_STORE_16, ((WasmInstructionData) { alignment, offset })); else if (store_size == 4) WID(WI_I32_STORE, ((WasmInstructionData) { alignment, offset })); else if (store_size == 8) WID(WI_I64_STORE, ((WasmInstructionData) { alignment, offset })); - } else if (is_float) { + } else if (is_basic && (type->Basic.flags & Basic_Flag_Float)) { if (store_size == 4) WID(WI_F32_STORE, ((WasmInstructionData) { alignment, offset })); else if (store_size == 8) WID(WI_F64_STORE, ((WasmInstructionData) { alignment, offset })); - } else if (is_simd) { + } else if (is_basic && (type->Basic.flags & Basic_Flag_SIMD)) { WID(WI_V128_STORE, ((WasmInstructionData) { alignment, offset })); } else { onyx_report_error((OnyxFilePos) { 0 }, @@ -560,8 +556,8 @@ EMIT_FUNC(store_instruction, Type* type, u32 offset) { EMIT_FUNC(load_instruction, Type* type, u32 offset) { bh_arr(WasmInstruction) code = *pcode; - if (type_is_structlike_strict(type)) { - emit_struct_load(mod, pcode, type, offset); + if (type_is_compound(type)) { + emit_compound_load(mod, pcode, type, offset); return; } @@ -575,59 +571,32 @@ EMIT_FUNC(load_instruction, Type* type, u32 offset) { return; } - if (type->kind == Type_Kind_Compound) { - u64 loc_tmp = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); - WIL(WI_LOCAL_TEE, loc_tmp); - - u32 accum_offset = offset; - fori (i, 0, type->Compound.count) { - if (i != 0) WIL(WI_LOCAL_GET, loc_tmp); - - emit_load_instruction(mod, &code, type->Compound.types[i], accum_offset); - accum_offset += bh_max(type_size_of(type->Compound.types[i]), 4); - } - - local_raw_free(mod->local_alloc, WASM_TYPE_INT32); - *pcode = code; - return; - } - - if (type->kind == Type_Kind_Enum) { - type = type->Enum.backing; - } - - if (type->kind == Type_Kind_Function) { - type = &basic_types[Basic_Kind_U32]; - } + if (type->kind == Type_Kind_Enum) type = type->Enum.backing; + if (type->kind == Type_Kind_Function) type = &basic_types[Basic_Kind_U32]; i32 load_size = type_size_of(type); i32 is_basic = type->kind == Type_Kind_Basic || type->kind == Type_Kind_Pointer; - i32 is_pointer = is_basic && (type->Basic.flags & Basic_Flag_Pointer); - i32 is_integer = is_basic && ((type->Basic.flags & Basic_Flag_Integer) || (type->Basic.flags & Basic_Flag_Boolean)); - i32 is_float = is_basic && (type->Basic.flags & Basic_Flag_Float); - i32 is_unsigned = is_basic && (type->Basic.flags & Basic_Flag_Unsigned); - i32 is_simd = is_basic && (type->Basic.flags & Basic_Flag_SIMD); WasmInstructionType instr = WI_NOP; i32 alignment = type_get_alignment_log2(type); - if (is_pointer) { + if (is_basic && (type->Basic.flags & Basic_Flag_Pointer)) { instr = WI_I32_LOAD; alignment = 2; } - else if (is_integer) { + else if (is_basic && ((type->Basic.flags & Basic_Flag_Integer) || (type->Basic.flags & Basic_Flag_Boolean))) { if (load_size == 1) instr = WI_I32_LOAD_8_S; else if (load_size == 2) instr = WI_I32_LOAD_16_S; else if (load_size == 4) instr = WI_I32_LOAD; else if (load_size == 8) instr = WI_I64_LOAD; - if (load_size < 4 && is_unsigned) instr += 1; + if (load_size < 4 && (type->Basic.flags & Basic_Flag_Unsigned)) instr += 1; } - else if (is_float) { + else if (is_basic && (type->Basic.flags & Basic_Flag_Float)) { if (load_size == 4) instr = WI_F32_LOAD; else if (load_size == 8) instr = WI_F64_LOAD; } - else if (is_simd) { + else if (is_basic && (type->Basic.flags & Basic_Flag_SIMD)) { instr = WI_V128_LOAD; } @@ -784,11 +753,6 @@ EMIT_FUNC(for_range, AstFor* for_node, u64 iter_local) { EMIT_FUNC(for_array, AstFor* for_node, u64 iter_local) { bh_arr(WasmInstruction) code = *pcode; - // NOTE: This implementation is only for loops by value, not by pointer. - - // At this point the stack will look like: - // data - u64 end_ptr_local, ptr_local; end_ptr_local = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); @@ -821,18 +785,13 @@ EMIT_FUNC(for_array, AstFor* for_node, u64 iter_local) { WID(WI_COND_JUMP, 0x02); if (!for_node->by_pointer) { - if (!it_is_local) { - emit_local_location(mod, &code, var, &offset); - } + if (!it_is_local) emit_local_location(mod, &code, var, &offset); WIL(WI_LOCAL_GET, ptr_local); emit_load_instruction(mod, &code, var->type, 0); - if (!it_is_local) { - emit_store_instruction(mod, &code, var->type, offset); - } else { - WIL(WI_LOCAL_SET, iter_local); - } + if (!it_is_local) emit_store_instruction(mod, &code, var->type, offset); + else WIL(WI_LOCAL_SET, iter_local); } emit_block(mod, &code, for_node->stmt, 0); @@ -840,10 +799,8 @@ EMIT_FUNC(for_array, AstFor* for_node, u64 iter_local) { emit_leave_structured_block(mod, &code); WIL(WI_LOCAL_GET, ptr_local); - if (elem_size != 0) { - WIL(WI_I32_CONST, elem_size); - WI(WI_I32_ADD); - } + WIL(WI_I32_CONST, elem_size); + WI(WI_I32_ADD); WIL(WI_LOCAL_SET, ptr_local); if (bh_arr_last(code).type != WI_JUMP) @@ -861,12 +818,6 @@ EMIT_FUNC(for_array, AstFor* for_node, u64 iter_local) { EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { bh_arr(WasmInstruction) code = *pcode; - // NOTE: This implementation is only for loops by value, not by pointer. - - // At this point the stack will look like: - // data - // count - u64 end_ptr_local, ptr_local; end_ptr_local = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); @@ -904,18 +855,13 @@ EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { WID(WI_COND_JUMP, 0x02); if (!for_node->by_pointer) { - if (!it_is_local) { - emit_local_location(mod, &code, var, &offset); - } + if (!it_is_local) emit_local_location(mod, &code, var, &offset); WIL(WI_LOCAL_GET, ptr_local); emit_load_instruction(mod, &code, var->type, 0); - if (!it_is_local) { - emit_store_instruction(mod, &code, var->type, offset); - } else { - WIL(WI_LOCAL_SET, iter_local); - } + if (!it_is_local) emit_store_instruction(mod, &code, var->type, offset); + else WIL(WI_LOCAL_SET, iter_local); } emit_block(mod, &code, for_node->stmt, 0); @@ -923,10 +869,8 @@ EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { emit_leave_structured_block(mod, &code); WIL(WI_LOCAL_GET, ptr_local); - if (elem_size != 0) { - WIL(WI_I32_CONST, elem_size); - WI(WI_I32_ADD); - } + WIL(WI_I32_CONST, elem_size); + WI(WI_I32_ADD); WIL(WI_LOCAL_SET, ptr_local); if (bh_arr_last(code).type != WI_JUMP) @@ -1829,64 +1773,44 @@ EMIT_FUNC(local_location, AstLocal* local, u64* offset_return) { *pcode = code; } -EMIT_FUNC(struct_load, Type* type, u64 offset) { - // NOTE: Expects the stack to look like: - // - +EMIT_FUNC(struct_lval, AstTyped* lval) { bh_arr(WasmInstruction) code = *pcode; - assert(type_is_structlike_strict(type)); - - u32 mem_count = type_structlike_mem_count(type); - StructMember smem; - - if (mem_count == 1) { - type_lookup_member_by_idx(type, 0, &smem); - emit_load_instruction(mod, &code, smem.type, offset); - *pcode = code; - return; - } - - u64 tmp_idx = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); - WIL(WI_LOCAL_TEE, tmp_idx); - - fori (i, 0, mem_count) { - type_lookup_member_by_idx(type, i, &smem); - if (i != 0) WIL(WI_LOCAL_GET, tmp_idx); - emit_load_instruction(mod, &code, smem.type, offset + smem.offset); - } + assert(type_is_structlike_strict(lval->type)); - local_raw_free(mod->local_alloc, WASM_TYPE_INT32); + u64 offset = 0; + emit_location_return_offset(mod, &code, lval, &offset); + emit_compound_store(mod, &code, lval->type, offset, 1); *pcode = code; } -EMIT_FUNC(struct_lval, AstTyped* lval) { - // NOTE: Expects the stack to look like: - // mem_1 - // mem_2 - // ... - // mem_n - +EMIT_FUNC(compound_load, Type* type, u64 offset) { bh_arr(WasmInstruction) code = *pcode; + u32 mem_count = type_linear_member_count(type); + TypeWithOffset two; - assert(type_is_structlike_strict(lval->type)); + if (mem_count == 1) { + type_linear_member_lookup(type, 0, &two); + emit_load_instruction(mod, &code, two.type, offset + two.offset); // two.offset should be 0 + } else { + u64 tmp_idx = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); + WIL(WI_LOCAL_TEE, tmp_idx); - u64 offset = 0; - emit_location_return_offset(mod, &code, lval, &offset); - emit_compound_store(mod, &code, lval->type, offset, 1); + fori (i, 0, mem_count) { + type_linear_member_lookup(type, i, &two); + if (i != 0) WIL(WI_LOCAL_GET, tmp_idx); + emit_load_instruction(mod, &code, two.type, offset + two.offset); + } + + local_raw_free(mod->local_alloc, WASM_TYPE_INT32); + } *pcode = code; + return; } EMIT_FUNC(compound_store, Type* type, u64 offset, b32 location_first) { - // NOTE: Expects the stack to look like: - // mem_1 - // mem_2 - // ... - // mem_n - // loc - bh_arr(WasmInstruction) code = *pcode; bh_arr(u64) temp_locals = NULL; bh_arr_new(global_heap_allocator, temp_locals, 4); -- 2.25.1