Skip to content

Commit

Permalink
Inline singletons
Browse files Browse the repository at this point in the history
  • Loading branch information
HenryHRich committed Jan 10, 2025
1 parent 3ad04e0 commit a54dd2a
Show file tree
Hide file tree
Showing 5 changed files with 415 additions and 391 deletions.
2 changes: 1 addition & 1 deletion jsrc/cx.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ DF2(jtxdefn){
// We may not call these final assignments because that might back tpushptr before an outstanding 'old'
if(unlikely(((I)u|(I)v)!=0)){
symbis(mnuvxynam[2],u,locsym); if(NOUN&AT(u))symbis(mnuvxynam[0],u,locsym); // assign u, and m if u is a noun. u musat be defined
if(v){symbis(mnuvxynam[3],v,locsym); if(NOUN&AT(v))symbis(mnuvxynam[1],v,locsym); } // errors here are impossible: the value exists and the names are known valid and allocated
if(v){symbis(mnuvxynam[3],v,locsym); if(NOUN&AT(v))symbis(mnuvxynam[1],v,locsym);} // errors here are impossible: the value exists and the names are known valid and allocated
}
} // for name scope only
// remember tnextpushp. We will tpop after every few sentences, to free blocks. Do this AFTER any memory
Expand Down
2 changes: 1 addition & 1 deletion jsrc/je.h
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ extern B jtspfree(J);
extern B jtspmult(J,A*,A,A,C,I,I,I,I);
extern A jtsprank1(J,A,A,I,AF);
extern A jtsprank2(J,A,A,A,I,I,AF);
extern A jtssingleton(J,A,A,I);
// obsolete extern A jtssingleton(J,A,A,I);
extern A jtssingleton1(J,A,I);
extern void jtstackepilog(J,I4);
extern A jtstcreate(J,I1,I,I,C*);
Expand Down
2 changes: 1 addition & 1 deletion jsrc/s.c
Original file line number Diff line number Diff line change
Expand Up @@ -696,7 +696,7 @@ A jtprobequiet(J jt,A a){A g;
// flags set in jt: bit 0=this is a final assignment; bit 1 always 0
I jtsymbis(J jt,A a,A w,A g){F2PREFIP;
// obsolete ARGCHK2(a,w);
if(a==0||w==0||g==0)SEGFAULT; // scaf
// we don't ARGCHK because path is heavily used. Caller's responsibility.
I anmf=NAV(a)->flag; // fetch flags for the name
// Before we take a lock on the symbol table, realize any virtual w, and convert w to recursive usecount. These will be unnecessary if the
// name is NJA or is a reassignment, but since NJAs cannot be non-DIRECT little is lost. We will be doing an unneeded realize if a virtual [x]y from
Expand Down
Loading

0 comments on commit a54dd2a

Please sign in to comment.