From 50e76c8c043936d425d1ec067f8871dbeea9ae6a Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 25 May 2021 00:51:09 +0300 Subject: [PATCH] move some headers & defs around --- src/core/gstack.h | 5 +---- src/core/stuff.c | 22 ++++++++++++++++++++++ src/core/stuff.h | 5 +++-- src/h.h | 25 ------------------------- src/opt/mm_2buddy.h | 1 + src/opt/mm_buddy.h | 1 + src/vm.c | 1 + 7 files changed, 29 insertions(+), 31 deletions(-) diff --git a/src/core/gstack.h b/src/core/gstack.h index 543b01fc..a9676ccb 100644 --- a/src/core/gstack.h +++ b/src/core/gstack.h @@ -26,10 +26,7 @@ static void gsReserve(u64 am) { #endif } -#ifdef GS_REALLOC -NOINLINE -#endif -static void gsReserveR(u64 am) { gsReserve(am); } +static NOINLINE void gsReserveR(u64 am) { gsReserve(am); } static inline void gsAdd(B x) { diff --git a/src/core/stuff.c b/src/core/stuff.c index 2fe8f19a..9be0fa37 100644 --- a/src/core/stuff.c +++ b/src/core/stuff.c @@ -8,6 +8,28 @@ B bi_N, bi_noVar, bi_badHdr, bi_optOut, bi_noFill, bi_emptyHVec, bi_emptyIVec, b CTR_FOR(F) #undef F +char* format_pf(u8 u) { + switch(u) { default: return "(unknown function)"; + #define F(N,X) case pf_##N: return X; + FOR_PFN(F,F,F) + #undef F + } +} +char* format_pm1(u8 u) { + switch(u) { default: return"(unknown 1-modifier)"; + #define F(N,X) case pm1_##N: return X; + FOR_PM1(F,F,F) + #undef F + } +} +char* format_pm2(u8 u) { + switch(u) { default: return"(unknown 2-modifier)"; + #define F(N,X) case pm2_##N: return X; + FOR_PM2(F,F,F) + #undef F + } +} + NOINLINE void arr_print(B x) { // should accept refc=0 arguments for debugging purposes ur r = rnk(x); BS2B xgetU = TI(x).getU; diff --git a/src/core/stuff.h b/src/core/stuff.h index 21f41554..7eb08901 100644 --- a/src/core/stuff.h +++ b/src/core/stuff.h @@ -1,7 +1,5 @@ extern u64 allocB; // currently allocated number of bytes -#include -#include // memory defs @@ -130,6 +128,9 @@ NOINLINE B append_fmt(B s, char* p, ...); // function stuff +char* format_pf(u8 u); +char* format_pm1(u8 u); +char* format_pm2(u8 u); bool isPureFn(B x); // doesn't consume B bqn_merge(B x); // consumes B bqn_squeeze(B x); // consumes diff --git a/src/h.h b/src/h.h index a056bd52..9eb92854 100644 --- a/src/h.h +++ b/src/h.h @@ -185,35 +185,10 @@ enum PrimMd2 { pm2_none, #undef F }; -static char* format_pf(u8 u) { - switch(u) { default: return "(unknown function)"; - #define F(N,X) case pf_##N: return X; - FOR_PFN(F,F,F) - #undef F - } -} -static char* format_pm1(u8 u) { - switch(u) { default: return"(unknown 1-modifier)"; - #define F(N,X) case pm1_##N: return X; - FOR_PM1(F,F,F) - #undef F - } -} -static char* format_pm2(u8 u) { - switch(u) { default: return"(unknown 2-modifier)"; - #define F(N,X) case pm2_##N: return X; - FOR_PM2(F,F,F) - #undef F - } -} #define F(N,X) extern B bi_##N; FOR_PFN(F,F,F) -#undef F -#define F(N,X) extern B bi_##N; FOR_PM1(F,F,F) -#undef F -#define F(N,X) extern B bi_##N; FOR_PM2(F,F,F) #undef F diff --git a/src/opt/mm_2buddy.h b/src/opt/mm_2buddy.h index 3789510b..826aa4fc 100644 --- a/src/opt/mm_2buddy.h +++ b/src/opt/mm_2buddy.h @@ -1,4 +1,5 @@ #include "gc.h" +#include typedef struct EmptyValue EmptyValue; struct EmptyValue { // needs set: mmInfo; type=t_empty; next; everything else can be garbage diff --git a/src/opt/mm_buddy.h b/src/opt/mm_buddy.h index 9feef38f..1f5ec86b 100644 --- a/src/opt/mm_buddy.h +++ b/src/opt/mm_buddy.h @@ -1,4 +1,5 @@ #include "gc.h" +#include typedef struct EmptyValue EmptyValue; struct EmptyValue { // needs set: mmInfo; type=t_empty; next; everything else can be garbage diff --git a/src/vm.c b/src/vm.c index ce4ae127..4b3e36bc 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1,3 +1,4 @@ +#include #include "core.h" #include "vm.h" #include "ns.h"