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.

lower initial to 16kb

+14 -8
+1 -1
meson.build
··· 85 85 build_date = run_command('date', '+%Y-%m-%d', check: true).stdout().strip() 86 86 87 87 version_conf = configuration_data() 88 - version_conf.set('ANT_VERSION', '0.2.3.19') 88 + version_conf.set('ANT_VERSION', '0.2.3.20') 89 89 version_conf.set('ANT_GIT_HASH', git_hash) 90 90 version_conf.set('ANT_BUILD_DATE', build_date) 91 91
+12 -6
src/ant.c
··· 254 254 255 255 static promise_data_entry_t *get_promise_data(uint32_t promise_id, bool create); 256 256 static uint32_t get_promise_id(struct js *js, jsval_t p); 257 + static bool js_try_grow_memory(struct js *js, size_t needed); 257 258 258 259 typedef struct map_entry { 259 260 char *key; ··· 2275 2276 } 2276 2277 2277 2278 const char *js_str(struct js *js, jsval_t value) { 2279 + if (is_err(value)) return js->errmsg; 2280 + 2281 + size_t min_needed = sizeof(jsoff_t) + 256; 2282 + if (js->brk + min_needed > js->size) { 2283 + if (!js_try_grow_memory(js, min_needed)) return ""; 2284 + } 2285 + 2278 2286 char *buf = (char *) &js->mem[js->brk + sizeof(jsoff_t)]; 2279 2287 size_t len, available = js->size - js->brk - sizeof(jsoff_t); 2280 - 2281 - if (is_err(value)) return js->errmsg; 2282 - if (js->brk + sizeof(jsoff_t) >= js->size) return ""; 2283 2288 2284 2289 multiref_count = 0; 2285 2290 multiref_next_id = 0; ··· 6151 6156 } 6152 6157 if (n > part_start || (n == part_start && (n >= template_len - 1 || in[n] != '$'))) { 6153 6158 size_t part_len = n - part_start; 6159 + size_t needed = sizeof(jsoff_t) + part_len; 6160 + if (js->brk + needed > js->size) { 6161 + if (!js_try_grow_memory(js, needed)) return js_mkerr(js, "oom"); 6162 + } 6154 6163 uint8_t *out = &js->mem[js->brk + sizeof(jsoff_t)]; 6155 6164 size_t out_len = 0; 6156 - 6157 - if (js->brk + sizeof(jsoff_t) + part_len > js->size) 6158 - return js_mkerr(js, "oom"); 6159 6165 6160 6166 for (size_t i = part_start; i < n; i++) { 6161 6167 if (in[i] == '\\' && i + 1 < n) {
+1 -1
src/main.c
··· 174 174 const char *module_file = repl_mode ? NULL : (file->count > 0 ? file->filename[0] : NULL); 175 175 dump = debug->count; 176 176 177 - size_t initial_size = 4 * 1024 * 1024; 177 + size_t initial_size = 16 * 1024; 178 178 size_t max_size = 512 * 1024 * 1024; 179 179 180 180 if (initial_mem->count > 0) initial_size = (size_t)initial_mem->ival[0] * 1024 * 1024;