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.

add empty function prototype and inline functions for jsval_t

+29 -21
+1 -1
meson.build
··· 96 96 build_date = run_command('date', '+%Y-%m-%d', check: true).stdout().strip() 97 97 98 98 version_conf = configuration_data() 99 - version_conf.set('ANT_VERSION', '0.3.2.31') 99 + version_conf.set('ANT_VERSION', '0.3.2.32') 100 100 version_conf.set('ANT_GIT_HASH', git_hash) 101 101 version_conf.set('ANT_BUILD_DATE', build_date) 102 102
+28 -20
src/ant.c
··· 11842 11842 return func; 11843 11843 } 11844 11844 11845 + static jsval_t builtin_function_empty(struct js *js, jsval_t *args, int nargs) { 11846 + (void)js; (void)args; (void)nargs; 11847 + return js_mkundef(); 11848 + } 11849 + 11845 11850 static jsval_t builtin_function_call(struct js *js, jsval_t *args, int nargs) { 11846 11851 jsval_t func = js->this_val; 11847 11852 if (vtype(func) != T_FUNC && vtype(func) != T_CFUNC) { ··· 20502 20507 setprop(js, object_proto, js_mkstr(js, STR_PROTO, STR_PROTO_LEN), js_mkundef()); 20503 20508 js_set_accessor_desc(js, object_proto, STR_PROTO, STR_PROTO_LEN, proto_getter, proto_setter, JS_DESC_C); 20504 20509 20505 - jsval_t function_proto = js_mkobj(js); 20506 - set_proto(js, function_proto, object_proto); 20507 - setprop(js, function_proto, js_mkstr(js, "call", 4), js_mkfun(builtin_function_call)); 20508 - setprop(js, function_proto, js_mkstr(js, "apply", 5), js_mkfun(builtin_function_apply)); 20509 - setprop(js, function_proto, js_mkstr(js, "bind", 4), js_mkfun(builtin_function_bind)); 20510 + jsval_t function_proto_obj = js_mkobj(js); 20511 + set_proto(js, function_proto_obj, object_proto); 20512 + set_slot(js, function_proto_obj, SLOT_CFUNC, js_mkfun(builtin_function_empty)); 20513 + setprop(js, function_proto_obj, js_mkstr(js, "call", 4), js_mkfun(builtin_function_call)); 20514 + setprop(js, function_proto_obj, js_mkstr(js, "apply", 5), js_mkfun(builtin_function_apply)); 20515 + setprop(js, function_proto_obj, js_mkstr(js, "bind", 4), js_mkfun(builtin_function_bind)); 20516 + jsval_t function_proto = mkval(T_FUNC, vdata(function_proto_obj)); 20510 20517 20511 20518 jsval_t array_proto = js_mkobj(js); 20512 20519 set_proto(js, array_proto, object_proto); ··· 21033 21040 } 21034 21041 } 21035 21042 21036 - double js_getnum(jsval_t value) { return tod(value); } 21037 - int js_getbool(jsval_t value) { return vdata(value) & 1 ? 1 : 0; } 21043 + inline double js_getnum(jsval_t value) { return tod(value); } 21044 + inline int js_getbool(jsval_t value) { return vdata(value) & 1 ? 1 : 0; } 21038 21045 21039 - void js_setmaxcss(struct js *js, size_t max) { js->maxcss = (jsoff_t) max; } 21040 - void js_set_filename(struct js *js, const char *filename) { js->filename = filename; } 21046 + inline void js_setmaxcss(struct js *js, size_t max) { js->maxcss = (jsoff_t) max; } 21047 + inline void js_set_filename(struct js *js, const char *filename) { js->filename = filename; } 21048 + 21049 + inline jsval_t js_mktrue(void) { return mkval(T_BOOL, 1); } 21050 + inline jsval_t js_mkfalse(void) { return mkval(T_BOOL, 0); } 21051 + inline jsval_t js_mkundef(void) { return mkval(T_UNDEF, 0); } 21052 + inline jsval_t js_mknull(void) { return mkval(T_NULL, 0); } 21053 + inline jsval_t js_mknum(double value) { return tov(value); } 21054 + inline jsval_t js_mkobj(struct js *js) { return mkobj(js, 0); } 21055 + inline jsval_t js_glob(struct js *js) { (void) js; return mkval(T_OBJ, 0); } 21056 + inline jsval_t js_mkfun(jsval_t (*fn)(struct js *, jsval_t *, int)) { return mkval(T_CFUNC, (size_t) (void *) fn); } 21041 21057 21042 - jsval_t js_mktrue(void) { return mkval(T_BOOL, 1); } 21043 - jsval_t js_mkfalse(void) { return mkval(T_BOOL, 0); } 21044 - jsval_t js_mkundef(void) { return mkval(T_UNDEF, 0); } 21045 - jsval_t js_mknull(void) { return mkval(T_NULL, 0); } 21046 - jsval_t js_mknum(double value) { return tov(value); } 21047 - jsval_t js_mkobj(struct js *js) { return mkobj(js, 0); } 21048 - jsval_t js_glob(struct js *js) { (void) js; return mkval(T_OBJ, 0); } 21049 - jsval_t js_mkfun(jsval_t (*fn)(struct js *, jsval_t *, int)) { return mkval(T_CFUNC, (size_t) (void *) fn); } 21050 - jsval_t js_getthis(struct js *js) { return js->this_val; } 21051 - void js_setthis(struct js *js, jsval_t val) { js->this_val = val; } 21052 - jsval_t js_getcurrentfunc(struct js *js) { return js->current_func; } 21058 + inline jsval_t js_getthis(struct js *js) { return js->this_val; } 21059 + inline void js_setthis(struct js *js, jsval_t val) { js->this_val = val; } 21060 + inline jsval_t js_getcurrentfunc(struct js *js) { return js->current_func; } 21053 21061 21054 21062 void js_set(struct js *js, jsval_t obj, const char *key, jsval_t val) { 21055 21063 size_t key_len = strlen(key);