36#if defined(__GNUC__) || defined(__clang__)
37#define js_likely(x) __builtin_expect(!!(x), 1)
38#define js_unlikely(x) __builtin_expect(!!(x), 0)
39#define js_force_inline inline __attribute__((always_inline))
40#define __js_printf_like(f, a) __attribute__((format(printf, f, a)))
42#define js_likely(x) (x)
43#define js_unlikely(x) (x)
44#define js_force_inline inline
45#define __js_printf_like(a, b)
56#if INTPTR_MAX >= INT64_MAX
58#define JS_PTR64_DEF(a) a
60#define JS_PTR64_DEF(a)
67#if defined(__SIZEOF_INT128__) && (INTPTR_MAX >= INT64_MAX)
68#define JS_LIMB_BITS 64
70#define JS_LIMB_BITS 32
73#define JS_SHORT_BIG_INT_BITS JS_LIMB_BITS
103#define JS_FLOAT64_NAN NAN
105#ifdef CONFIG_CHECK_JSVALUE
111typedef struct __JSValue *
JSValue;
114#define JS_VALUE_GET_TAG(v) (int)((uintptr_t)(v) & 0xf)
116#define JS_VALUE_GET_NORM_TAG(v) JS_VALUE_GET_TAG(v)
117#define JS_VALUE_GET_INT(v) (int)((intptr_t)(v) >> 4)
118#define JS_VALUE_GET_BOOL(v) JS_VALUE_GET_INT(v)
119#define JS_VALUE_GET_FLOAT64(v) (double)JS_VALUE_GET_INT(v)
120#define JS_VALUE_GET_SHORT_BIG_INT(v) JS_VALUE_GET_INT(v)
121#define JS_VALUE_GET_PTR(v) (void *)((intptr_t)(v) & ~0xf)
123#define JS_MKVAL(tag, val) (JSValue)(intptr_t)(((val) << 4) | (tag))
124#define JS_MKPTR(tag, p) (JSValue)((intptr_t)(p) | (tag))
126#define JS_TAG_IS_FLOAT64(tag) ((unsigned)(tag) == JS_TAG_FLOAT64)
128#define JS_NAN JS_MKVAL(JS_TAG_FLOAT64, 1)
145#elif defined(JS_NAN_BOXING)
149#define JSValueConst JSValue
151#define JS_VALUE_GET_TAG(v) (int)((v) >> 32)
152#define JS_VALUE_GET_INT(v) (int)(v)
153#define JS_VALUE_GET_BOOL(v) (int)(v)
154#define JS_VALUE_GET_SHORT_BIG_INT(v) (int)(v)
155#define JS_VALUE_GET_PTR(v) (void *)(intptr_t)(v)
157#define JS_MKVAL(tag, val) (((uint64_t)(tag) << 32) | (uint32_t)(val))
158#define JS_MKPTR(tag, ptr) (((uint64_t)(tag) << 32) | (uintptr_t)(ptr))
160#define JS_FLOAT64_TAG_ADDEND (0x7ff80000 - JS_TAG_FIRST + 1)
169 u.v += (
uint64_t)JS_FLOAT64_TAG_ADDEND << 32;
173#define JS_NAN (0x7ff8000000000000 - ((uint64_t)JS_FLOAT64_TAG_ADDEND << 32))
184 if (
js_unlikely((u.u64 & 0x7fffffffffffffff) > 0x7ff0000000000000))
187 v = u.u64 - ((
uint64_t)JS_FLOAT64_TAG_ADDEND << 32);
191#define JS_TAG_IS_FLOAT64(tag) ((unsigned)((tag) - JS_TAG_FIRST) >= (JS_TAG_FLOAT64 - JS_TAG_FIRST))
208 return tag == (
JS_NAN >> 32);
222#if JS_SHORT_BIG_INT_BITS == 32
234#define JSValueConst JSValue
236#define JS_VALUE_GET_TAG(v) ((int32_t)(v).tag)
238#define JS_VALUE_GET_NORM_TAG(v) JS_VALUE_GET_TAG(v)
239#define JS_VALUE_GET_INT(v) ((int)(v).u.uint64)
240#define JS_VALUE_GET_BOOL(v) ((int)(v).u.uint64)
241#define JS_VALUE_GET_FLOAT64(v) ((v).u.float64)
242#define JS_VALUE_GET_SHORT_BIG_INT(v) ((v).u.short_big_int)
243#define JS_VALUE_GET_PTR(v) ((v).u.ptr)
247#define JS_MKVAL(tag, val) (JSValue){ (JSValueUnion){ .uint64 = (uint32_t)(val) }, tag }
248#define JS_MKPTR(tag, p) (JSValue){ (JSValueUnion){ .ptr = p }, tag }
250#define JS_TAG_IS_FLOAT64(tag) ((unsigned)(tag) == JS_TAG_FLOAT64)
252#define JS_NAN (JSValue){ .u.float64 = JS_FLOAT64_NAN, JS_TAG_FLOAT64 }
271 return (u.u64 & 0x7fffffffffffffff) > 0x7ff0000000000000;
284#define JS_VALUE_IS_BOTH_INT(v1, v2) ((JS_VALUE_GET_TAG(v1) | JS_VALUE_GET_TAG(v2)) == 0)
285#define JS_VALUE_IS_BOTH_FLOAT(v1, v2) (JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(v1)) && JS_TAG_IS_FLOAT64(JS_VALUE_GET_TAG(v2)))
287#define JS_VALUE_HAS_REF_COUNT(v) ((unsigned)JS_VALUE_GET_TAG(v) >= (unsigned)JS_TAG_FIRST)
290#define JS_NULL JS_MKVAL(JS_TAG_NULL, 0)
291#define JS_UNDEFINED JS_MKVAL(JS_TAG_UNDEFINED, 0)
292#define JS_FALSE JS_MKVAL(JS_TAG_BOOL, 0)
293#define JS_TRUE JS_MKVAL(JS_TAG_BOOL, 1)
294#define JS_EXCEPTION JS_MKVAL(JS_TAG_EXCEPTION, 0)
295#define JS_UNINITIALIZED JS_MKVAL(JS_TAG_UNINITIALIZED, 0)
298#define JS_PROP_CONFIGURABLE (1 << 0)
299#define JS_PROP_WRITABLE (1 << 1)
300#define JS_PROP_ENUMERABLE (1 << 2)
301#define JS_PROP_C_W_E (JS_PROP_CONFIGURABLE | JS_PROP_WRITABLE | JS_PROP_ENUMERABLE)
302#define JS_PROP_LENGTH (1 << 3)
303#define JS_PROP_TMASK (3 << 4)
304#define JS_PROP_NORMAL (0 << 4)
305#define JS_PROP_GETSET (1 << 4)
306#define JS_PROP_VARREF (2 << 4)
307#define JS_PROP_AUTOINIT (3 << 4)
310#define JS_PROP_HAS_SHIFT 8
311#define JS_PROP_HAS_CONFIGURABLE (1 << 8)
312#define JS_PROP_HAS_WRITABLE (1 << 9)
313#define JS_PROP_HAS_ENUMERABLE (1 << 10)
314#define JS_PROP_HAS_GET (1 << 11)
315#define JS_PROP_HAS_SET (1 << 12)
316#define JS_PROP_HAS_VALUE (1 << 13)
320#define JS_PROP_THROW (1 << 14)
323#define JS_PROP_THROW_STRICT (1 << 15)
325#define JS_PROP_NO_EXOTIC (1 << 16)
327#ifndef JS_DEFAULT_STACK_SIZE
328#define JS_DEFAULT_STACK_SIZE (1024 * 1024)
332#define JS_EVAL_TYPE_GLOBAL (0 << 0)
333#define JS_EVAL_TYPE_MODULE (1 << 0)
334#define JS_EVAL_TYPE_DIRECT (2 << 0)
335#define JS_EVAL_TYPE_INDIRECT (3 << 0)
336#define JS_EVAL_TYPE_MASK (3 << 0)
338#define JS_EVAL_FLAG_STRICT (1 << 3)
342#define JS_EVAL_FLAG_COMPILE_ONLY (1 << 5)
344#define JS_EVAL_FLAG_BACKTRACE_BARRIER (1 << 6)
347#define JS_EVAL_FLAG_ASYNC (1 << 7)
451#define JS_ATOM_NULL 0
526#define JS_CALL_FLAG_CONSTRUCTOR (1 << 0)
546#define JS_INVALID_CLASS_ID 0
574 v = JS_NewInt32(ctx, val);
576 v = __JS_NewFloat64(ctx, val);
584 if (val <= 0x7fffffff) {
585 v = JS_NewInt32(ctx, val);
587 v = __JS_NewFloat64(ctx, val);
602 if (
d >= INT32_MIN &&
d <= INT32_MAX) {
611 return __JS_NewFloat64(ctx,
d);
802 const char *prop,
JSValue val);
810#define JS_GPN_STRING_MASK (1 << 0)
811#define JS_GPN_SYMBOL_MASK (1 << 1)
812#define JS_GPN_PRIVATE_MASK (1 << 2)
814#define JS_GPN_ENUM_ONLY (1 << 4)
816#define JS_GPN_SET_ENUM (1 << 5)
837 const char *filename,
int eval_flags);
840 const char *
input,
size_t input_len,
841 const char *filename,
int eval_flags);
863 const char *filename);
864#define JS_PARSE_JSON_EXT (1 << 0)
866 const char *filename,
int flags);
896 size_t *pbyte_offset,
897 size_t *pbyte_length,
898 size_t *pbytes_per_element);
900 void *(*sab_alloc)(
void *opaque,
size_t size);
901 void (*sab_free)(
void *opaque,
void *ptr);
902 void (*sab_dup)(
void *opaque,
void *ptr);
921 JS_BOOL is_handled,
void *opaque);
930#define JS_STRIP_SOURCE (1 << 0)
931#define JS_STRIP_DEBUG (1 << 1)
943 const char *module_base_name,
980#define JS_WRITE_OBJ_BYTECODE (1 << 0)
981#define JS_WRITE_OBJ_BSWAP (1 << 1)
982#define JS_WRITE_OBJ_SAB (1 << 2)
983#define JS_WRITE_OBJ_REFERENCE (1 << 3)
991#define JS_READ_OBJ_BYTECODE (1 << 0)
992#define JS_READ_OBJ_ROM_DATA (1 << 1)
993#define JS_READ_OBJ_SAB (1 << 2)
994#define JS_READ_OBJ_REFERENCE (1 << 3)
1008 const char *filename);
1047 int length,
int magic,
int data_len,
1099#define JS_DEF_CFUNC 0
1100#define JS_DEF_CGETSET 1
1101#define JS_DEF_CGETSET_MAGIC 2
1102#define JS_DEF_PROP_STRING 3
1103#define JS_DEF_PROP_INT32 4
1104#define JS_DEF_PROP_INT64 5
1105#define JS_DEF_PROP_DOUBLE 6
1106#define JS_DEF_PROP_UNDEFINED 7
1107#define JS_DEF_OBJECT 8
1108#define JS_DEF_ALIAS 9
1109#define JS_DEF_PROP_ATOM 10
1110#define JS_DEF_PROP_BOOL 11
1113#define JS_CFUNC_DEF(name, length, func1) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_CFUNC, 0, .u = { .func = { length, JS_CFUNC_generic, { .generic = func1 } } } }
1114#define JS_CFUNC_MAGIC_DEF(name, length, func1, magic) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_CFUNC, magic, .u = { .func = { length, JS_CFUNC_generic_magic, { .generic_magic = func1 } } } }
1115#define JS_CFUNC_SPECIAL_DEF(name, length, cproto, func1) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_CFUNC, 0, .u = { .func = { length, JS_CFUNC_ ## cproto, { .cproto = func1 } } } }
1116#define JS_ITERATOR_NEXT_DEF(name, length, func1, magic) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_CFUNC, magic, .u = { .func = { length, JS_CFUNC_iterator_next, { .iterator_next = func1 } } } }
1117#define JS_CGETSET_DEF(name, fgetter, fsetter) { name, JS_PROP_CONFIGURABLE, JS_DEF_CGETSET, 0, .u = { .getset = { .get = { .getter = fgetter }, .set = { .setter = fsetter } } } }
1118#define JS_CGETSET_MAGIC_DEF(name, fgetter, fsetter, magic) { name, JS_PROP_CONFIGURABLE, JS_DEF_CGETSET_MAGIC, magic, .u = { .getset = { .get = { .getter_magic = fgetter }, .set = { .setter_magic = fsetter } } } }
1119#define JS_PROP_STRING_DEF(name, cstr, prop_flags) { name, prop_flags, JS_DEF_PROP_STRING, 0, .u = { .str = cstr } }
1120#define JS_PROP_INT32_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_INT32, 0, .u = { .i32 = val } }
1121#define JS_PROP_INT64_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_INT64, 0, .u = { .i64 = val } }
1122#define JS_PROP_DOUBLE_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_DOUBLE, 0, .u = { .f64 = val } }
1123#define JS_PROP_UNDEFINED_DEF(name, prop_flags) { name, prop_flags, JS_DEF_PROP_UNDEFINED, 0, .u = { .i32 = 0 } }
1124#define JS_PROP_ATOM_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_ATOM, 0, .u = { .i32 = val } }
1125#define JS_PROP_BOOL_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_BOOL, 0, .u = { .i32 = val } }
1126#define JS_OBJECT_DEF(name, tab, len, prop_flags) { name, prop_flags, JS_DEF_OBJECT, 0, .u = { .prop_list = { tab, len } } }
1127#define JS_ALIAS_DEF(name, from) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_ALIAS, 0, .u = { .alias = { from, -1 } } }
1128#define JS_ALIAS_BASE_DEF(name, from, base) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_ALIAS, 0, .u = { .alias = { from, base } } }
1174#undef js_force_inline
uint64_t size_t
Definition stdint.h:104
uint8_t flags
Definition virtio.h:0
XETime t
Definition main.cpp:53
int int32_t
Definition acefiex.h:160
unsigned int uint32_t
Definition acefiex.h:163
COMPILER_DEPENDENT_INT64 int64_t
Definition acefiex.h:164
short int int16_t
Definition acefiex.h:159
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
#define NULL
Definition actypes.h:561
signed int i32
Definition basetype.h:34
flag
Definition bytecode.h:29
size_t size
Definition drm_bridge.h:1299
struct drm_crtc struct drm_plane struct drm_plane const struct drm_crtc_funcs const char * name
Definition drm_crtc.h:1242
struct i915_user_extension base
Definition i915_drm.h:0
size_t len
Definition initial.c:23
void * data
Definition kthread.h:30
#define d
Definition libunicode.c:1833
uint64_t u64
Definition kernel.h:17
#define free_func
Definition miniz.h:482
AuVFSNode * alias
Definition netproxy.c:43
JSValue JS_CallConstructor2(JSContext *ctx, JSValueConst func_obj, JSValueConst new_target, int argc, JSValueConst *argv)
Definition quickjs.c:20827
const char * JS_ToCStringLen2(JSContext *ctx, size_t *plen, JSValueConst val1, JS_BOOL cesu8)
void JS_SetStripInfo(JSRuntime *rt, int flags)
Definition quickjs.c:2311
int JS_SetModuleExportList(JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry *tab, int len)
Definition quickjs.c:39710
JSValue JS_GetPropertyStr(JSContext *ctx, JSValueConst this_obj, const char *prop)
Definition quickjs.c:9253
void JS_SetModuleLoaderFunc2(JSRuntime *rt, JSModuleNormalizeFunc *module_normalize, JSModuleLoaderFunc2 *module_loader, JSModuleCheckSupportedImportAttributes *module_check_attrs, void *opaque)
Definition quickjs.c:29896
JSValue JS_NewError(JSContext *ctx)
Definition quickjs.c:7722
JS_BOOL JS_IsLiveObject(JSRuntime *rt, JSValueConst obj)
Definition quickjs.c:6932
char * js_strndup(JSContext *ctx, const char *s, size_t n)
Definition quickjs.c:1920
#define JS_TAG_IS_FLOAT64(tag)
Definition quickjs.h:250
#define JS_VALUE_HAS_REF_COUNT(v)
Definition quickjs.h:287
int JS_DefinePropertyValue(JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValue val, int flags)
Definition quickjs.c:10768
int JS_ExecutePendingJob(JSRuntime *rt, JSContext **pctx)
Definition quickjs.c:2361
void JS_SetOpaque(JSValue obj, void *opaque)
Definition quickjs.c:11110
JSValue JS_NewTypedArray(JSContext *ctx, int argc, JSValueConst *argv, JSTypedArrayEnum array_type)
Definition quickjs.c:57353
JSModuleDef * JSModuleLoaderFunc(JSContext *ctx, const char *module_name, void *opaque)
Definition quickjs.h:945
void * js_realloc2(JSContext *ctx, void *ptr, size_t size, size_t *pslack)
Definition quickjs.c:1899
int JS_PreventExtensions(JSContext *ctx, JSValueConst obj)
Definition quickjs.c:9012
int JS_DefinePropertyValueUint32(JSContext *ctx, JSValueConst this_obj, uint32_t idx, JSValue val, int flags)
Definition quickjs.c:10794
JSValue JS_ReadObject(JSContext *ctx, const uint8_t *buf, size_t buf_len, int flags)
Definition quickjs.c:39449
JSValue js_string_codePointRange(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv)
Definition quickjs.c:45270
int JS_GetOwnPropertyNames(JSContext *ctx, JSPropertyEnum **ptab, uint32_t *plen, JSValueConst obj, int flags)
Definition quickjs.c:8892
const char * JS_AtomToCStringLen(JSContext *ctx, size_t *plen, JSAtom atom)
Definition quickjs.c:3842
int JS_IsExtensible(JSContext *ctx, JSValueConst obj)
Definition quickjs.c:8995
JSCFunctionEnum
Definition quickjs.h:1009
@ JS_CFUNC_getter_magic
Definition quickjs.h:1020
@ JS_CFUNC_f_f
Definition quickjs.h:1016
@ JS_CFUNC_f_f_f
Definition quickjs.h:1017
@ JS_CFUNC_setter_magic
Definition quickjs.h:1021
@ JS_CFUNC_iterator_next
Definition quickjs.h:1022
@ JS_CFUNC_setter
Definition quickjs.h:1019
@ JS_CFUNC_getter
Definition quickjs.h:1018
@ JS_CFUNC_constructor_magic
Definition quickjs.h:1013
@ JS_CFUNC_generic
Definition quickjs.h:1010
@ JS_CFUNC_constructor_or_func_magic
Definition quickjs.h:1015
@ JS_CFUNC_generic_magic
Definition quickjs.h:1011
@ JS_CFUNC_constructor
Definition quickjs.h:1012
@ JS_CFUNC_constructor_or_func
Definition quickjs.h:1014
JSValue JS_Call(JSContext *ctx, JSValueConst func_obj, JSValueConst this_obj, int argc, JSValueConst *argv)
Definition quickjs.c:20687
int JS_IsArray(JSContext *ctx, JSValueConst val)
Definition quickjs.c:14645
JSValue JS_NewBigInt64(JSContext *ctx, int64_t v)
Definition quickjs.c:14667
JSValue JS_NewPromiseCapability(JSContext *ctx, JSValue *resolving_funcs)
Definition quickjs.c:53643
uint8_t * JS_GetArrayBuffer(JSContext *ctx, size_t *psize, JSValueConst obj)
Definition quickjs.c:56958
void JS_DumpMemoryUsage(FILE *fp, const JSMemoryUsage *s, JSRuntime *rt)
Definition quickjs.c:7313
JS_BOOL JS_IsConstructor(JSContext *ctx, JSValueConst val)
Definition quickjs.c:11076
JS_BOOL JS_SameValue(JSContext *ctx, JSValueConst op1, JSValueConst op2)
Definition quickjs.c:16001
JSValue JS_AtomToString(JSContext *ctx, JSAtom atom)
Definition quickjs.c:3716
JSValue JS_NewAtomString(JSContext *ctx, const char *str)
Definition quickjs.c:4534
JSValue JS_CallConstructor(JSContext *ctx, JSValueConst func_obj, int argc, JSValueConst *argv)
Definition quickjs.c:20836
void JS_MarkFunc(JSRuntime *rt, JSGCObjectHeader *gp)
Definition quickjs.h:383
int JS_DeleteProperty(JSContext *ctx, JSValueConst obj, JSAtom prop, int flags)
Definition quickjs.c:11009
JSValue JS_ParseJSON2(JSContext *ctx, const char *buf, size_t buf_len, const char *filename, int flags)
Definition quickjs.c:49558
void JS_SetInterruptHandler(JSRuntime *rt, JSInterruptHandler *cb, void *opaque)
Definition quickjs.c:2294
JSValue JS_PromiseResult(JSContext *ctx, JSValue promise)
Definition quickjs.c:53228
JSClassID JS_GetClassID(JSValue v)
Definition quickjs.c:3929
void JS_SetRuntimeOpaque(JSRuntime *rt, void *opaque)
Definition quickjs.c:2159
int JS_ResolveModule(JSContext *ctx, JSValueConst obj)
Definition quickjs.c:37336
#define JS_VALUE_GET_NORM_TAG(v)
Definition quickjs.h:238
uint8_t * JS_WriteObject2(JSContext *ctx, size_t *psize, JSValueConst obj, int flags, uint8_t ***psab_tab, size_t *psab_tab_len)
Definition quickjs.c:38282
uint32_t JSAtom
Definition quickjs.h:54
JSValue JS_JSONStringify(JSContext *ctx, JSValueConst obj, JSValueConst replacer, JSValueConst space0)
Definition quickjs.c:50113
JSValue const char JSValue const char JSValue const char JSValue const char JSValue const char JSValue JS_ThrowOutOfMemory(JSContext *ctx)
Definition quickjs.c:7867
int JS_AddIntrinsicWeakRef(JSContext *ctx)
Definition quickjs.c:61248
void * js_mallocz(JSContext *ctx, size_t size)
Definition quickjs.c:1870
JSValue JS_ToPropertyKey(JSContext *ctx, JSValueConst val)
Definition quickjs.c:13754
int JSInterruptHandler(JSRuntime *rt, void *opaque)
Definition quickjs.h:925
JSRuntime * JS_NewRuntime2(const JSMallocFunctions *mf, void *opaque)
Definition quickjs.c:2095
JSValue JSCFunctionData(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data)
Definition quickjs.h:351
#define JS_MKVAL(tag, val)
Definition quickjs.h:247
JSContext * JS_DupContext(JSContext *ctx)
Definition quickjs.c:2768
JSValue JS_GetClassProto(JSContext *ctx, JSClassID class_id)
Definition quickjs.c:2737
JSValue JSCFunction(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv)
Definition quickjs.h:349
int JS_EnqueueJob(JSContext *ctx, JSJobFunc *job_func, int argc, JSValueConst *argv)
Definition quickjs.c:2345
void * JS_GetRuntimeOpaque(JSRuntime *rt)
Definition quickjs.c:2154
JSValue JS_Throw(JSContext *ctx, JSValue obj)
Definition quickjs.c:7444
int JS_AddIntrinsicPromise(JSContext *ctx)
Definition quickjs.c:54498
JSAtom JS_GetScriptOrModuleName(JSContext *ctx, int n_stack_levels)
Definition quickjs.c:30826
JSValue JS_GetPropertyInternal(JSContext *ctx, JSValueConst obj, JSAtom prop, JSValueConst receiver, JS_BOOL throw_ref_error)
void * js_realloc(JSContext *ctx, void *ptr, size_t size)
Definition quickjs.c:1887
int JS_ToInt32(JSContext *ctx, int32_t *pres, JSValueConst val)
Definition quickjs.c:13460
JSValue JS_GetImportMeta(JSContext *ctx, JSModuleDef *m)
Definition quickjs.c:30866
uint32_t JSClassID
Definition quickjs.h:53
JSPromiseStateEnum JS_PromiseState(JSContext *ctx, JSValue promise)
Definition quickjs.c:53220
#define JS_PROP_THROW
Definition quickjs.h:320
int JS_AddIntrinsicProxy(JSContext *ctx)
Definition quickjs.c:51396
void * js_realloc_rt(JSRuntime *rt, void *ptr, size_t size)
Definition quickjs.c:1830
JSClassID JS_NewClassID(JSClassID *pclass_id)
Definition quickjs.c:3912
JSRuntime * JS_GetRuntime(JSContext *ctx)
Definition quickjs.c:2894
int JS_SetPropertyInt64(JSContext *ctx, JSValueConst this_obj, int64_t idx, JSValue val)
Definition quickjs.c:10168
JSAtom JS_NewAtomLen(JSContext *ctx, const char *str, size_t len)
Definition quickjs.c:3549
int JS_ToBool(JSContext *ctx, JSValueConst val)
Definition quickjs.c:11314
void JS_ComputeMemoryUsage(JSRuntime *rt, JSMemoryUsage *s)
Definition quickjs.c:7017
JSAtom JS_GetModuleName(JSContext *ctx, JSModuleDef *m)
Definition quickjs.c:30861
void JS_FreeAtomRT(JSRuntime *rt, JSAtom v)
Definition quickjs.c:3819
int JS_GetStripInfo(JSRuntime *rt)
Definition quickjs.c:2316
void JS_DetachArrayBuffer(JSContext *ctx, JSValueConst obj)
Definition quickjs.c:56926
JSValue JS_NewBigUint64(JSContext *ctx, uint64_t v)
Definition quickjs.c:14684
JSValue JS_GetTypedArrayBuffer(JSContext *ctx, JSValueConst obj, size_t *pbyte_offset, size_t *pbyte_length, size_t *pbytes_per_element)
Definition quickjs.c:57366
int JS_SetPropertyStr(JSContext *ctx, JSValueConst this_obj, const char *prop, JSValue val)
Definition quickjs.c:10189
uint8_t * JS_WriteObject(JSContext *ctx, size_t *psize, JSValueConst obj, int flags)
Definition quickjs.c:38326
JSValue JS_NewObjectClass(JSContext *ctx, int class_id)
Definition quickjs.c:5920
int JS_HasProperty(JSContext *ctx, JSValueConst this_obj, JSAtom prop)
Definition quickjs.c:9042
void JSPrintValueWrite(void *opaque, const char *buf, size_t len)
Definition quickjs.h:1163
JS_BOOL JS_SetConstructorBit(JSContext *ctx, JSValueConst func_obj, JS_BOOL val)
void js_free_rt(JSRuntime *rt, void *ptr)
Definition quickjs.c:1825
JSModuleDef * JS_NewCModule(JSContext *ctx, const char *name_str, JSModuleInitFunc *func)
Definition quickjs.c:29824
#define JS_BOOL
Definition quickjs.h:48
int JS_AddModuleExport(JSContext *ctx, JSModuleDef *m, const char *name_str)
Definition quickjs.c:29839
JSValue JS_NewArrayBuffer(JSContext *ctx, uint8_t *buf, size_t len, JSFreeArrayBufferDataFunc *free_func, void *opaque, JS_BOOL is_shared)
JSValue JS_NewStringLen(JSContext *ctx, const char *str1, size_t len1)
Definition quickjs.c:4446
JSValue JS_GetModuleNamespace(JSContext *ctx, JSModuleDef *m)
Definition quickjs.c:30484
void JS_SetClassProto(JSContext *ctx, JSClassID class_id, JSValue obj)
Definition quickjs.c:2730
JSAtom JS_NewAtomUInt32(JSContext *ctx, uint32_t n)
Definition quickjs.c:3571
JSValue JS_NewCFunction2(JSContext *ctx, JSCFunction *func, const char *name, int length, JSCFunctionEnum cproto, int magic)
Definition quickjs.c:6072
void JS_SetSharedArrayBufferFunctions(JSRuntime *rt, const JSSharedArrayBufferFunctions *sf)
Definition quickjs.c:2305
JSValue JS_ToString(JSContext *ctx, JSValueConst val)
Definition quickjs.c:13734
JSRuntime * JS_NewRuntime(void)
Definition quickjs.c:2274
int JS_AddIntrinsicStringNormalize(JSContext *ctx)
Definition quickjs.c:46778
int JS_AddIntrinsicDate(JSContext *ctx)
Definition quickjs.c:56017
void js_free(JSContext *ctx, void *ptr)
Definition quickjs.c:1881
int JS_DefinePropertyValueStr(JSContext *ctx, JSValueConst this_obj, const char *prop, JSValue val, int flags)
Definition quickjs.c:10808
void JS_SetUncatchableException(JSContext *ctx, JS_BOOL flag)
JSValue JS_GetException(JSContext *ctx)
Definition quickjs.c:7454
JSAtom JS_ValueToAtom(JSContext *ctx, JSValueConst val)
Definition quickjs.c:9092
void * JS_GetOpaque2(JSContext *ctx, JSValueConst obj, JSClassID class_id)
Definition quickjs.c:11131
JSValue JS_ParseJSON(JSContext *ctx, const char *buf, size_t buf_len, const char *filename)
Definition quickjs.c:49564
void JS_SetMaxStackSize(JSRuntime *rt, size_t stack_size)
Definition quickjs.c:2908
JSValue JS_NewObjectProto(JSContext *ctx, JSValueConst proto)
Definition quickjs.c:5925
JSPromiseStateEnum
Definition quickjs.h:908
@ JS_PROMISE_REJECTED
Definition quickjs.h:911
@ JS_PROMISE_PENDING
Definition quickjs.h:909
@ JS_PROMISE_FULFILLED
Definition quickjs.h:910
int JS_ToBigInt64(JSContext *ctx, int64_t *pres, JSValueConst val)
Definition quickjs.c:14804
int JS_ToFloat64(JSContext *ctx, double *pres, JSValueConst val)
Definition quickjs.c:13167
void JS_SetHostPromiseRejectionTracker(JSRuntime *rt, JSHostPromiseRejectionTracker *cb, void *opaque)
Definition quickjs.c:53290
void * js_malloc(JSContext *ctx, size_t size)
Definition quickjs.c:1858
JSValue JS_Eval(JSContext *ctx, const char *input, size_t input_len, const char *filename, int eval_flags)
Definition quickjs.c:37329
JSTypedArrayEnum
Definition quickjs.h:878
@ JS_TYPED_ARRAY_INT16
Definition quickjs.h:882
@ JS_TYPED_ARRAY_UINT32
Definition quickjs.h:885
@ JS_TYPED_ARRAY_UINT8C
Definition quickjs.h:879
@ JS_TYPED_ARRAY_FLOAT16
Definition quickjs.h:888
@ JS_TYPED_ARRAY_FLOAT64
Definition quickjs.h:890
@ JS_TYPED_ARRAY_UINT8
Definition quickjs.h:881
@ JS_TYPED_ARRAY_INT32
Definition quickjs.h:884
@ JS_TYPED_ARRAY_BIG_UINT64
Definition quickjs.h:887
@ JS_TYPED_ARRAY_FLOAT32
Definition quickjs.h:889
@ JS_TYPED_ARRAY_INT8
Definition quickjs.h:880
@ JS_TYPED_ARRAY_UINT16
Definition quickjs.h:883
@ JS_TYPED_ARRAY_BIG_INT64
Definition quickjs.h:886
void JS_PrintValueRT(JSRuntime *rt, JSPrintValueWrite *write_func, void *write_opaque, JSValueConst val, const JSPrintValueOptions *options)
Definition quickjs.c:14523
int JS_SetPropertyInternal(JSContext *ctx, JSValueConst obj, JSAtom prop, JSValue val, JSValueConst this_obj, int flags)
Definition quickjs.c:9752
#define __js_printf_like(a, b)
Definition quickjs.h:45
int JS_AddIntrinsicBaseObjects(JSContext *ctx)
Definition quickjs.c:56373
JSValue JS_EvalThis(JSContext *ctx, JSValueConst this_obj, const char *input, size_t input_len, const char *filename, int eval_flags)
Definition quickjs.c:37315
size_t js_malloc_usable_size_rt(JSRuntime *rt, const void *ptr)
Definition quickjs.c:1835
int JS_AddIntrinsicTypedArrays(JSContext *ctx)
Definition quickjs.c:60893
int JS_SetConstructor(JSContext *ctx, JSValueConst func_obj, JSValueConst proto)
Definition quickjs.c:39767
int JS_NewClass(JSRuntime *rt, JSClassID class_id, const JSClassDef *class_def)
Definition quickjs.c:3995
void __JS_FreeValue(JSContext *ctx, JSValue v)
Definition quickjs.c:6592
@ JS_TAG_FUNCTION_BYTECODE
Definition quickjs.h:83
@ JS_TAG_SHORT_BIG_INT
Definition quickjs.h:93
@ JS_TAG_BIG_INT
Definition quickjs.h:78
@ JS_TAG_EXCEPTION
Definition quickjs.h:92
@ JS_TAG_MODULE
Definition quickjs.h:82
@ JS_TAG_INT
Definition quickjs.h:86
@ JS_TAG_UNINITIALIZED
Definition quickjs.h:90
@ JS_TAG_CATCH_OFFSET
Definition quickjs.h:91
@ JS_TAG_NULL
Definition quickjs.h:88
@ JS_TAG_BOOL
Definition quickjs.h:87
@ JS_TAG_STRING_ROPE
Definition quickjs.h:81
@ JS_TAG_FLOAT64
Definition quickjs.h:94
@ JS_TAG_FIRST
Definition quickjs.h:77
@ JS_TAG_OBJECT
Definition quickjs.h:84
@ JS_TAG_UNDEFINED
Definition quickjs.h:89
@ JS_TAG_STRING
Definition quickjs.h:80
@ JS_TAG_SYMBOL
Definition quickjs.h:79
void JS_AddIntrinsicRegExpCompiler(JSContext *ctx)
Definition quickjs.c:49123
int JS_SetModulePrivateValue(JSContext *ctx, JSModuleDef *m, JSValue val)
Definition quickjs.c:29874
void JS_SetContextOpaque(JSContext *ctx, void *opaque)
Definition quickjs.c:2715
int JSModuleInitFunc(JSContext *ctx, JSModuleDef *m)
Definition quickjs.h:1134
int JS_AddIntrinsicMapSet(JSContext *ctx)
Definition quickjs.c:53149
JSAtom JS_NewAtom(JSContext *ctx, const char *str)
Definition quickjs.c:3566
void JS_SetGCThreshold(JSRuntime *rt, size_t gc_threshold)
Definition quickjs.c:2285
#define JS_NAN
Definition quickjs.h:252
void JS_FreeContext(JSContext *s)
Definition quickjs.c:2823
JS_BOOL JS_IsFunction(JSContext *ctx, JSValueConst val)
Definition quickjs.c:11048
char * JSModuleNormalizeFunc(JSContext *ctx, const char *module_base_name, const char *module_name, void *opaque)
Definition quickjs.h:942
int JS_IsRegisteredClass(JSRuntime *rt, JSClassID class_id)
Definition quickjs.c:3938
int JS_SetPropertyUint32(JSContext *ctx, JSValueConst this_obj, uint32_t idx, JSValue val)
Definition quickjs.c:10161
void * JS_GetContextOpaque(JSContext *ctx)
Definition quickjs.c:2710
void JS_MarkValue(JSRuntime *rt, JSValueConst val, JS_MarkFunc *mark_func)
Definition quickjs.c:6642
void __JS_FreeValueRT(JSRuntime *rt, JSValue v)
Definition quickjs.c:6521
JSValue JSClassCall(JSContext *ctx, JSValueConst func_obj, JSValueConst this_val, int argc, JSValueConst *argv, int flags)
Definition quickjs.h:527
#define js_force_inline
Definition quickjs.h:44
int JS_DefineProperty(JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter, int flags)
Definition quickjs.c:10439
void JS_PrintValue(JSContext *ctx, JSPrintValueWrite *write_func, void *write_opaque, JSValueConst val, const JSPrintValueOptions *options)
Definition quickjs.c:14529
#define JSValueConst
Definition quickjs.h:234
void JS_FreeAtom(JSContext *ctx, JSAtom v)
Definition quickjs.c:3813
void JS_PrintValueSetDefaultOptions(JSPrintValueOptions *options)
Definition quickjs.c:14490
#define js_unlikely(x)
Definition quickjs.h:43
JSAtom JS_DupAtom(JSContext *ctx, JSAtom v)
Definition quickjs.c:3195
JS_BOOL JS_StrictEq(JSContext *ctx, JSValueConst op1, JSValueConst op2)
Definition quickjs.c:15989
int JS_SetPropertyFunctionList(JSContext *ctx, JSValueConst obj, const JSCFunctionListEntry *tab, int len)
Definition quickjs.c:39681
void JS_SetMemoryLimit(JSRuntime *rt, size_t limit)
Definition quickjs.c:2279
int JS_DefinePropertyGetSet(JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValue getter, JSValue setter, int flags)
Definition quickjs.c:10824
JSValue JS_NewCFunctionData(JSContext *ctx, JSCFunctionData *func, int length, int magic, int data_len, JSValueConst *data)
Definition quickjs.c:6136
JS_BOOL JS_DetectModule(const char *input, size_t input_len)
Definition quickjs.c:23764
void JSClassGCMark(JSRuntime *rt, JSValueConst val, JS_MarkFunc *mark_func)
Definition quickjs.h:524
void JS_SetRuntimeInfo(JSRuntime *rt, const char *info)
Definition quickjs.c:2457
void JSClassFinalizer(JSRuntime *rt, JSValue val)
Definition quickjs.h:523
int JS_AddIntrinsicEval(JSContext *ctx)
Definition quickjs.c:56036
int JS_GetOwnProperty(JSContext *ctx, JSPropertyDescriptor *desc, JSValueConst obj, JSAtom prop)
Definition quickjs.c:8984
int JS_AddModuleExportList(JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry *tab, int len)
Definition quickjs.c:39699
#define JS_VALUE_GET_PTR(v)
Definition quickjs.h:243
JS_BOOL JS_HasException(JSContext *ctx)
Definition quickjs.c:7463
int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val)
Definition quickjs.c:13399
int JS_SetModuleExport(JSContext *ctx, JSModuleDef *m, const char *export_name, JSValue val)
Definition quickjs.c:29855
void JS_UpdateStackTop(JSRuntime *rt)
Definition quickjs.c:2914
#define JS_VALUE_GET_TAG(v)
Definition quickjs.h:236
JSModuleDef * JSModuleLoaderFunc2(JSContext *ctx, const char *module_name, void *opaque, JSValueConst attributes)
Definition quickjs.h:947
JSValue JS_Invoke(JSContext *ctx, JSValueConst this_val, JSAtom atom, int argc, JSValueConst *argv)
Definition quickjs.c:20844
JSValue JSCFunctionMagic(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int magic)
Definition quickjs.h:350
JSValue JS_GetGlobalObject(JSContext *ctx)
Definition quickjs.c:7438
void * js_malloc_rt(JSRuntime *rt, size_t size)
Definition quickjs.c:1820
JS_BOOL JS_IsJobPending(JSRuntime *rt)
Definition quickjs.c:2351
JSValue JS_NewArray(JSContext *ctx)
Definition quickjs.c:5930
int JS_ToIndex(JSContext *ctx, uint64_t *plen, JSValueConst val)
Definition quickjs.c:13582
void * JS_GetAnyOpaque(JSValueConst obj, JSClassID *class_id)
Definition quickjs.c:11140
void JS_SetCanBlock(JSRuntime *rt, JS_BOOL can_block)
void JS_FreeRuntime(JSRuntime *rt)
Definition quickjs.c:2463
void * js_mallocz_rt(JSRuntime *rt, size_t size)
Definition quickjs.c:1840
void JS_SetIsHTMLDDA(JSContext *ctx, JSValueConst obj)
Definition quickjs.c:11231
JSValue JS_NewDate(JSContext *ctx, double epoch_ms)
Definition quickjs.c:56008
JS_BOOL JS_SameValueZero(JSContext *ctx, JSValueConst op1, JSValueConst op2)
Definition quickjs.c:16013
void JSFreeArrayBufferDataFunc(JSRuntime *rt, void *opaque, void *ptr)
Definition quickjs.h:870
size_t js_malloc_usable_size(JSContext *ctx, const void *ptr)
Definition quickjs.c:1914
int JSModuleCheckSupportedImportAttributes(JSContext *ctx, void *opaque, JSValueConst attributes)
Definition quickjs.h:951
void JS_FreeCString(JSContext *ctx, const char *ptr)
Definition quickjs.c:4643
void JS_FreePropertyEnum(JSContext *ctx, JSPropertyEnum *tab, uint32_t len)
Definition quickjs.c:8675
int JS_ToInt64(JSContext *ctx, int64_t *pres, JSValueConst val)
Definition quickjs.c:13394
int JS_AddIntrinsicJSON(JSContext *ctx)
Definition quickjs.c:50266
void JS_SetModuleLoaderFunc(JSRuntime *rt, JSModuleNormalizeFunc *module_normalize, JSModuleLoaderFunc *module_loader, void *opaque)
Definition quickjs.c:29885
JSValue JSJobFunc(JSContext *ctx, int argc, JSValueConst *argv)
Definition quickjs.h:973
JSValue JS_NewObjectProtoClass(JSContext *ctx, JSValueConst proto, JSClassID class_id)
Definition quickjs.c:5832
JSValue JS_GetPropertyUint32(JSContext *ctx, JSValueConst this_obj, uint32_t idx)
Definition quickjs.c:9193
JS_BOOL JS_IsError(JSContext *ctx, JSValueConst val)
Definition quickjs.c:11095
char * js_strdup(JSContext *ctx, const char *str)
Definition quickjs.c:1931
void JS_RunGC(JSRuntime *rt)
Definition quickjs.c:6924
JSValue JS_LoadModule(JSContext *ctx, const char *basename, const char *filename)
Definition quickjs.c:30993
int JS_AddIntrinsicRegExp(JSContext *ctx)
Definition quickjs.c:49128
JSValue JS_EvalFunction(JSContext *ctx, JSValue fun_obj)
Definition quickjs.c:37154
#define JS_VALUE_GET_FLOAT64(v)
Definition quickjs.h:241
int JS_IsInstanceOf(JSContext *ctx, JSValueConst val, JSValueConst obj)
Definition quickjs.c:8222
int JS_SetPrototype(JSContext *ctx, JSValueConst obj, JSValueConst proto_val)
Definition quickjs.c:8078
JSContext * JS_NewContextRaw(JSRuntime *rt)
Definition quickjs.c:2651
void JSHostPromiseRejectionTracker(JSContext *ctx, JSValueConst promise, JSValueConst reason, JS_BOOL is_handled, void *opaque)
Definition quickjs.h:919
JSValue JS_GetPrototype(JSContext *ctx, JSValueConst val)
Definition quickjs.c:8116
JSValue JS_AtomToValue(JSContext *ctx, JSAtom atom)
Definition quickjs.c:3711
JSValue JS_GetModulePrivateValue(JSContext *ctx, JSModuleDef *m)
Definition quickjs.c:29880
JSContext * JS_NewContext(JSRuntime *rt)
Definition quickjs.c:2685
JSValue JS_NewObject(JSContext *ctx)
Definition quickjs.c:5936
void * JS_GetOpaque(JSValueConst obj, JSClassID class_id)
Definition quickjs.c:11120
JSValue JS_NewArrayBufferCopy(JSContext *ctx, const uint8_t *buf, size_t len)
Definition quickjs.c:56711
JSValue const char * fmt
Definition quickjs.h:673
Definition quickjs.h:1067
JSClassGCMark * gc_mark
Definition quickjs.h:534
JSClassFinalizer * finalizer
Definition quickjs.h:533
const char * class_name
Definition quickjs.h:532
JSClassExoticMethods * exotic
Definition quickjs.h:543
JSClassCall * call
Definition quickjs.h:540
JSValue(* get_property)(JSContext *ctx, JSValueConst obj, JSAtom atom, JSValueConst receiver)
Definition quickjs.h:505
int(* set_property)(JSContext *ctx, JSValueConst obj, JSAtom atom, JSValueConst value, JSValueConst receiver, int flags)
Definition quickjs.h:508
int(* has_property)(JSContext *ctx, JSValueConst obj, JSAtom atom)
Definition quickjs.h:504
int(* set_prototype)(JSContext *ctx, JSValueConst obj, JSValueConst proto_val)
Definition quickjs.h:516
int(* is_extensible)(JSContext *ctx, JSValueConst obj)
Definition quickjs.h:518
int(* define_own_property)(JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter, int flags)
Definition quickjs.h:497
int(* delete_property)(JSContext *ctx, JSValueConst obj, JSAtom prop)
Definition quickjs.h:495
int(* prevent_extensions)(JSContext *ctx, JSValueConst obj)
Definition quickjs.h:520
int(* get_own_property_names)(JSContext *ctx, JSPropertyEnum **ptab, uint32_t *plen, JSValueConst obj)
Definition quickjs.h:491
int(* get_own_property)(JSContext *ctx, JSPropertyDescriptor *desc, JSValueConst obj, JSAtom prop)
Definition quickjs.h:486
JSValue(* get_prototype)(JSContext *ctx, JSValueConst obj)
Definition quickjs.h:514
void(* js_free)(JSMallocState *s, void *ptr)
Definition quickjs.h:362
size_t(* js_malloc_usable_size)(const void *ptr)
Definition quickjs.h:364
size_t malloc_count
Definition quickjs.h:354
size_t malloc_limit
Definition quickjs.h:356
void * opaque
Definition quickjs.h:357
size_t malloc_size
Definition quickjs.h:355
int64_t prop_size
Definition quickjs.h:438
int64_t atom_size
Definition quickjs.h:435
int64_t c_func_count
Definition quickjs.h:442
int64_t fast_array_elements
Definition quickjs.h:443
int64_t malloc_size
Definition quickjs.h:432
int64_t binary_object_size
Definition quickjs.h:444
int64_t malloc_count
Definition quickjs.h:433
int64_t js_func_count
Definition quickjs.h:440
int64_t js_func_code_size
Definition quickjs.h:440
int64_t memory_used_count
Definition quickjs.h:434
int64_t js_func_size
Definition quickjs.h:440
int64_t js_func_pc2line_size
Definition quickjs.h:441
int64_t binary_object_count
Definition quickjs.h:444
int64_t fast_array_count
Definition quickjs.h:443
int64_t prop_count
Definition quickjs.h:438
int64_t str_count
Definition quickjs.h:436
int64_t shape_size
Definition quickjs.h:439
int64_t shape_count
Definition quickjs.h:439
int64_t js_func_pc2line_count
Definition quickjs.h:441
int64_t obj_count
Definition quickjs.h:437
int64_t memory_used_size
Definition quickjs.h:432
int64_t array_count
Definition quickjs.h:442
int64_t obj_size
Definition quickjs.h:437
int64_t atom_count
Definition quickjs.h:435
int64_t str_size
Definition quickjs.h:436
int64_t malloc_limit
Definition quickjs.h:432
JSAtom module_name
Definition quickjs.c:906
Definition quickjs.h:1153
JSValue setter
Definition quickjs.h:479
JSValue value
Definition quickjs.h:477
int flags
Definition quickjs.h:476
JSValue getter
Definition quickjs.h:478
JS_BOOL is_enumerable
Definition quickjs.h:471
JSAtom atom
Definition quickjs.h:472
void * sab_opaque
Definition quickjs.h:903
JSValueUnion u
Definition quickjs.h:230
int64_t tag
Definition quickjs.h:231
Definition quickjs.h:1025
JSValue(* setter)(JSContext *ctx, JSValueConst this_val, JSValueConst val)
Definition quickjs.h:1034
JSCFunction * generic
Definition quickjs.h:1026
JSCFunction * constructor_or_func
Definition quickjs.h:1030
JSCFunction * constructor
Definition quickjs.h:1028
JSValue(* getter)(JSContext *ctx, JSValueConst this_val)
Definition quickjs.h:1033
JSValue(* setter_magic)(JSContext *ctx, JSValueConst this_val, JSValueConst val, int magic)
Definition quickjs.h:1036
JSValue(* iterator_next)(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int *pdone, int magic)
Definition quickjs.h:1037
JSValue(* getter_magic)(JSContext *ctx, JSValueConst this_val, int magic)
Definition quickjs.h:1035
JSValue(* generic_magic)(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int magic)
Definition quickjs.h:1027
double(* f_f)(double)
Definition quickjs.h:1031
JSValue(* constructor_magic)(JSContext *ctx, JSValueConst new_target, int argc, JSValueConst *argv, int magic)
Definition quickjs.h:1029
double(* f_f_f)(double, double)
Definition quickjs.h:1032
void * ptr
Definition quickjs.h:221
double float64
Definition quickjs.h:220
uint64_t uint64
Definition quickjs.h:219
int32_t short_big_int
Definition quickjs.h:223
struct VirtioInputEvent * input
Definition virtiokbd.c:46