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.

small stack changes

+17 -5
+1 -1
meson.build
··· 79 79 build_date = run_command('date', '+%Y-%m-%d', check: true).stdout().strip() 80 80 81 81 version_conf = configuration_data() 82 - version_conf.set('ANT_VERSION', '0.2.2.23') 82 + version_conf.set('ANT_VERSION', '0.2.2.24') 83 83 version_conf.set('ANT_GIT_HASH', git_hash) 84 84 version_conf.set('ANT_BUILD_DATE', build_date) 85 85
+16 -4
src/ant.c
··· 4978 4978 int argc = parse_call_args(js, &err); 4979 4979 if (argc < 0) { js->size = saved_size; return err; } 4980 4980 4981 + jsval_t stack_args[MAX_FUNC_PARAMS]; 4982 + jsval_t *heap_args = (jsval_t *) &js->mem[js->size]; 4983 + for (int i = 0; i < argc && i < MAX_FUNC_PARAMS; i++) { 4984 + stack_args[i] = heap_args[i]; 4985 + } 4986 + js->size = saved_size; 4987 + 4981 4988 jsval_t saved_this = js->this_val; 4982 4989 js->this_val = peek_this(); 4983 - res = fn(js, (jsval_t *) &js->mem[js->size], argc); 4990 + res = fn(js, stack_args, argc); 4984 4991 js->this_val = saved_this; 4985 4992 setlwm(js); 4986 4993 4987 - js->size = saved_size; 4988 4994 return res; 4989 4995 } 4990 4996 ··· 5715 5721 int argc = parse_call_args(js, &err); 5716 5722 if (argc < 0) { js->size = saved_size; return err; } 5717 5723 5718 - res = ffi_call_by_index(js, func_index, (jsval_t *) &js->mem[js->size], argc); 5724 + jsval_t stack_args[MAX_FUNC_PARAMS]; 5725 + jsval_t *heap_args = (jsval_t *) &js->mem[js->size]; 5726 + for (int i = 0; i < argc && i < MAX_FUNC_PARAMS; i++) { 5727 + stack_args[i] = heap_args[i]; 5728 + } 5729 + js->size = saved_size; 5730 + 5731 + res = ffi_call_by_index(js, func_index, stack_args, argc); 5719 5732 setlwm(js); 5720 5733 5721 - js->size = saved_size; 5722 5734 return res; 5723 5735 } 5724 5736