From c1e5185fe78fa5f5b5ec8b7c6f109c3ae8fe013b Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 5 Sep 2020 00:10:27 -0500 Subject: [PATCH] added for loops over fixed size arrays --- onyx | Bin 601384 -> 607016 bytes progs/poly_test.onyx | 11 +++++ src/onyxchecker.c | 8 ++++ src/onyxwasm.c | 99 ++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 112 insertions(+), 6 deletions(-) diff --git a/onyx b/onyx index 72b0bd66b59e0791e368135e90b59027dae26985..93ad2c335c45c7618426304e61a2e7c2f379f783 100755 GIT binary patch delta 91114 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 delta 90018 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 KmmOPptNcHm5)kD8 diff --git a/progs/poly_test.onyx b/progs/poly_test.onyx index b025dbd3..f966ab9b 100644 --- a/progs/poly_test.onyx +++ b/progs/poly_test.onyx @@ -127,18 +127,29 @@ main :: proc (args: [] cstring) { print(r); print_array(^s.a); + // NOTE: Iterating by value for vec: s.c { print(vec); print(" "); } print("\n"); + // NOTE: Iterating by pointer for ^vec: s.c { print(vec); print(" "); } print("\n"); + small : [12] i32; + for ^it: small do *it = 1234 + cast(u32) it; + + for it: small { + print(it); + print(" "); + } + print("\n"); + array_sort(^s.a, cmp_dec); array_sort(^s.b, cmp_dec); diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 165b7d51..d2f1f51a 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -116,6 +116,14 @@ b32 check_for(AstFor* fornode) { fornode->loop_type = For_Loop_Range; } + else if (iter_type->kind == Type_Kind_Array) { + can_iterate = 1; + + if (fornode->by_pointer) fornode->var->type = type_make_pointer(semstate.node_allocator, iter_type->Array.elem); + else fornode->var->type = iter_type->Array.elem; + + fornode->loop_type = For_Loop_Array; + } else if (iter_type->kind == Type_Kind_Slice) { can_iterate = 1; diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 7534e827..9661f1d6 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -834,6 +834,96 @@ EMIT_FUNC(for_range, AstFor* for_node, u64 iter_local) { *pcode = code; } +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); + + if (for_node->by_pointer) { + ptr_local = iter_local; + } else { + ptr_local = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); + } + + AstLocal* var = for_node->var; + b32 it_is_local = (b32) ((iter_local & LOCAL_IS_WASM) != 0); + u64 offset = 0; + + u64 elem_size; + if (for_node->by_pointer) elem_size = type_size_of(var->type->Pointer.elem); + else elem_size = type_size_of(var->type); + + WIL(WI_LOCAL_TEE, ptr_local); + WIL(WI_I32_CONST, for_node->iter->type->Array.count * elem_size); + WI(WI_I32_ADD); + WIL(WI_LOCAL_SET, end_ptr_local); + + WID(WI_BLOCK_START, 0x40); + WID(WI_LOOP_START, 0x40); + WID(WI_BLOCK_START, 0x40); + + bh_arr_push(mod->structured_jump_target, 1); + bh_arr_push(mod->structured_jump_target, 0); + bh_arr_push(mod->structured_jump_target, 2); + + WIL(WI_LOCAL_GET, ptr_local); + WIL(WI_LOCAL_GET, end_ptr_local); + WI(WI_I32_GE_S); + WID(WI_COND_JUMP, 0x02); + + if (!for_node->by_pointer) { + // NOTE: Storing structs requires that the location to store it is, + // the top most thing on the stack. Everything requires it to be + // 'under' the other element being stored. -brendanfh 2020/09/04 + if (!it_is_local && var->type->kind != Type_Kind_Struct) { + 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) { + WIL(WI_LOCAL_SET, iter_local); + } else { + if (var->type->kind != Type_Kind_Struct) { + emit_store_instruction(mod, &code, var->type, offset); + } else { + emit_local_location(mod, &code, var, &offset); + emit_store_instruction(mod, &code, var->type, offset); + } + } + } + + emit_block(mod, &code, for_node->stmt, 0); + + bh_arr_pop(mod->structured_jump_target); + WI(WI_BLOCK_END); + + WIL(WI_LOCAL_GET, ptr_local); + WIL(WI_I32_CONST, elem_size); + WI(WI_I32_ADD); + WIL(WI_LOCAL_SET, ptr_local); + + bh_arr_pop(mod->structured_jump_target); + bh_arr_pop(mod->structured_jump_target); + + if (bh_arr_last(code).type != WI_JUMP) + WID(WI_JUMP, 0x00); + + WI(WI_LOOP_END); + WI(WI_BLOCK_END); + + local_raw_free(mod->local_alloc, WASM_TYPE_INT32); + if (!for_node->by_pointer) local_raw_free(mod->local_alloc, WASM_TYPE_INT32); + + *pcode = code; +} + EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { bh_arr(WasmInstruction) code = *pcode; @@ -842,11 +932,6 @@ EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { // At this point the stack will look like: // data // count - // - // The locals we need to have: - // end_ptr - // start_ptr - // u64 end_ptr_local, ptr_local; end_ptr_local = local_raw_allocate(mod->local_alloc, WASM_TYPE_INT32); @@ -930,7 +1015,7 @@ EMIT_FUNC(for_slice, AstFor* for_node, u64 iter_local) { WI(WI_BLOCK_END); local_raw_free(mod->local_alloc, WASM_TYPE_INT32); - local_raw_free(mod->local_alloc, WASM_TYPE_INT32); + if (!for_node->by_pointer) local_raw_free(mod->local_alloc, WASM_TYPE_INT32); *pcode = code; } @@ -946,6 +1031,8 @@ EMIT_FUNC(for, AstFor* for_node) { if (for_node->loop_type == For_Loop_Range) { emit_for_range(mod, &code, for_node, iter_local); + } else if (for_node->loop_type == For_Loop_Array) { + emit_for_array(mod, &code, for_node, iter_local); } else if (for_node->loop_type == For_Loop_Slice) { emit_for_slice(mod, &code, for_node, iter_local); } else if (for_node->loop_type == For_Loop_DynArr) { -- 2.25.1