History

bikeshedding

Sigrid Solveig Haflínudóttir committed 4 months ago

Commit 4b6c9041 parent a43ed212 files · +19 −19Browse files

Unified · Split

2 files
  1. src/ios.c +3 −3
  2. src/sl.c +16 −16
src/ios.c+3−3
@@ -770,12 +770,12 @@ ios_peek(ios *s, void *dest, usize n) · 769 unmodified lines
770int770int
771ios_peekc(ios *s)771ios_peekc(ios *s)
772{772{
773 if(s->bpos < s->size)773 if(sl_likely(s->bpos < s->size))
774 return (u8int)s->buf[s->bpos];774 return (u8int)s->buf[s->bpos];
775 if(s->eof)775 if(sl_unlikely(s->eof))
776 return IOS_EOF;776 return IOS_EOF;
777 usize n = ios_readprep(s, 1);777 usize n = ios_readprep(s, 1);
778 if(n == 0)778 if(sl_unlikely(n == 0))
779 return IOS_EOF;779 return IOS_EOF;
780 return (u8int)s->buf[s->bpos];780 return (u8int)s->buf[s->bpos];
781}781}
src/sl.c+16−16
@@ -91,7 +91,7 @@ sl_exit(const char *status) · 90 unmodified lines
91 _ctx.osp = sl.sp - sl.stack; _ctx.frame = sl.curr_frame; \91 _ctx.osp = sl.sp - sl.stack; _ctx.frame = sl.curr_frame; \
92 _ctx.rdst = sl.readstate; _ctx.prev = sl.exctx; \92 _ctx.rdst = sl.readstate; _ctx.prev = sl.exctx; \
93 _ctx.ngchnd = slvm.ngchandles; sl.exctx = &_ctx; \93 _ctx.ngchnd = slvm.ngchandles; sl.exctx = &_ctx; \
94 if(!sl_setjmp(_ctx.buf)) \94 if(sl_likely(!sl_setjmp(_ctx.buf))) \
95 for(l__tr = 1; l__tr; l__tr = 0, (void)(sl.exctx = sl.exctx->prev))95 for(l__tr = 1; l__tr; l__tr = 0, (void)(sl.exctx = sl.exctx->prev))
96 96
97#define SL_CATCH_INC \97#define SL_CATCH_INC \
@@ -1004,7 +1004,7 @@ BUILTIN("fn", fn) · 906 unmodified lines
1004 }else if(!valsset && isvec(v)){1004 }else if(!valsset && isvec(v)){
1005 valsset = true;1005 valsset = true;
1006 fn->vals = v;1006 fn->vals = v;
1007 }else if(v == sl_t){1007 }else if(sl_unlikely(v == sl_t)){
1008 raw = true;1008 raw = true;
1009 }else if(!nameset && issym(v)){1009 }else if(!nameset && issym(v)){
1010 if(sl_unlikely(isgensym(v)))1010 if(sl_unlikely(isgensym(v)))
@@ -1031,7 +1031,7 @@ BUILTIN("fn", fn) · 20 unmodified lines
1031 bthrow(error(sl_errarg, "no code"));1031 bthrow(error(sl_errarg, "no code"));
1032 if(sl_unlikely(!maxstackset))1032 if(sl_unlikely(!maxstackset))
1033 bthrow(error(sl_errarg, "no max stack"));1033 bthrow(error(sl_errarg, "no max stack"));
1034 if(!raw){1034 if(sl_likely(!raw)){
1035 // read syntax, shifted 48 for compact text representation1035 // read syntax, shifted 48 for compact text representation
1036 for(usize j = 0; j < sz; j++)1036 for(usize j = 0; j < sz; j++)
1037 data[j] -= 48;1037 data[j] -= 48;
@@ -1280,7 +1280,8 @@ map_seq(sl_v rt, sl_v *args, int nargs) · 242 unmodified lines
1280 bthrow(type_error(nil, "sequence", v));1280 bthrow(type_error(nil, "sequence", v));
1281 POPN(pargs+1);1281 POPN(pargs+1);
1282 switch(rtype){1282 switch(rtype){
1283 default:1283 case RT_NIL:
1284 sl.stack[k+1] = sl_nil;
1284 break;1285 break;
1285 case RT_VEC:1286 case RT_VEC:
1286 sl.stack[k+1] = alloc_vec(n, 0);1287 sl.stack[k+1] = alloc_vec(n, 0);
@@ -1303,8 +1304,7 @@ map_seq(sl_v rt, sl_v *args, int nargs) · 16 unmodified lines
1303 sl.stack[k+1] = applyn(2*n);1304 sl.stack[k+1] = applyn(2*n);
1304 POPN(2*n);1305 POPN(2*n);
1305 break;1306 break;
1306 case RT_NIL:1307 default:
1307 sl.stack[k+1] = sl_nil;
1308 break;1308 break;
1309 }1309 }
1310 sl_v res = sl.stack[k+1];1310 sl_v res = sl.stack[k+1];
@@ -1314,15 +1314,6 @@ map_seq(sl_v rt, sl_v *args, int nargs) · 3 unmodified lines
1314 sl_v c, v = applyn(pargs);1314 sl_v c, v = applyn(pargs);
1315 POPN(pargs+1);1315 POPN(pargs+1);
1316 switch(rtype){1316 switch(rtype){
1317 default:
1318 PUSH(v);
1319 break;
1320 case RT_NIL:
1321 break;
1322 case RT_TBL:
1323 PUSH(car(v));
1324 PUSH(cdr(v));
1325 break;
1326 case RT_LIST:1317 case RT_LIST:
1327 sl_gc_handle(&v);1318 sl_gc_handle(&v);
1328 c = alloc_cons();1319 c = alloc_cons();
@@ -1335,6 +1326,15 @@ map_seq(sl_v rt, sl_v *args, int nargs) · 6 unmodified lines
1335 cdr_(sl.stack[k+0]) = c;1326 cdr_(sl.stack[k+0]) = c;
1336 sl.stack[k+0] = c;1327 sl.stack[k+0] = c;
1337 break;1328 break;
1329 case RT_NIL:
1330 break;
1331 case RT_TBL:
1332 PUSH(car(v));
1333 PUSH(cdr(v));
1334 break;
1335 default:
1336 PUSH(v);
1337 break;
1338 }1338 }
1339 }1339 }
1340}1340}
@@ -1575,7 +1575,7 @@ sl_load_system_image(sl_v sys_image_io) · 234 unmodified lines
1575 sl_v s = car_(e);1575 sl_v s = car_(e);
1576 sl_sym *sym = tosym(s);1576 sl_sym *sym = tosym(s);
1577 e = cdr_(e);1577 e = cdr_(e);
1578 if(sym->binding != sl_unbound)1578 if(sl_unlikely(sym->binding != sl_unbound))
1579 ios_printf(ios_stderr, "%s redefined on boot\n", sym->name);1579 ios_printf(ios_stderr, "%s redefined on boot\n", sym->name);
1580 sym->binding = car_(e);1580 sym->binding = car_(e);
1581 if(isfn(sym->binding) && !isbuiltin(sym->binding) && fn_name(sym->binding))1581 if(isfn(sym->binding) && !isbuiltin(sym->binding) && fn_name(sym->binding))

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t