rename confusing m_funBlock to evalFunBlock

This commit is contained in:
dzaima 2022-04-07 17:36:02 +03:00
parent bc5a279f55
commit f136ca5e97
4 changed files with 13 additions and 13 deletions

View File

@ -121,7 +121,7 @@ INS B i_ARR_p(B el0, i64 sz, B* cStack) { assert(sz>0);
if (allNum) return num_squeeze(r.b); if (allNum) return num_squeeze(r.b);
return r.b; return r.b;
} }
INS B i_DFND_0(u32* bc, Scope* sc, Block* bl) { POS_UPD; return m_funBlock(bl, sc); } INS B i_DFND_0(u32* bc, Scope* sc, Block* bl) { POS_UPD; return evalFunBlock(bl, sc); }
INS B i_DFND_1(u32* bc, Scope* sc, Block* bl) { POS_UPD; return m_md1Block(bl, sc); } // TODO these only fail on oom, so no need to update pos INS B i_DFND_1(u32* bc, Scope* sc, Block* bl) { POS_UPD; return m_md1Block(bl, sc); } // TODO these only fail on oom, so no need to update pos
INS B i_DFND_2(u32* bc, Scope* sc, Block* bl) { POS_UPD; return m_md2Block(bl, sc); } INS B i_DFND_2(u32* bc, Scope* sc, Block* bl) { POS_UPD; return m_md2Block(bl, sc); }
INS B i_MD1C(B f,B m, u32* bc) { POS_UPD; return m1_d (m,f ); } INS B i_MD1C(B f,B m, u32* bc) { POS_UPD; return m1_d (m,f ); }

View File

@ -204,7 +204,7 @@ NOINLINE Block* bqn_compSc(B str, B path, B args, Scope* sc, bool repl) { // con
B bqn_exec(B str, B path, B args) { // consumes all B bqn_exec(B str, B path, B args) { // consumes all
Block* block = bqn_comp(str, path, args); Block* block = bqn_comp(str, path, args);
B res = m_funBlock(block, 0); B res = evalFunBlock(block, 0);
ptr_dec(block); ptr_dec(block);
return res; return res;
} }
@ -296,7 +296,7 @@ B rebqn_exec(B str, B path, B args, B o) {
Block* block = bqn_compc(str, path, args, op[2], rtsys); Block* block = bqn_compc(str, path, args, op[2], rtsys);
decG(rtsys); decG(rtsys);
comp_currRe = prevRe; comp_currRe = prevRe;
res = m_funBlock(block, 0); res = evalFunBlock(block, 0);
ptr_dec(block); ptr_dec(block);
} }
decG(o); decG(o);
@ -353,7 +353,7 @@ void load_init() { // very last init function
Block* runtime0_b = load_compImport( Block* runtime0_b = load_compImport(
#include "gen/runtime0" #include "gen/runtime0"
); );
B r0r = m_funBlock(runtime0_b, 0); ptr_dec(runtime0_b); B r0r = evalFunBlock(runtime0_b, 0); ptr_dec(runtime0_b);
B* runtime_0 = toHArr(r0r)->a; B* runtime_0 = toHArr(r0r)->a;
#endif #endif
@ -365,7 +365,7 @@ void load_init() { // very last init function
dec(r0r); dec(r0r);
#endif #endif
B rtRes = m_funBlock(runtime_b, 0); ptr_dec(runtime_b); B rtRes = evalFunBlock(runtime_b, 0); ptr_dec(runtime_b);
SGet(rtRes); SGet(rtRes);
B rtObjRaw = Get(rtRes,0); B rtObjRaw = Get(rtRes,0);
B setPrims = Get(rtRes,1); B setPrims = Get(rtRes,1);
@ -444,7 +444,7 @@ void load_init() { // very last init function
#include "gen/interp" #include "gen/interp"
, bi_N, bi_N, bi_N, bi_N, NULL , bi_N, bi_N, bi_N, bi_N, NULL
); );
B interp = m_funBlock(c, 0); ptr_dec(c); B interp = evalFunBlock(c, 0); ptr_dec(c);
print(interp); print(interp);
printf("\n"); printf("\n");
dec(interp); dec(interp);
@ -463,7 +463,7 @@ void load_init() { // very last init function
); );
runtime[n_asrt] = prevAsrt; runtime[n_asrt] = prevAsrt;
load_glyphs = m_hVec3(m_str32(U"+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!"), m_str32(U"˙˜˘¨⌜⁼´˝`"), m_str32(U"∘○⊸⟜⌾⊘◶⎉⚇⍟⎊")); load_glyphs = m_hVec3(m_str32(U"+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!"), m_str32(U"˙˜˘¨⌜⁼´˝`"), m_str32(U"∘○⊸⟜⌾⊘◶⎉⚇⍟⎊"));
load_compgen = m_funBlock(comp_b, 0); ptr_dec(comp_b); load_compgen = evalFunBlock(comp_b, 0); ptr_dec(comp_b);
load_comp = c1(load_compgen, inc(load_glyphs)); load_comp = c1(load_compgen, inc(load_glyphs));
gc_add(load_compgen); gc_add(load_comp); gc_add(load_glyphs); gc_add(load_compgen); gc_add(load_comp); gc_add(load_glyphs);
@ -472,7 +472,7 @@ void load_init() { // very last init function
Block* fmt_b = load_compImport( Block* fmt_b = load_compImport(
#include "gen/formatter" #include "gen/formatter"
); );
B fmtM = m_funBlock(fmt_b, 0); ptr_dec(fmt_b); B fmtM = evalFunBlock(fmt_b, 0); ptr_dec(fmt_b);
B fmtR = c1(fmtM, m_caB(4, (B[]){incG(bi_type), incG(bi_decp), incG(bi_glyph), incG(bi_repr)})); B fmtR = c1(fmtM, m_caB(4, (B[]){incG(bi_type), incG(bi_decp), incG(bi_glyph), incG(bi_repr)}));
decG(fmtM); decG(fmtM);
SGet(fmtR) SGet(fmtR)

View File

@ -670,7 +670,7 @@ B evalBC(Block* bl, Body* b, Scope* sc) { // doesn't consume
} }
break; break;
} }
case DFND0: { GS_UPD;POS_UPD; ADD(m_funBlock((Block*)L64, sc)); break; } case DFND0: { GS_UPD;POS_UPD; ADD(evalFunBlock((Block*)L64, sc)); break; }
case DFND1: { GS_UPD;POS_UPD; ADD(m_md1Block ((Block*)L64, sc)); break; } case DFND1: { GS_UPD;POS_UPD; ADD(m_md1Block ((Block*)L64, sc)); break; }
case DFND2: { GS_UPD;POS_UPD; ADD(m_md2Block ((Block*)L64, sc)); break; } case DFND2: { GS_UPD;POS_UPD; ADD(m_md2Block ((Block*)L64, sc)); break; }
@ -859,7 +859,7 @@ B md2Bl_ix(Md2D* d, B w, B x) { Md2Block* b=(Md2Block*)d->m2; ptr_inc(d); return
B md1Bl_d(B m, B f ) { Md1Block* c = c(Md1Block,m); Block* bl=c(Md1Block, m)->bl; return c->bl->imm? execBlock(bl, bl->bodies[0], c(Md1Block, m)->sc, 2, (B[]){m, f }) : m_md1D((Md1*)c,f ); } B md1Bl_d(B m, B f ) { Md1Block* c = c(Md1Block,m); Block* bl=c(Md1Block, m)->bl; return c->bl->imm? execBlock(bl, bl->bodies[0], c(Md1Block, m)->sc, 2, (B[]){m, f }) : m_md1D((Md1*)c,f ); }
B md2Bl_d(B m, B f, B g) { Md2Block* c = c(Md2Block,m); Block* bl=c(Md2Block, m)->bl; return c->bl->imm? execBlock(bl, bl->bodies[0], c(Md2Block, m)->sc, 3, (B[]){m, f, g}) : m_md2D((Md2*)c,f,g); } B md2Bl_d(B m, B f, B g) { Md2Block* c = c(Md2Block,m); Block* bl=c(Md2Block, m)->bl; return c->bl->imm? execBlock(bl, bl->bodies[0], c(Md2Block, m)->sc, 3, (B[]){m, f, g}) : m_md2D((Md2*)c,f,g); }
B m_funBlock(Block* bl, Scope* psc) { // doesn't consume anything B evalFunBlock(Block* bl, Scope* psc) { // doesn't consume anything
if (bl->imm) return execBlock(bl, bl->bodies[0], psc, 0, NULL); if (bl->imm) return execBlock(bl, bl->bodies[0], psc, 0, NULL);
FunBlock* r = mm_alloc(sizeof(FunBlock), t_funBl); FunBlock* r = mm_alloc(sizeof(FunBlock), t_funBl);
r->bl = ptr_inc(bl); r->bl = ptr_inc(bl);

View File

@ -195,7 +195,7 @@ typedef struct FunBlock { struct Fun; Scope* sc; Block* bl; } FunBlock;
typedef struct Md1Block { struct Md1; Scope* sc; Block* bl; } Md1Block; typedef struct Md1Block { struct Md1; Scope* sc; Block* bl; } Md1Block;
typedef struct Md2Block { struct Md2; Scope* sc; Block* bl; } Md2Block; typedef struct Md2Block { struct Md2; Scope* sc; Block* bl; } Md2Block;
// all don't consume anything // all don't consume anything
B m_funBlock(Block* bl, Scope* psc); // may return evaluated result, whatever B evalFunBlock(Block* bl, Scope* psc); // may return evaluated result, so not named m_funBlock
B m_md1Block(Block* bl, Scope* psc); B m_md1Block(Block* bl, Scope* psc);
B m_md2Block(Block* bl, Scope* psc); B m_md2Block(Block* bl, Scope* psc);