move function/modifier native ID into their respective structs

This commit is contained in:
dzaima 2024-10-10 03:46:12 +03:00
parent 4885ca1c62
commit 61e5ca2767
3 changed files with 10 additions and 7 deletions

View File

@ -32,6 +32,7 @@
typedef struct BFn { typedef struct BFn {
struct Fun; struct Fun;
u8 nid;
B ident; B ident;
FC2 uc1; FC2 uc1;
BBBB2B ucw; BBBB2B ucw;
@ -41,6 +42,7 @@ typedef struct BFn {
} BFn; } BFn;
typedef struct BMd1 { typedef struct BMd1 {
struct Md1; struct Md1;
u8 nid;
D1C1 im; D1C1 im;
D1C2 iw; D1C2 iw;
D1C2 ix; D1C2 ix;
@ -48,6 +50,7 @@ typedef struct BMd1 {
typedef struct BMd2 { typedef struct BMd2 {
struct Md2; struct Md2;
u8 nid;
D2C1 im; D2C1 im;
D2C2 iw; D2C2 iw;
D2C2 ix; D2C2 ix;

View File

@ -427,7 +427,7 @@ void freeThrown(void);
#define RTID_NONE -1 #define RTID_NONE -1
#define PRTID(X) ((X)->flags-1) #define PRTID(X) ((X)->flags-1)
#define RTID(X) PRTID(v(X)) #define RTID(X) PRTID(v(X))
#define NID(X) ((X)->extra) #define NID(X) ((X)->nid)
#define VTY(X,T) assert(isVal(X) && TY(X)==(T)) #define VTY(X,T) assert(isVal(X) && TY(X)==(T))

View File

@ -757,11 +757,11 @@ void def_fallbackTriv(Value* v) { // used while vtables aren't yet fully loaded;
TIv(v,freeF)(v); TIv(v,freeF)(v);
} }
static NOINLINE B m_bfn(FC1 c1, FC2 c2, u8 id) { static NOINLINE B m_bfn(FC1 c1, FC2 c2, u8 nid) {
BFn* f = mm_alloc(sizeof(BFn), t_funBI); BFn* f = mm_alloc(sizeof(BFn), t_funBI);
f->c1 = c1; f->c1 = c1;
f->c2 = c2; f->c2 = c2;
f->extra = id; f->nid = nid;
f->ident = bi_N; f->ident = bi_N;
f->uc1 = def_fn_uc1; f->uc1 = def_fn_uc1;
f->ucw = def_fn_ucw; f->ucw = def_fn_ucw;
@ -774,11 +774,11 @@ static NOINLINE B m_bfn(FC1 c1, FC2 c2, u8 id) {
B r = tag(f,FUN_TAG); gc_add(r); B r = tag(f,FUN_TAG); gc_add(r);
return r; return r;
} }
static NOINLINE B m_bm1(D1C1 c1, D1C2 c2, u8 id) { static NOINLINE B m_bm1(D1C1 c1, D1C2 c2, u8 nid) {
BMd1* m = mm_alloc(sizeof(BMd1), t_md1BI); BMd1* m = mm_alloc(sizeof(BMd1), t_md1BI);
m->c1 = c1; m->c1 = c1;
m->c2 = c2; m->c2 = c2;
m->extra = id; m->nid = nid;
m->im = def_m1_im; m->im = def_m1_im;
m->iw = def_m1_iw; m->iw = def_m1_iw;
m->ix = def_m1_ix; m->ix = def_m1_ix;
@ -786,11 +786,11 @@ static NOINLINE B m_bm1(D1C1 c1, D1C2 c2, u8 id) {
return r; return r;
} }
static NOINLINE B m_bm2(D2C1 c1, D2C2 c2, u8 id) { static NOINLINE B m_bm2(D2C1 c1, D2C2 c2, u8 nid) {
BMd2* m = mm_alloc(sizeof(BMd2), t_md2BI); BMd2* m = mm_alloc(sizeof(BMd2), t_md2BI);
m->c1 = c1; m->c1 = c1;
m->c2 = c2; m->c2 = c2;
m->extra = id; m->nid = nid;
m->im = def_m2_im; m->im = def_m2_im;
m->iw = def_m2_iw; m->iw = def_m2_iw;
m->ix = def_m2_ix; m->ix = def_m2_ix;