rename confusing m_funBlock to evalFunBlock
This commit is contained in:
parent
bc5a279f55
commit
f136ca5e97
@ -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);
|
||||
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_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 ); }
|
||||
|
||||
14
src/load.c
14
src/load.c
@ -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
|
||||
Block* block = bqn_comp(str, path, args);
|
||||
B res = m_funBlock(block, 0);
|
||||
B res = evalFunBlock(block, 0);
|
||||
ptr_dec(block);
|
||||
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);
|
||||
decG(rtsys);
|
||||
comp_currRe = prevRe;
|
||||
res = m_funBlock(block, 0);
|
||||
res = evalFunBlock(block, 0);
|
||||
ptr_dec(block);
|
||||
}
|
||||
decG(o);
|
||||
@ -353,7 +353,7 @@ void load_init() { // very last init function
|
||||
Block* runtime0_b = load_compImport(
|
||||
#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;
|
||||
#endif
|
||||
|
||||
@ -365,7 +365,7 @@ void load_init() { // very last init function
|
||||
dec(r0r);
|
||||
#endif
|
||||
|
||||
B rtRes = m_funBlock(runtime_b, 0); ptr_dec(runtime_b);
|
||||
B rtRes = evalFunBlock(runtime_b, 0); ptr_dec(runtime_b);
|
||||
SGet(rtRes);
|
||||
B rtObjRaw = Get(rtRes,0);
|
||||
B setPrims = Get(rtRes,1);
|
||||
@ -444,7 +444,7 @@ void load_init() { // very last init function
|
||||
#include "gen/interp"
|
||||
, 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);
|
||||
printf("\n");
|
||||
dec(interp);
|
||||
@ -463,7 +463,7 @@ void load_init() { // very last init function
|
||||
);
|
||||
runtime[n_asrt] = prevAsrt;
|
||||
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));
|
||||
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(
|
||||
#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)}));
|
||||
decG(fmtM);
|
||||
SGet(fmtR)
|
||||
|
||||
8
src/vm.c
8
src/vm.c
@ -670,9 +670,9 @@ B evalBC(Block* bl, Body* b, Scope* sc) { // doesn't consume
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DFND0: { GS_UPD;POS_UPD; ADD(m_funBlock((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 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 DFND2: { GS_UPD;POS_UPD; ADD(m_md2Block ((Block*)L64, sc)); break; }
|
||||
|
||||
case MD1C: { P(f)P(m) GS_UPD;POS_UPD; ADD(m1_d (m,f )); break; }
|
||||
case MD2C: { P(f)P(m)P(g) GS_UPD;POS_UPD; ADD(m2_d (m,f,g)); 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 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);
|
||||
FunBlock* r = mm_alloc(sizeof(FunBlock), t_funBl);
|
||||
r->bl = ptr_inc(bl);
|
||||
|
||||
2
src/vm.h
2
src/vm.h
@ -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 Md2Block { struct Md2; Scope* sc; Block* bl; } Md2Block;
|
||||
// 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_md2Block(Block* bl, Scope* psc);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user