MIRROR: javascript for ๐Ÿœ's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

improve gc startup supression

+7 -5
+1
src/ant.c
··· 21430 21430 js->errmsg_size = 4096; 21431 21431 js->errmsg = (char *)malloc(js->errmsg_size); 21432 21432 if (js->errmsg) js->errmsg[0] = '\0'; 21433 + js->gc_suppress = true; 21433 21434 21434 21435 #ifdef _WIN32 21435 21436 js->stack_limit = 512 * 1024;
+5 -5
src/gc.c
··· 514 514 if (now != (time_t)-1 && gc_last_run_time != 0) { 515 515 double elapsed = difftime(now, gc_last_run_time); 516 516 double cooldown; 517 - if (js->brk > 128 * 1024 * 1024) cooldown = 5.0; 518 - else if (js->brk > 64 * 1024 * 1024) cooldown = 10.0; 519 - else if (js->brk > 16 * 1024 * 1024) cooldown = 15.0; 520 - else cooldown = 30.0; 521 - if (elapsed >= 0.0 && elapsed < cooldown) return 0; 517 + if (js->brk > 128 * 1024 * 1024) cooldown = 2.0; 518 + else if (js->brk > 64 * 1024 * 1024) cooldown = 4.0; 519 + else if (js->brk > 16 * 1024 * 1024) cooldown = 6.0; 520 + else cooldown = 8.0; 521 + if (elapsed >= 0.0 && elapsed < cooldown && js->gc_alloc_since < js->brk) return 0; 522 522 } 523 523 524 524 mco_coro *running = mco_running();
+1
src/reactor.c
··· 72 72 73 73 void js_run_event_loop(ant_t *js) { 74 74 work_flags_t work; 75 + js->gc_suppress = false; 75 76 76 77 while ((work = get_pending_work()) & WORK_PENDING) { 77 78 js_poll_events(js);