From c27d600e024f6ad7397974a1889d1a3024962e73 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 3 Feb 2021 15:20:52 -0600 Subject: [PATCH] added bulk-memory intrinsics; bug fix --- bin/onyx | Bin 336360 -> 336392 bytes core/intrinsics/wasm.onyx | 2 ++ core/memory.onyx | 18 +++++++++++++++--- include/onyxastnodes.h | 1 + include/onyxwasm.h | 5 +++++ onyx.exe | Bin 387072 -> 389632 bytes src/onyxbuiltins.c | 2 ++ src/onyxparser.c | 14 +++++++------- src/onyxutils.c | 4 ---- src/onyxwasm.c | 16 ++++++++++++++++ tests/aoc-2020/day19.onyx | 2 +- tests/aoc-2020/day20.onyx | 2 +- 12 files changed, 50 insertions(+), 16 deletions(-) diff --git a/bin/onyx b/bin/onyx index d7b1484a24c599b37f944fd5a7b36a16f96078f7..732de5b6931f0c46f1d209ec4e61261294e19acf 100755 GIT binary patch delta 73325 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 Zvr8wSMjtRg3S*W}3z>aO$9!Cx{C`O#44?o2 delta 73108 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 U1-P(*1h_wtU_ZO%>s0Um0WLU;Jpcdz diff --git a/core/intrinsics/wasm.onyx b/core/intrinsics/wasm.onyx index db95e792..0d2d115d 100644 --- a/core/intrinsics/wasm.onyx +++ b/core/intrinsics/wasm.onyx @@ -2,6 +2,8 @@ package core.intrinsics.wasm memory_size :: () -> i32 #intrinsic --- memory_grow :: (val: i32) -> i32 #intrinsic --- +memory_copy :: (dst: rawptr, src: rawptr, count: i32) -> void #intrinsic --- +memory_fill :: (dst: rawptr, byte: u8, count: i32) -> void #intrinsic --- clz_i32 :: (val: i32) -> i32 #intrinsic --- ctz_i32 :: (val: i32) -> i32 #intrinsic --- diff --git a/core/memory.onyx b/core/memory.onyx index 838acb58..ed6e2d94 100644 --- a/core/memory.onyx +++ b/core/memory.onyx @@ -8,14 +8,26 @@ package core.memory // However, it might be worth switching to an intrinsic completely // and having the intrinsic know whether or not to output the instruction // or an inlined version of this procedure. -copy :: (dst_: rawptr, src_: rawptr, len: u32) { +use package core.intrinsics.wasm { memory_copy, memory_fill } + +// Even though I thought this would work, this method of aliases functions +// does not currently work. There needs to be a second level of indirection +// on entities to allow for this case to work, which may not be hard to change +// but still needs to happen. +// copy :: memory_copy +// set :: memory_fill + +copy :: (dest: rawptr, src: rawptr, count: i32) do memory_copy(dest, src, count); +set :: (dest: rawptr, byte: u8, count: i32) do memory_fill(dest, byte, count); + +// Old and slow copy and set +copy_ :: (dst_: rawptr, src_: rawptr, len: u32) { dst := cast(^u8) dst_; src := cast(^u8) src_; for i: 0 .. len do dst[i] = src[i]; } -// The same thing goes for this procedure too. -set :: (start: rawptr, length: u32, value: u8) { +set_ :: (start: rawptr, value: u8, length: u32) { s := cast(^u8) start; for i: 0 .. length do s[i] = value; } diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 7ca3b8f1..32fec4ec 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -276,6 +276,7 @@ typedef enum OnyxIntrinsic { ONYX_INTRINSIC_UNDEFINED, ONYX_INTRINSIC_MEMORY_SIZE, ONYX_INTRINSIC_MEMORY_GROW, + ONYX_INTRINSIC_MEMORY_COPY, ONYX_INTRINSIC_MEMORY_FILL, ONYX_INTRINSIC_I32_CLZ, ONYX_INTRINSIC_I32_CTZ, ONYX_INTRINSIC_I32_POPCNT, ONYX_INTRINSIC_I32_AND, ONYX_INTRINSIC_I32_OR, ONYX_INTRINSIC_I32_XOR, diff --git a/include/onyxwasm.h b/include/onyxwasm.h index 3d966549..2bd9816b 100644 --- a/include/onyxwasm.h +++ b/include/onyxwasm.h @@ -17,6 +17,7 @@ typedef struct WasmFuncType { } WasmFuncType; #define SIMD_INSTR_MASK 0x10000 +#define EXT_INSTR_MASK 0x20000 typedef enum WasmInstructionType { WI_UNREACHABLE = 0x00, @@ -410,6 +411,10 @@ typedef enum WasmInstructionType { WI_I32X4_TRUNC_SAT_F32X4_U = SIMD_INSTR_MASK | 249, WI_F32X4_CONVERT_I32X4_S = SIMD_INSTR_MASK | 250, WI_F32X4_CONVERT_I32X4_U = SIMD_INSTR_MASK | 251, + + + WI_MEMORY_COPY = EXT_INSTR_MASK | 0x0a, + WI_MEMORY_FILL = EXT_INSTR_MASK | 0x0b, } WasmInstructionType; typedef union { diff --git a/onyx.exe b/onyx.exe index 1506e5e5613a039d8212ca73cd302de78252e67a..1c6e84522261ca419a1856de24b869b03fffc947 100644 GIT binary patch delta 78385 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 delta 73044 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 AY5)KL diff --git a/src/onyxbuiltins.c b/src/onyxbuiltins.c index a978e86c..4ce2a256 100644 --- a/src/onyxbuiltins.c +++ b/src/onyxbuiltins.c @@ -84,6 +84,8 @@ bh_table(OnyxIntrinsic) intrinsic_table; static IntrinsicMap builtin_intrinsics[] = { { "memory_size", ONYX_INTRINSIC_MEMORY_SIZE }, { "memory_grow", ONYX_INTRINSIC_MEMORY_GROW }, + { "memory_copy", ONYX_INTRINSIC_MEMORY_COPY }, + { "memory_fill", ONYX_INTRINSIC_MEMORY_FILL }, { "clz_i32", ONYX_INTRINSIC_I32_CLZ }, { "ctz_i32", ONYX_INTRINSIC_I32_CTZ }, diff --git a/src/onyxparser.c b/src/onyxparser.c index 7e834a3d..fe7a86a0 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -618,7 +618,7 @@ static AstTyped* parse_factor(OnyxParser* parser) { case Token_Type_Right_Arrow: { AstBinaryOp* method_call = make_node(AstBinaryOp, Ast_Kind_Method_Call); - method_call->token = expect_token(parser, Token_Type_Right_Arrow); + method_call->token = expect_token(parser, Token_Type_Right_Arrow); method_call->left = retval; method_call->right = parse_factor(parser); @@ -829,7 +829,7 @@ static AstIfWhile* parse_if_stmt(OnyxParser* parser) { AstIfWhile* root_if = if_node; // CLEANUP: All of the control blocks use this same kind of logic, and it - // is underpowered for what I think should be possible. Factor it out and + // is underpowered for what I think should be possible. Factor it out and // make it better? if (peek_token(1)->type == ':') { OnyxToken* local_sym = expect_token(parser, Token_Type_Symbol); @@ -1265,7 +1265,7 @@ static AstNode* parse_statement(OnyxParser* parser) { retval = parse_jump_stmt(parser, Token_Type_Keyword_Break, Jump_Type_Break); break; - case Token_Type_Keyword_Continue: + case Token_Type_Keyword_Continue: retval = parse_jump_stmt(parser, Token_Type_Keyword_Continue, Jump_Type_Continue); break; @@ -1640,7 +1640,7 @@ static AstStructType* parse_struct(OnyxParser* parser) { bh_arr_push(poly_params, ((AstPolyStructParam) { .token = sym_token, .type_node = param_type, - .type = NULL, + .type = NULL, })); if (parser->curr->type != ')') @@ -1742,7 +1742,7 @@ static AstStructType* parse_struct(OnyxParser* parser) { } bh_arr_each(OnyxToken *, member_name, member_list_temp) { - AstStructMember* mem = make_node(AstStructMember, Ast_Kind_Struct_Member); + AstStructMember* mem = make_node(AstStructMember, Ast_Kind_Struct_Member); mem->token = *member_name; mem->type_node = member_type; mem->initial_value = initial_value; @@ -1833,7 +1833,7 @@ static void parse_function_params(OnyxParser* parser, AstFunction* func) { curr_param.default_value = parse_expression(parser, 0); if (param_is_baked) { - param_is_baked = 0; + param_is_baked = 0; bh_arr(AstPolyParam) pv = *parser->polymorph_context.poly_params; bh_arr_push(pv, ((AstPolyParam) { @@ -2171,7 +2171,7 @@ static AstBinding* parse_top_level_binding(OnyxParser* parser, OnyxToken* symbol // HACK: This should maybe be entered elsewhere? ENTITY_SUBMIT(node); } - + AstBinding* binding = make_node(AstBinding, Ast_Kind_Binding); binding->token = symbol; binding->node = (AstNode *) node; diff --git a/src/onyxutils.c b/src/onyxutils.c index f0949321..b04cf5d3 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -123,10 +123,6 @@ AstNode* symbol_raw_resolve(Scope* start_scope, char* sym) { if (res == NULL) return NULL; - if (res->kind == Ast_Kind_Symbol) { - return symbol_resolve(start_scope, res->token); - } - return res; } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index a0d90f42..18e384a9 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -1398,6 +1398,8 @@ EMIT_FUNC(intrinsic_call, AstCall* call) { switch (call->intrinsic) { case ONYX_INTRINSIC_MEMORY_SIZE: WID(WI_MEMORY_SIZE, 0x00); break; case ONYX_INTRINSIC_MEMORY_GROW: WID(WI_MEMORY_GROW, 0x00); break; + case ONYX_INTRINSIC_MEMORY_COPY: WIL(WI_MEMORY_COPY, 0x00); break; + case ONYX_INTRINSIC_MEMORY_FILL: WID(WI_MEMORY_FILL, 0x00); break; case ONYX_INTRINSIC_I32_CLZ: WI(WI_I32_CLZ); break; case ONYX_INTRINSIC_I32_CTZ: WI(WI_I32_CTZ); break; @@ -3502,6 +3504,11 @@ static void output_instruction(WasmFunc* func, WasmInstruction* instr, bh_buffer bh_buffer_write_byte(buff, 0xFD); leb = uint_to_uleb128((u64) (instr->type &~ SIMD_INSTR_MASK), &leb_len); bh_buffer_append(buff, leb, leb_len); + + } else if (instr->type & EXT_INSTR_MASK) { + bh_buffer_write_byte(buff, 0xFC); + leb = uint_to_uleb128((u64) (instr->type &~ EXT_INSTR_MASK), &leb_len); + bh_buffer_append(buff, leb, leb_len); } else { bh_buffer_write_byte(buff, (u8) instr->type); @@ -3527,9 +3534,18 @@ static void output_instruction(WasmFunc* func, WasmInstruction* instr, bh_buffer case WI_IF_START: case WI_MEMORY_SIZE: case WI_MEMORY_GROW: + case WI_MEMORY_FILL: leb = uint_to_uleb128((u64) instr->data.i1, &leb_len); bh_buffer_append(buff, leb, leb_len); break; + + case WI_MEMORY_COPY: + leb = uint_to_uleb128((u64) instr->data.i1, &leb_len); + bh_buffer_append(buff, leb, leb_len); + + leb = uint_to_uleb128((u64) instr->data.i2, &leb_len); + bh_buffer_append(buff, leb, leb_len); + break; case WI_JUMP_TABLE: { BranchTable* bt = (BranchTable *) instr->data.p; diff --git a/tests/aoc-2020/day19.onyx b/tests/aoc-2020/day19.onyx index d503098b..2dd97c4e 100644 --- a/tests/aoc-2020/day19.onyx +++ b/tests/aoc-2020/day19.onyx @@ -84,7 +84,7 @@ cyk_algorithm :: proc (use grammar: ^Grammar, input: str) -> bool { mem_size := sizeof bool * input.count * input.count * max_terminal; T := cast(^bool) calloc(mem_size); defer cfree(T); - memory.set(T, mem_size, ~~false); + memory.set(T, ~~false, mem_size); for s: 0 .. input.count { for ^term: terminate_rules { diff --git a/tests/aoc-2020/day20.onyx b/tests/aoc-2020/day20.onyx index b4fca178..a7fe3278 100644 --- a/tests/aoc-2020/day20.onyx +++ b/tests/aoc-2020/day20.onyx @@ -327,7 +327,7 @@ main :: proc (args: [] cstr) { printf("Corner product: %l\n", prod); grid : [12 * 12] u32; - memory.set(^grid, sizeof [12 * 12] u32, 0); + memory.set(^grid, 0, sizeof [12 * 12] u32); to_process : [..] tile_pos_state; array.init(^to_process); -- 2.25.1