From 9054cf0b5434a585d30ce1760e163ec1ff6c2311 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 19 Dec 2021 01:44:18 +0200 Subject: [PATCH] make vec_join be mostly not inlined --- src/builtins/sfns.c | 2 +- src/utils/mut.c | 5 +++++ src/utils/mut.h | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index 59de1b0d..8ed5f584 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -890,7 +890,7 @@ B join_c2(B t, B w, B x) { } if (c-wr > 1 || c-xr > 1) thrF("∾: Argument ranks must differ by 1 or less (%i≡=𝕨, %i≡=𝕩)", wr, xr); if (c==1) { - B r = vec_join(w, x); + B r = vec_join_inline(w, x); if (rnk(r)==0) srnk(r,1); return qWithFill(r, f); } diff --git a/src/utils/mut.c b/src/utils/mut.c index 827f30d6..2d91ba70 100644 --- a/src/utils/mut.c +++ b/src/utils/mut.c @@ -61,3 +61,8 @@ void mutF_init() { } } } + + +B vec_join(B w, B x) { + return vec_join_inline(w, x); +} \ No newline at end of file diff --git a/src/utils/mut.h b/src/utils/mut.h index 330be673..68b70996 100644 --- a/src/utils/mut.h +++ b/src/utils/mut.h @@ -252,8 +252,8 @@ static void mut_copy(Mut* m, usz ms, B x, usz xs, usz l) { assert(isArr(x)); } - -static B vec_join(B w, B x) { // consumes both +B vec_join(B w, B x); // consumes both +FORCE_INLINE B vec_join_inline(B w, B x) { usz wia = a(w)->ia; usz xia = a(x)->ia; usz ria = wia+xia;