From bdea2cbfb792d1ffe125c790106b956828751fc1 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 15 Dec 2020 20:27:59 -0600 Subject: [PATCH] moved intrinsics files to own folder; --- core/alloc.onyx | 4 ++-- core/{ => intrinsics}/simd_intrinsics.onyx | 2 +- .../{intrinsics.onyx => intrinsics/wasm.onyx} | 2 +- core/math.onyx | 2 +- core/std/js.onyx | 2 +- core/std/wasi.onyx | 2 +- core/stdio.onyx | 7 +++++++ onyx | Bin 510284 -> 510348 bytes progs/simd_test.onyx | 4 ++-- src/onyxwasm.c | 13 +++++++++++++ 10 files changed, 29 insertions(+), 9 deletions(-) rename core/{ => intrinsics}/simd_intrinsics.onyx (99%) rename core/{intrinsics.onyx => intrinsics/wasm.onyx} (98%) diff --git a/core/alloc.onyx b/core/alloc.onyx index c8574c23..53321a34 100644 --- a/core/alloc.onyx +++ b/core/alloc.onyx @@ -1,9 +1,9 @@ package core.allocator #include_file "core/memory" -#include_file "core/intrinsics" +#include_file "core/intrinsics/wasm" -use package core { memory_size, memory_grow } +use package core.intrinsics.wasm { memory_size, memory_grow } use package core.memory as memory heap_allocator : Allocator; diff --git a/core/simd_intrinsics.onyx b/core/intrinsics/simd_intrinsics.onyx similarity index 99% rename from core/simd_intrinsics.onyx rename to core/intrinsics/simd_intrinsics.onyx index bbd88a76..1e5033bd 100644 --- a/core/simd_intrinsics.onyx +++ b/core/intrinsics/simd_intrinsics.onyx @@ -1,4 +1,4 @@ -package simd +package core.intrinsics.simd // NOTE: These u8 values must be compile time known values. v128_const :: proc (b1: u8, b2: u8, b3: u8, b4: u8, diff --git a/core/intrinsics.onyx b/core/intrinsics/wasm.onyx similarity index 98% rename from core/intrinsics.onyx rename to core/intrinsics/wasm.onyx index 6aee93e9..9aafb617 100644 --- a/core/intrinsics.onyx +++ b/core/intrinsics/wasm.onyx @@ -1,4 +1,4 @@ -package core +package core.intrinsics.wasm memory_size :: proc () -> i32 #intrinsic --- memory_grow :: proc (val: i32) -> i32 #intrinsic --- diff --git a/core/math.onyx b/core/math.onyx index b0bf248b..f2999bc3 100644 --- a/core/math.onyx +++ b/core/math.onyx @@ -1,6 +1,6 @@ package core.math -use package core { +use package core.intrinsics.wasm { sqrt_f32, sqrt_f64, abs_f32, abs_f64 } diff --git a/core/std/js.onyx b/core/std/js.onyx index 459ea86b..dfde7615 100644 --- a/core/std/js.onyx +++ b/core/std/js.onyx @@ -5,7 +5,7 @@ package core #include_file "core/alloc" #include_file "core/array" #include_file "core/conv" -#include_file "core/intrinsics" +#include_file "core/intrinsics/wasm" #include_file "core/map" #include_file "core/math" #include_file "core/memory" diff --git a/core/std/wasi.onyx b/core/std/wasi.onyx index 2a19f1d9..7d8e73a9 100644 --- a/core/std/wasi.onyx +++ b/core/std/wasi.onyx @@ -6,7 +6,7 @@ package core #include_file "core/array" #include_file "core/conv" #include_file "core/file" -#include_file "core/intrinsics" +#include_file "core/intrinsics/wasm" #include_file "core/map" #include_file "core/math" #include_file "core/memory" diff --git a/core/stdio.onyx b/core/stdio.onyx index c48ffb2f..8ebd94ca 100644 --- a/core/stdio.onyx +++ b/core/stdio.onyx @@ -1,4 +1,11 @@ package core +// Currently, these symbols are dumped in the 'core' namespace, which means +// most programs that just 'use package core' can access all of them, which +// is convenient; However, it doesn't hurt to wonder if they should be the +// 'core.io' package so these would become like 'io.printf(...)'. Of course, +// you could always still do 'use package core.io', which would bring these +// in anyway. + // It is expected that a file will be included that will be part // of the system package diff --git a/onyx b/onyx index 07ed65ddc6f1a3166f84c6f9a20047835878d6c0..51cdf8eabc92d9d7b774e792c1a5c4ca754ed783 100755 GIT binary patch delta 71765 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≀8INQq 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 Kb5;NIpZ^8UCX$N) diff --git a/progs/simd_test.onyx b/progs/simd_test.onyx index 02f59567..e4d31604 100644 --- a/progs/simd_test.onyx +++ b/progs/simd_test.onyx @@ -1,10 +1,10 @@ package main #include_file "core/std/wasi" -#include_file "core/simd_intrinsics" +#include_file "core/intrinsics/simd" use package core -use package simd +use package core.intrinsics.simd main :: proc (args: [] cstr) { x := f32x4_const(10.0f, 20.0f, 30.0f, 40.0f); diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 26f14bd5..9b9b35c5 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -2920,13 +2920,26 @@ static void emit_raw_data(OnyxWasmModule* mod, ptr data, AstTyped* node) { sdata[1] = sl->length; break; } + case Ast_Kind_NumLit: { + // NOTE: This makes a big assumption that we are running on a + // little endian machine, since WebAssembly is little endian + // by specification. This is probably a safe assumption, but + // should probably be fixed at some point. + // - brendanfh 2020/12/15 + switch (node->type->Basic.kind) { case Basic_Kind_Bool: case Basic_Kind_I8: case Basic_Kind_U8: + *((i8 *) data) = (i8) ((AstNumLit *) node)->value.i; + return; + case Basic_Kind_I16: case Basic_Kind_U16: + *((i16 *) data) = (i16) ((AstNumLit *) node)->value.i; + return; + case Basic_Kind_I32: case Basic_Kind_U32: case Basic_Kind_Rawptr: -- 2.25.1