From 4629a0d8730ec7226220a647982fedbb8c8c4020 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 4 Nov 2022 23:58:07 -0500 Subject: [PATCH] added map.as_iter; bugfixes --- core/container/map.onyx | 36 ++++++++++++++++++++++ core/net/tcp.onyx | 11 ++----- shared/include/bh.h | 7 +++++ shared/lib/linux_x86_64/lib/libovmwasm.so | Bin 248128 -> 248128 bytes 4 files changed, 45 insertions(+), 9 deletions(-) diff --git a/core/container/map.onyx b/core/container/map.onyx index a372c3a3..7e7ddceb 100644 --- a/core/container/map.onyx +++ b/core/container/map.onyx @@ -31,6 +31,9 @@ Map :: struct (Key_Type: type_expr, Value_Type: type_expr) where ValidKey(Key_Ty value : V; } +} + +#inject Map { // // These need to have aliases because some of them like // 'delete', collide with the global 'delete', which @@ -44,6 +47,8 @@ Map :: struct (Key_Type: type_expr, Value_Type: type_expr) where ValidKey(Key_Ty update :: update clear :: clear empty :: empty + literal :: literal + as_iter :: as_iter } make :: ($Key: type_expr, $Value: type_expr, default := Value.{}) -> Map(Key, Value) { @@ -166,6 +171,37 @@ format_map :: (output: ^conv.Format_Output, format: ^conv.Format, x: ^Map($K, $V } } +#local +MapLiteralValue :: struct (K: type_expr, V: type_expr) { + key: K; + value: V; +} + +literal :: ($Key: type_expr, $Value: type_expr, values: [] MapLiteralValue(Key, Value)) => { + m := core.map.make(Key, Value); + for ^ values { + m->put(it.key, it.value); + } + + return m; +} + + +#overload core.iter.as_iterator as_iter + +as_iter :: (m: ^Map) => + core.iter.generator( + ^.{ m = m, i = 0 }, + + (ctx) => { + if ctx.i >= ctx.m.entries.count { + return (typeof ctx.m.entries.data).{}, false; + } + + defer ctx.i += 1; + return ^ctx.m.entries.data[ctx.i], true; + }); + // // Private symbols // diff --git a/core/net/tcp.onyx b/core/net/tcp.onyx index 65bad059..f9dc0445 100644 --- a/core/net/tcp.onyx +++ b/core/net/tcp.onyx @@ -107,7 +107,9 @@ TCP_Server :: struct { pulse_time_ms := 500; emit_data_events := true; +} +#inject TCP_Server { listen :: tcp_server_listen stop :: tcp_server_stop pulse :: tcp_server_pulse @@ -298,15 +300,6 @@ tcp_server_pulse :: (use server: ^TCP_Server) -> bool { } } - array.sort(clients, (a, b) => { - a_val := 1 if a == null else 0; - b_val := 1 if b == null else 0; - - if a_val != b_val do return b_val - a_val; - - return cast(i32) a.state - cast(i32) b.state; - }); - client_count = array.count_where(clients, #(it != null)); return server.alive; diff --git a/shared/include/bh.h b/shared/include/bh.h index 430b15fb..e35a8f5e 100644 --- a/shared/include/bh.h +++ b/shared/include/bh.h @@ -282,6 +282,9 @@ BH_DEF BH_ALLOCATOR_PROC(bh_arena_allocator_proc); // ATOMIC ARENA ALLOCATOR +// Currently, this is only available on Linux, as it is using pthreads. +#ifdef _BH_LINUX + typedef struct bh_atomic_arena { bh_allocator backing; ptr first_arena, current_arena; @@ -300,6 +303,8 @@ BH_DEF void bh_atomic_arena_free(bh_atomic_arena* alloc); BH_DEF bh_allocator bh_atomic_arena_allocator(bh_atomic_arena* alloc); BH_DEF BH_ALLOCATOR_PROC(bh_atomic_arena_allocator_proc); +#endif + @@ -1158,6 +1163,7 @@ BH_ALLOCATOR_PROC(bh_arena_allocator_proc) { // ATOMIC ARENA ALLOCATOR IMPLEMENTATION +#ifdef _BH_LINUX BH_DEF void bh_atomic_arena_init(bh_atomic_arena* alloc, bh_allocator backing, isize arena_size) { arena_size = bh_max(arena_size, size_of(ptr)); ptr data = bh_alloc(backing, arena_size); @@ -1241,6 +1247,7 @@ BH_DEF BH_ALLOCATOR_PROC(bh_atomic_arena_allocator_proc) { pthread_mutex_unlock(&alloc_arena->mutex); return retval; } +#endif diff --git a/shared/lib/linux_x86_64/lib/libovmwasm.so b/shared/lib/linux_x86_64/lib/libovmwasm.so index 7d1249f7f18bd9cf784f01790378bfacf774d914..a05e2c83189ccbbc5702662a6b5d116ce60cd66e 100755 GIT binary patch delta 37842 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 TZ{`qlUloek)BA}2SG)fQic2hT delta 37977 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 I-z)O}0IwZv!2kdN -- 2.25.1