From 86485168c49a092f2e48a4f4527f217f32ee1545 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 3 Mar 2021 13:58:13 -0600 Subject: [PATCH] added '__initialize' intrinsic --- bin/onyx | Bin 348288 -> 348400 bytes core/builtin.onyx | 21 ++++++++++++------ core/intrinsics/wasm.onyx | 2 ++ docs/bugs | 11 ++++++++++ include/onyxastnodes.h | 2 ++ src/onyxastnodes.c | 2 ++ src/onyxbuiltins.c | 4 +++- src/onyxchecker.c | 31 +++++++++++++++++++++++++- src/onyxwasm.c | 41 +++++++++++++++++++++++------------ src/onyxwasm_intrinsics.c | 39 +++++++++++++++++++++++++++++++++ tests/operator_overload.onyx | 2 +- 11 files changed, 131 insertions(+), 24 deletions(-) diff --git a/bin/onyx b/bin/onyx index 9cf22eb9f53586da2c1d1fa7a1ccfe4dfca8c01a..b99437eacdb67c9c89010591d12ece7772c69e18 100755 GIT binary patch delta 104782 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 diff --git a/core/builtin.onyx b/core/builtin.onyx index a0733bab..48635ad4 100644 --- a/core/builtin.onyx +++ b/core/builtin.onyx @@ -102,11 +102,18 @@ calloc :: (size: u32) -> rawptr do return raw_alloc(context.allocator, size); cresize :: (ptr: rawptr, size: u32) -> rawptr do return raw_resize(context.allocator, ptr, size); cfree :: (ptr: rawptr) do raw_free(context.allocator, ptr); -new :: ($T: type_expr, allocator := context.allocator) -> ^T { - res := cast(^T) calloc(sizeof T); - - // At some point, it would be nice to initialize the resulting memory, i.e. - // *res = T.{}; - - return res; +use package build_opts as build_opts +#if build_opts.Runtime != build_opts.Runtime_Custom { + use package core.intrinsics.wasm { __initialize } + + new :: ($T: type_expr, allocator := context.allocator, initialize := true) -> ^T { + res := cast(^T) calloc(sizeof T); + + // @Robustness: This should be a '#if' when those are added in procedures because + // otherwise the __initialize intrinsic is going to be generated no matter what. + // This could be a problem if the type is not something that can be initialized. + if initialize do __initialize(res); + + return res; + } } diff --git a/core/intrinsics/wasm.onyx b/core/intrinsics/wasm.onyx index 0d2d115d..fd7174e4 100644 --- a/core/intrinsics/wasm.onyx +++ b/core/intrinsics/wasm.onyx @@ -5,6 +5,8 @@ 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 --- +__initialize :: (val: ^$T) -> void #intrinsic --- + clz_i32 :: (val: i32) -> i32 #intrinsic --- ctz_i32 :: (val: i32) -> i32 #intrinsic --- popcnt_i32 :: (val: i32) -> i32 #intrinsic --- diff --git a/docs/bugs b/docs/bugs index a1ae819c..a0fa4ac2 100644 --- a/docs/bugs +++ b/docs/bugs @@ -4,6 +4,17 @@ List of known bugs: enum { Foo, Bar, Baz }; enum { Foo; Bar; Baz }; +[ ] Using a package in the middle of a procedures removes all remaining statements in the procedure. + This is mostly likely due to the changes made with use package statements being treated as entities now. + + use_package_breaking :: () { + println("Test 1"); + + use package foo + + println("Test 2"); + } + [ ] Aliasing in many cases does not work. For example: SomeNamespace :: struct { diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 5ef1184d..7303159b 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -287,6 +287,8 @@ typedef enum OnyxIntrinsic { ONYX_INTRINSIC_MEMORY_SIZE, ONYX_INTRINSIC_MEMORY_GROW, ONYX_INTRINSIC_MEMORY_COPY, ONYX_INTRINSIC_MEMORY_FILL, + ONYX_INTRINSIC_INITIALIZE, + ONYX_INTRINSIC_I32_CLZ, ONYX_INTRINSIC_I32_CTZ, ONYX_INTRINSIC_I32_POPCNT, ONYX_INTRINSIC_I32_AND, ONYX_INTRINSIC_I32_OR, ONYX_INTRINSIC_I32_XOR, ONYX_INTRINSIC_I32_SHL, ONYX_INTRINSIC_I32_SLR, ONYX_INTRINSIC_I32_SAR, diff --git a/src/onyxastnodes.c b/src/onyxastnodes.c index 5bef0fcc..c1ae983c 100644 --- a/src/onyxastnodes.c +++ b/src/onyxastnodes.c @@ -490,6 +490,8 @@ b32 type_check_or_auto_cast(AstTyped** pnode, Type* type) { } Type* resolve_expression_type(AstTyped* node) { + if (node == NULL) return NULL; + if (node->kind == Ast_Kind_Compound) { bh_arr_each(AstTyped *, expr, ((AstCompound *) node)->exprs) { resolve_expression_type(*expr); diff --git a/src/onyxbuiltins.c b/src/onyxbuiltins.c index a0936dc6..0d8a9b4c 100644 --- a/src/onyxbuiltins.c +++ b/src/onyxbuiltins.c @@ -86,6 +86,8 @@ static IntrinsicMap builtin_intrinsics[] = { { "memory_copy", ONYX_INTRINSIC_MEMORY_COPY }, { "memory_fill", ONYX_INTRINSIC_MEMORY_FILL }, + { "__initialize", ONYX_INTRINSIC_INITIALIZE }, + { "clz_i32", ONYX_INTRINSIC_I32_CLZ }, { "ctz_i32", ONYX_INTRINSIC_I32_CTZ }, { "popcnt_i32", ONYX_INTRINSIC_I32_POPCNT }, @@ -385,4 +387,4 @@ void introduce_build_options(bh_allocator a) { AstNumLit* runtime_type = make_int_literal(a, context.options->runtime); symbol_builtin_introduce(p->scope, "Runtime", (AstNode *) runtime_type); -} \ No newline at end of file +} diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 244c202b..1f5c7b06 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -1638,9 +1638,14 @@ CheckStatus check_overloaded_function(AstOverloadedFunction* func) { CheckStatus check_struct(AstStructType* s_node) { bh_arr_each(AstStructMember *, smem, s_node->members) { if ((*smem)->type_node == NULL && (*smem)->initial_value != NULL) { - check_expression(&(*smem)->initial_value); + CHECK(expression, &(*smem)->initial_value); fill_in_type((*smem)->initial_value); (*smem)->type = resolve_expression_type((*smem)->initial_value); + + if ((*smem)->type == NULL) { + onyx_report_error((*smem)->initial_value->token->pos, "Unable to deduce type of initial value. This is probably a compiler bug."); + return Check_Error; + } } } @@ -1658,6 +1663,26 @@ CheckStatus check_struct(AstStructType* s_node) { return Check_Success; } +CheckStatus check_struct_defaults(AstStructType* s_node) { + bh_arr_each(StructMember *, smem, s_node->stcache->Struct.memarr) { + if ((*smem)->initial_value && *(*smem)->initial_value) { + CHECK(expression, (*smem)->initial_value); + + if (!type_check_or_auto_cast((*smem)->initial_value, (*smem)->type)) { + onyx_report_error((*(*smem)->initial_value)->token->pos, + "Mismatched type for initial value, expected '%s', got '%s'.", + type_get_name((*smem)->type), + type_get_name((*(*smem)->initial_value)->type)); + return Check_Error; + } + + resolve_expression_type(*(*smem)->initial_value); + } + } + + return Check_Success; +} + CheckStatus check_function_header(AstFunction* func) { b32 expect_default_param = 0; b32 has_had_varargs = 0; @@ -1905,6 +1930,10 @@ void check_entity(Entity* ent) { cs = check_type(ent->type_alias); break; + case Entity_Type_Struct_Member_Default: + cs = check_struct_defaults((AstStructType *) ent->type_alias); + break; + case Entity_Type_Memory_Reservation_Type: cs = check_memres_type(ent->mem_res); break; diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 505d00bf..2f9dc402 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -239,6 +239,7 @@ EMIT_FUNC(cast, AstUnaryOp* cast); EMIT_FUNC(return, AstReturn* ret); EMIT_FUNC(stack_enter, u64 stacksize); EMIT_FUNC(stack_leave, u32 unused); +EMIT_FUNC(zero_value, WasmType wt); EMIT_FUNC(enter_structured_block, StructuredBlockType sbt); EMIT_FUNC_NO_ARGS(leave_structured_block); @@ -1385,6 +1386,12 @@ EMIT_FUNC(intrinsic_call, AstCall* call) { } break; + case ONYX_INTRINSIC_INITIALIZE: { + Type* type_to_initialize = ((AstArgument *) call->args.values[0])->value->type->Pointer.elem; + emit_initialize_type(mod, &code, type_to_initialize, call->token); + break; + } + case ONYX_INTRINSIC_I32_CLZ: WI(WI_I32_CLZ); break; case ONYX_INTRINSIC_I32_CTZ: WI(WI_I32_CTZ); break; case ONYX_INTRINSIC_I32_POPCNT: WI(WI_I32_POPCNT); break; @@ -2424,6 +2431,24 @@ EMIT_FUNC(stack_leave, u32 unused) { *pcode = code; } +EMIT_FUNC(zero_value, WasmType wt) { + bh_arr(WasmInstruction) code = *pcode; + + switch (wt) { + case WASM_TYPE_INT32: WIL(WI_I32_CONST, 0); break; + case WASM_TYPE_INT64: WIL(WI_I64_CONST, 0); break; + case WASM_TYPE_FLOAT32: WIL(WI_F32_CONST, 0); break; + case WASM_TYPE_FLOAT64: WIL(WI_F64_CONST, 0); break; + case WASM_TYPE_VAR128: { + static u8 zero_v128[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + WIP(WI_V128_CONST, &zero_v128); + break; + } + } + + *pcode = code; +} + static i32 generate_type_idx(OnyxWasmModule* mod, Type* ft) { if (ft->kind != Type_Kind_Function) return -1; @@ -2608,20 +2633,8 @@ static void emit_function(OnyxWasmModule* mod, AstFunction* fd) { } } - { - WasmFuncType* ft = mod->types[type_idx]; - switch (ft->return_type) { - case WASM_TYPE_INT32: bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_I32_CONST, 0x00 })); break; - case WASM_TYPE_INT64: bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_I64_CONST, 0x00 })); break; - case WASM_TYPE_FLOAT32: bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_F32_CONST, 0x00 })); break; - case WASM_TYPE_FLOAT64: bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_F64_CONST, 0x00 })); break; - case WASM_TYPE_VAR128: { - static u8 zero_v128[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_V128_CONST, { .p = &zero_v128 } })); - break; - } - } - } + WasmFuncType* ft = mod->types[type_idx]; + emit_zero_value(mod, &wasm_func.code, ft->return_type); bh_arr_push(wasm_func.code, ((WasmInstruction){ WI_BLOCK_END, 0x00 })); diff --git a/src/onyxwasm_intrinsics.c b/src/onyxwasm_intrinsics.c index c65a3e8a..b39fad86 100644 --- a/src/onyxwasm_intrinsics.c +++ b/src/onyxwasm_intrinsics.c @@ -112,3 +112,42 @@ EMIT_FUNC_NO_ARGS(intrinsic_memory_fill) { *pcode = code; } + +EMIT_FUNC(initialize_type, Type* type, OnyxToken* where) { + bh_arr(WasmInstruction) code = *pcode; + + switch (type->kind) { + case Type_Kind_Pointer: + case Type_Kind_Basic: { + WasmType basic_type = onyx_type_to_wasm_type(type); + emit_zero_value(mod, &code, basic_type); + emit_store_instruction(mod, &code, type, 0); + break; + } + + case Type_Kind_Struct: { + u64 value_ptr = local_raw_allocate(mod->local_alloc, WASM_TYPE_PTR); + WIL(WI_LOCAL_SET, value_ptr); + + bh_arr_each(StructMember *, psmem, type->Struct.memarr) { + StructMember* smem = *psmem; + if (smem->initial_value == NULL || *smem->initial_value == NULL) continue; + + WIL(WI_LOCAL_GET, value_ptr); + emit_expression(mod, &code, *smem->initial_value); + emit_store_instruction(mod, &code, smem->type, smem->offset); + } + + local_raw_free(mod->local_alloc, WASM_TYPE_PTR); + break; + } + + default: + onyx_report_error(where->pos, + "Unable to initialize type, '%s'. The reason for this is largely due to the compiler not knowing what the initial value should be.", + type_get_name(type)); + break; + } + + *pcode = code; +} diff --git a/tests/operator_overload.onyx b/tests/operator_overload.onyx index f3aa5a90..41e6b3e4 100644 --- a/tests/operator_overload.onyx +++ b/tests/operator_overload.onyx @@ -103,4 +103,4 @@ main :: proc (args: [] cstr) { test_overload :: proc { proc (x: $T, y: T) -> T { return x; }, proc (x: $T, y: $R) -> R { return y; }, -} \ No newline at end of file +} -- 2.25.1