move thrF to a full function
0.3% more instrs with it never being called what
This commit is contained in:
parent
78cd23907e
commit
c2c64f9654
@ -55,9 +55,6 @@ void decShR(Value* x) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
B bi_emptyHVec, bi_emptyIVec, bi_emptyCVec, bi_emptySVec;
|
B bi_emptyHVec, bi_emptyIVec, bi_emptyCVec, bi_emptySVec;
|
||||||
NOINLINE B emptyCVecR() {
|
|
||||||
return emptyCVec();
|
|
||||||
}
|
|
||||||
|
|
||||||
NOINLINE TStack* ts_e(TStack* o, u32 elsz, u64 am) { u64 size = o->size;
|
NOINLINE TStack* ts_e(TStack* o, u32 elsz, u64 am) { u64 size = o->size;
|
||||||
u64 alsz = mm_round(fsizeof(TStack, data, u8, (size+am)*elsz));
|
u64 alsz = mm_round(fsizeof(TStack, data, u8, (size+am)*elsz));
|
||||||
@ -159,9 +156,7 @@ NOINLINE void printRaw(B x) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NOINLINE B append_fmt(B s, char* p, ...) {
|
NOINLINE B do_fmt(B s, char* p, va_list a) {
|
||||||
va_list a;
|
|
||||||
va_start(a, p);
|
|
||||||
char buf[30];
|
char buf[30];
|
||||||
char c;
|
char c;
|
||||||
char* lp = p;
|
char* lp = p;
|
||||||
@ -258,9 +253,29 @@ NOINLINE B append_fmt(B s, char* p, ...) {
|
|||||||
lp = p;
|
lp = p;
|
||||||
}
|
}
|
||||||
if (lp!=p) AJOIN(fromUTF8(lp, p-lp));
|
if (lp!=p) AJOIN(fromUTF8(lp, p-lp));
|
||||||
va_end(a);
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
NOINLINE B append_fmt(B s, char* p, ...) {
|
||||||
|
va_list a;
|
||||||
|
va_start(a, p);
|
||||||
|
B r = do_fmt(s, p, a);
|
||||||
|
va_end(a);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
NOINLINE B make_fmt(char* p, ...) {
|
||||||
|
va_list a;
|
||||||
|
va_start(a, p);
|
||||||
|
B r = do_fmt(emptyCVec(), p, a);
|
||||||
|
va_end(a);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
NOINLINE void thrF(char* p, ...) {
|
||||||
|
va_list a;
|
||||||
|
va_start(a, p);
|
||||||
|
B r = do_fmt(emptyCVec(), p, a);
|
||||||
|
va_end(a);
|
||||||
|
thr(r);
|
||||||
|
}
|
||||||
|
|
||||||
#define CMP(W,X) ({ AUTO wt = (W); AUTO xt = (X); (wt>xt?1:0)-(wt<xt?1:0); })
|
#define CMP(W,X) ({ AUTO wt = (W); AUTO xt = (X); (wt>xt?1:0)-(wt<xt?1:0); })
|
||||||
NOINLINE i32 compareR(B w, B x) {
|
NOINLINE i32 compareR(B w, B x) {
|
||||||
|
|||||||
@ -100,13 +100,14 @@ static bool isNumEl(u8 elt) { return elt==el_i32 | elt==el_f64; }
|
|||||||
|
|
||||||
B m_str8l(char* s);
|
B m_str8l(char* s);
|
||||||
B fromUTF8l(char* x);
|
B fromUTF8l(char* x);
|
||||||
|
B append_fmt(B s, char* p, ...);
|
||||||
|
B make_fmt(char* p, ...);
|
||||||
#define AJOIN(X) s = vec_join(s,X) // consumes X
|
#define AJOIN(X) s = vec_join(s,X) // consumes X
|
||||||
#define AOBJ(X) s = vec_add(s,X) // consumes X
|
#define AOBJ(X) s = vec_add(s,X) // consumes X
|
||||||
#define ACHR(X) AOBJ(m_c32(X))
|
#define ACHR(X) AOBJ(m_c32(X))
|
||||||
#define A8(X) AJOIN(m_str8l(X))
|
#define A8(X) AJOIN(m_str8l(X))
|
||||||
#define AU(X) AJOIN(fromUTF8l(X))
|
#define AU(X) AJOIN(fromUTF8l(X))
|
||||||
#define AFMT(...) s = append_fmt(s, __VA_ARGS__)
|
#define AFMT(...) s = append_fmt(s, __VA_ARGS__)
|
||||||
NOINLINE B append_fmt(B s, char* p, ...);
|
|
||||||
|
|
||||||
// function stuff
|
// function stuff
|
||||||
|
|
||||||
|
|||||||
3
src/h.h
3
src/h.h
@ -234,7 +234,6 @@ extern B bi_emptyHVec, bi_emptyIVec, bi_emptyCVec, bi_emptySVec;
|
|||||||
#define emptyIVec() ({ B t = bi_emptyIVec; ptr_inc(v(t)); t; })
|
#define emptyIVec() ({ B t = bi_emptyIVec; ptr_inc(v(t)); t; })
|
||||||
#define emptyCVec() ({ B t = bi_emptyCVec; ptr_inc(v(t)); t; })
|
#define emptyCVec() ({ B t = bi_emptyCVec; ptr_inc(v(t)); t; })
|
||||||
#define emptySVec() ({ B t = bi_emptySVec; ptr_inc(v(t)); t; })
|
#define emptySVec() ({ B t = bi_emptySVec; ptr_inc(v(t)); t; })
|
||||||
NOINLINE B emptyCVecR();
|
|
||||||
static void dec(B x);
|
static void dec(B x);
|
||||||
static B inc(B x);
|
static B inc(B x);
|
||||||
static void ptr_dec(void* x);
|
static void ptr_dec(void* x);
|
||||||
@ -260,7 +259,7 @@ B bqn_repr(B x); // consumes
|
|||||||
|
|
||||||
NOINLINE NORETURN void thr(B b);
|
NOINLINE NORETURN void thr(B b);
|
||||||
NOINLINE NORETURN void thrM(char* s);
|
NOINLINE NORETURN void thrM(char* s);
|
||||||
#define thrF(...) thr(append_fmt(emptyCVecR(), __VA_ARGS__))
|
NOINLINE NORETURN void thrF(char* s, ...);
|
||||||
NOINLINE NORETURN void thrOOM();
|
NOINLINE NORETURN void thrOOM();
|
||||||
jmp_buf* prepareCatch();
|
jmp_buf* prepareCatch();
|
||||||
#if CATCH_ERRORS
|
#if CATCH_ERRORS
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user