XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
quickjs.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <inttypes.h>
#include <string.h>
#include <assert.h>
#include <sys/time.h>
#include <time.h>
#include <fenv.h>
#include <math.h>
#include "cutils.h"
#include "list.h"
#include "quickjs.h"
#include "libregexp.h"
#include "libunicode.h"
#include "dtoa.h"
#include <pthread.h>
#include <stdatomic.h>
#include <errno.h>
#include "quickjs-atom.h"
#include "quickjs-opcode.h"
Include dependency graph for quickjs.c:

Classes

struct  JSMallocBlockHeader
 
struct  JSMallocLargeBlockHeader
 
struct  JSMallocArena
 
struct  JSMallocContext
 
struct  JSRuntime
 
struct  JSClass
 
struct  JSStackFrame
 
struct  JSGCObjectHeader
 
struct  JSWeakRefHeader
 
struct  JSVarRef
 
struct  JSBigInt
 
struct  JSBigIntBuf
 
struct  JSContext
 
union  JSFloat64Union
 
struct  JSString
 
struct  JSStringRope
 
struct  JSClosureVar
 
struct  JSBytecodeVarDef
 
struct  JSFunctionBytecode
 
struct  JSBoundFunction
 
struct  JSForInIterator
 
struct  JSRegExp
 
struct  JSProxyData
 
struct  JSArrayBuffer
 
struct  JSTypedArray
 
struct  JSGlobalObject
 
struct  JSAsyncFunctionState
 
struct  JSBinaryOperatorDefEntry
 
struct  JSBinaryOperatorDef
 
struct  JSOperatorSetData
 
struct  JSReqModuleEntry
 
struct  JSExportEntry
 
struct  JSStarExportEntry
 
struct  JSImportEntry
 
struct  JSModuleDef
 
struct  JSJobEntry
 
struct  JSProperty
 
struct  JSShapeProperty
 
struct  JSShape
 
struct  JSObject
 
struct  JSMapRecord
 
struct  JSMapState
 
struct  JSClassShortDef
 
struct  StringBuffer
 
struct  JSStringRopeIter
 
struct  JSCFunctionDataRecord
 
struct  JSMemoryUsage_helper
 
struct  JSPrintValueState
 
struct  JSGeneratorData
 
struct  JSAsyncGeneratorRequest
 
struct  JSAsyncGeneratorData
 
struct  BlockEnv
 
struct  JSGlobalVar
 
struct  RelocEntry
 
struct  JumpSlot
 
struct  LabelSlot
 
struct  LineNumberSlot
 
struct  GetLineColCache
 
struct  JSVarScope
 
struct  JSVarDef
 
struct  JSFunctionDef
 
struct  JSToken
 
struct  JSParseState
 
struct  JSOpCode
 
struct  JSParsePos
 
struct  ClassFieldsDef
 
struct  JSResolveEntry
 
struct  JSResolveState
 
struct  ExportedNameEntry
 
struct  GetExportNamesState
 
struct  ExecModuleList
 
struct  CodeContext
 
struct  StackSizeState
 
struct  JSObjectListEntry
 
struct  JSObjectList
 
struct  BCWriterState
 
struct  BCReaderState
 
struct  ValueSlot
 
struct  array_sort_context
 
struct  JSArrayIteratorData
 
struct  JSIteratorWrapData
 
struct  JSIteratorConcatData
 
struct  JSIteratorHelperData
 
struct  SumPreciseState
 
struct  JSRegExpStringIteratorData
 
struct  ValueBuffer
 
struct  JSONParseRecordObject
 
struct  JSONParseRecord
 
struct  JSONParseRecordEntry
 
struct  JSONStringifyContext
 
struct  JSMapIteratorData
 
struct  JSPromiseData
 
struct  JSPromiseFunctionDataResolved
 
struct  JSPromiseFunctionData
 
struct  JSPromiseReactionData
 
struct  JSAsyncFromSyncIteratorData
 
struct  TA_sort_context
 
struct  JSAtomicsWaiter
 
struct  JSWeakRefData
 
struct  JSFinRecEntry
 
struct  JSFinalizationRegistryData
 

Macros

#define OPTIMIZE   1
 
#define SHORT_OPCODES   1
 
#define DIRECT_DISPATCH   1
 
#define MALLOC_OVERHEAD   8
 
#define CONFIG_PRINTF_RNDN
 
#define CONFIG_ATOMICS
 
#define CONFIG_STACK_CHECK
 
#define JS_TYPED_ARRAY_COUNT   (JS_CLASS_FLOAT64_ARRAY - JS_CLASS_UINT8C_ARRAY + 1)
 
#define typed_array_size_log2(classid)   (typed_array_size_log2[(classid)- JS_CLASS_UINT8C_ARRAY])
 
#define JS_MAX_LOCAL_VARS   65534
 
#define JS_STACK_SIZE_MAX   65534
 
#define JS_STRING_LEN_MAX   ((1 << 30) - 1)
 
#define JS_STRING_ROPE_SHORT_LEN   512
 
#define JS_STRING_ROPE_SHORT2_LEN   8192
 
#define JS_STRING_ROPE_MAX_DEPTH   60
 
#define __exception   __attribute__((warn_unused_result))
 
#define JS_VALUE_GET_OBJ(v)   ((JSObject *)JS_VALUE_GET_PTR(v))
 
#define JS_VALUE_GET_STRING(v)   ((JSString *)JS_VALUE_GET_PTR(v))
 
#define JS_VALUE_GET_STRING_ROPE(v)   ((JSStringRope *)JS_VALUE_GET_PTR(v))
 
#define JS_MALLOC_ALIGN   8
 
#define JS_MALLOC_ARENA_SIZE   4096
 
#define JS_MALLOC_BLOCK_SIZE_COUNT   31
 
#define JS_MALLOC_MIN_SMALL_SIZE   16
 
#define JS_MALLOC_MAX_SMALL_SIZE   512
 
#define JS_MALLOC_LARGE_BLOCKS_ONLY   0
 
#define FREE_NIL   0xffff
 
#define JS_MODE_STRICT   (1 << 0)
 
#define JS_MODE_ASYNC   (1 << 2) /* async function */
 
#define JS_MODE_BACKTRACE_BARRIER   (1 << 3) /* stop backtrace before this frame */
 
#define JS_LIMB_DIGITS   19
 
#define JS_INTERRUPT_COUNTER_INIT   10000
 
#define JS_ATOM_HASH_MASK   ((1 << 30) - 1)
 
#define JS_ATOM_HASH_PRIVATE   JS_ATOM_HASH_MASK
 
#define ARG_SCOPE_INDEX   1
 
#define ARG_SCOPE_END   (-2)
 
#define PC2LINE_BASE   (-1)
 
#define PC2LINE_RANGE   5
 
#define PC2LINE_OP_FIRST   1
 
#define PC2LINE_DIFF_PC_MAX   ((255 - PC2LINE_OP_FIRST) / PC2LINE_RANGE)
 
#define JS_PROP_INITIAL_SIZE   2
 
#define JS_PROP_INITIAL_HASH_SIZE   4 /* must be a power of two */
 
#define DEF(name, str)   JS_ATOM_ ## name,
 
#define JS_ATOM_LAST_KEYWORD   JS_ATOM_super
 
#define JS_ATOM_LAST_STRICT_KEYWORD   JS_ATOM_yield
 
#define DEF(name, str)   str "\0"
 
#define FMT(f)   OP_FMT_ ## f,
 
#define DEF(id, size, n_pop, n_push, f)
 
#define FMT(f)
 
#define DEF(id, size, n_pop, n_push, f)   OP_ ## id,
 
#define def(id, size, n_pop, n_push, f)
 
#define FMT(f)
 
#define DEF(id, size, n_pop, n_push, f)
 
#define def(id, size, n_pop, n_push, f)   OP_ ## id,
 
#define HINT_STRING   0
 
#define HINT_NUMBER   1
 
#define HINT_NONE   2
 
#define HINT_FORCE_ORDINARY   (1 << 4)
 
#define malloc(s)   malloc_is_forbidden(s)
 
#define free(p)   free_is_forbidden(p)
 
#define realloc(p, s)   realloc_is_forbidden(p,s)
 
#define JS_ATOM_TAG_INT   (1U << 31)
 
#define JS_ATOM_MAX_INT   (JS_ATOM_TAG_INT - 1)
 
#define JS_ATOM_MAX   ((1U << 30) - 1)
 
#define JS_ATOM_COUNT_RESIZE(n)   ((n) * 2)
 
#define ATOM_GET_STR_BUF_SIZE   64
 
#define ROPE_N_BUCKETS   44
 
#define JS_BACKTRACE_FLAG_SKIP_FIRST_LEVEL   (1 << 0)
 
#define JS_ThrowTypeErrorAtom(ctx, fmt, atom)   __JS_ThrowTypeErrorAtom(ctx, atom, fmt, "")
 
#define JS_ThrowSyntaxErrorAtom(ctx, fmt, atom)   __JS_ThrowSyntaxErrorAtom(ctx, atom, fmt, "")
 
#define DEFINE_GLOBAL_LEX_VAR   (1 << 7)
 
#define DEFINE_GLOBAL_FUNC_VAR   (1 << 6)
 
#define JS_BIGINT_MAX_SIZE   ((1024 * 1024) / JS_LIMB_BITS) /* in limbs */
 
#define ADDC(res, carry_out, op1, op2, carry_in)
 
#define UDIV1NORM_THRESHOLD   3
 
#define JS_RADIX_MAX   36
 
#define ATOD_INT_ONLY   (1 << 0)
 
#define ATOD_ACCEPT_BIN_OCT   (1 << 2)
 
#define ATOD_ACCEPT_LEGACY_OCTAL   (1 << 4)
 
#define ATOD_ACCEPT_UNDERSCORES   (1 << 5)
 
#define ATOD_ACCEPT_SUFFIX   (1 << 6)
 
#define ATOD_TYPE_MASK   (3 << 7)
 
#define ATOD_TYPE_FLOAT64   (0 << 7)
 
#define ATOD_TYPE_BIG_INT   (1 << 7)
 
#define ATOD_ACCEPT_PREFIX_AFTER_SIGN   (1 << 10)
 
#define MAX_SAFE_INTEGER   (((int64_t)1 << 53) - 1)
 
#define JS_PRINT_MAX_DEPTH   8
 
#define GLOBAL_VAR_OFFSET   0x40000000
 
#define ARGUMENT_VAR_OFFSET   0x20000000
 
#define JS_DEFINE_CLASS_HAS_HERITAGE   (1 << 0)
 
#define JS_CALL_FLAG_COPY_ARGV   (1 << 1)
 
#define JS_CALL_FLAG_GENERATOR   (1 << 2)
 
#define FUNC_RET_AWAIT   0
 
#define FUNC_RET_YIELD   1
 
#define FUNC_RET_YIELD_STAR   2
 
#define FUNC_RET_INITIAL_YIELD   3
 
#define DEF(id, size, n_pop, n_push, f)   && case_OP_ ## id,
 
#define def(id, size, n_pop, n_push, f)
 
#define SWITCH(pc)   goto *dispatch_table[opcode = *pc++];
 
#define CASE(op)   case_ ## op
 
#define DEFAULT   case_default
 
#define BREAK   SWITCH(pc)
 
#define JS_THROW_VAR_RO   0
 
#define JS_THROW_VAR_REDECL   1
 
#define JS_THROW_VAR_UNINITIALIZED   2
 
#define JS_THROW_ERROR_DELETE_SUPER   3
 
#define JS_THROW_ERROR_ITERATOR_THROW   4
 
#define GET_FIELD_INLINE(name, keep, is_length)
 
#define OP_DEFINE_METHOD_METHOD   0
 
#define OP_DEFINE_METHOD_GETTER   1
 
#define OP_DEFINE_METHOD_SETTER   2
 
#define OP_DEFINE_METHOD_ENUMERABLE   4
 
#define GET_ARRAY_EL_INLINE(name, keep)
 
#define OP_CMP(opcode, binary_op, slow_call)
 
#define GEN_MAGIC_NEXT   0
 
#define GEN_MAGIC_RETURN   1
 
#define GEN_MAGIC_THROW   2
 
#define TOK_FIRST_KEYWORD   TOK_NULL
 
#define TOK_LAST_KEYWORD   TOK_AWAIT
 
#define CP_NBSP   0x00a0
 
#define CP_BOM   0xfeff
 
#define CP_LS   0x2028
 
#define CP_PS   0x2029
 
#define FMT(f)
 
#define DEF(id, size, n_pop, n_push, f)   { size, n_pop, n_push, OP_FMT_ ## f },
 
#define short_opcode_info(op)
 
#define PROP_TYPE_IDENT   0
 
#define PROP_TYPE_VAR   1
 
#define PROP_TYPE_GET   2
 
#define PROP_TYPE_SET   3
 
#define PROP_TYPE_STAR   4
 
#define PROP_TYPE_ASYNC   5
 
#define PROP_TYPE_ASYNC_STAR   6
 
#define PROP_TYPE_PRIVATE   (1 << 4)
 
#define SKIP_HAS_SEMI   (1 << 0)
 
#define SKIP_HAS_ELLIPSIS   (1 << 1)
 
#define SKIP_HAS_ASSIGNMENT   (1 << 2)
 
#define PF_IN_ACCEPTED   (1 << 0)
 
#define PF_POSTFIX_CALL   (1 << 1)
 
#define PF_POW_ALLOWED   (1 << 2)
 
#define PF_POW_FORBIDDEN   (1 << 3)
 
#define DECL_MASK_FUNC   (1 << 0) /* allow normal function declaration */
 
#define DECL_MASK_FUNC_WITH_LABEL   (1 << 1)
 
#define DECL_MASK_OTHER   (1 << 2) /* all other declarations */
 
#define DECL_MASK_ALL   (DECL_MASK_FUNC | DECL_MASK_FUNC_WITH_LABEL | DECL_MASK_OTHER)
 
#define M2(op1, op2)   ((op1) | ((op2) << 8))
 
#define M3(op1, op2, op3)   ((op1) | ((op2) << 8) | ((op3) << 16))
 
#define M4(op1, op2, op3, op4)   ((op1) | ((op2) << 8) | ((op3) << 16) | ((op4) << 24))
 
#define BC_VERSION   5
 
#define bc_read_trace(...)
 
#define JS_NEW_CTOR_NO_GLOBAL   (1 << 0) /* don't create a global binding */
 
#define JS_NEW_CTOR_PROTO_CLASS   (1 << 1) /* the prototype class is 'class_id' instead of JS_CLASS_OBJECT */
 
#define JS_NEW_CTOR_PROTO_EXIST   (1 << 2) /* the prototype is already defined */
 
#define JS_NEW_CTOR_READONLY   (1 << 3) /* read-only constructor field */
 
#define DEF(name)
 
#define special_every   0
 
#define special_some   1
 
#define special_forEach   2
 
#define special_map   3
 
#define special_filter   4
 
#define special_TA   8
 
#define special_reduce   0
 
#define special_reduceRight   1
 
#define SP_LIMB_BITS   56
 
#define SP_RND_BITS   (SP_LIMB_BITS - 53)
 
#define SUM_PRECISE_ACC_LEN   39
 
#define SUM_PRECISE_COUNTER_INIT   250
 
#define RE_FLAG_COUNT   8
 
#define MAGIC_SET   (1 << 0)
 
#define MAGIC_WEAK   (1 << 1)
 
#define HASH_MUL32   0x61C88647
 
#define HASH_MUL64   UINT64_C(0x61C8864680B583EB)
 
#define PROMISE_MAGIC_all   0
 
#define PROMISE_MAGIC_allSettled   1
 
#define PROMISE_MAGIC_any   2
 
#define special_indexOf   0
 
#define special_lastIndexOf   1
 
#define special_includes   -1
 
#define K_WS   64
 
#define K_ER   65
 
#define OP(op_name, func_name)
 

Typedefs

typedef enum JSErrorEnum JSErrorEnum
 
typedef struct JSShape JSShape
 
typedef struct JSString JSString
 
typedef struct JSString JSAtomStruct
 
typedef struct JSObject JSObject
 
typedef enum OPCodeEnum OPCodeEnum
 
typedef struct JSMallocBlockHeader JSMallocBlockHeader
 
typedef struct JSMallocLargeBlockHeader JSMallocLargeBlockHeader
 
typedef struct JSStackFrame JSStackFrame
 
typedef struct JSVarRef JSVarRef
 
typedef __int128 int128_t
 
typedef unsigned __int128 uint128_t
 
typedef int64_t js_slimb_t
 
typedef uint64_t js_limb_t
 
typedef int128_t js_sdlimb_t
 
typedef uint128_t js_dlimb_t
 
typedef struct JSBigInt JSBigInt
 
typedef union JSFloat64Union JSFloat64Union
 
typedef struct JSStringRope JSStringRope
 
typedef struct JSClosureVar JSClosureVar
 
typedef struct JSBytecodeVarDef JSBytecodeVarDef
 
typedef enum JSFunctionKindEnum JSFunctionKindEnum
 
typedef struct JSFunctionBytecode JSFunctionBytecode
 
typedef struct JSBoundFunction JSBoundFunction
 
typedef enum JSIteratorKindEnum JSIteratorKindEnum
 
typedef struct JSForInIterator JSForInIterator
 
typedef struct JSRegExp JSRegExp
 
typedef struct JSProxyData JSProxyData
 
typedef struct JSArrayBuffer JSArrayBuffer
 
typedef struct JSTypedArray JSTypedArray
 
typedef struct JSGlobalObject JSGlobalObject
 
typedef struct JSAsyncFunctionState JSAsyncFunctionState
 
typedef struct JSReqModuleEntry JSReqModuleEntry
 
typedef enum JSExportTypeEnum JSExportTypeEnum
 
typedef struct JSExportEntry JSExportEntry
 
typedef struct JSStarExportEntry JSStarExportEntry
 
typedef struct JSImportEntry JSImportEntry
 
typedef struct JSJobEntry JSJobEntry
 
typedef struct JSProperty JSProperty
 
typedef struct JSShapeProperty JSShapeProperty
 
typedef struct JSMapRecord JSMapRecord
 
typedef struct JSMapState JSMapState
 
typedef enum OPCodeFormat OPCodeFormat
 
typedef struct JSClassShortDef JSClassShortDef
 
typedef enum JSFreeModuleEnum JSFreeModuleEnum
 
typedef struct StringBuffer StringBuffer
 
typedef struct JSCFunctionDataRecord JSCFunctionDataRecord
 
typedef struct JSMemoryUsage_helper JSMemoryUsage_helper
 
typedef JSValue JSAutoInitFunc(JSContext *ctx, JSObject *p, JSAtom atom, void *opaque)
 
typedef enum JSToNumberHintEnum JSToNumberHintEnum
 
typedef enum JSGeneratorStateEnum JSGeneratorStateEnum
 
typedef struct JSGeneratorData JSGeneratorData
 
typedef enum JSAsyncGeneratorStateEnum JSAsyncGeneratorStateEnum
 
typedef struct JSAsyncGeneratorRequest JSAsyncGeneratorRequest
 
typedef struct JSAsyncGeneratorData JSAsyncGeneratorData
 
typedef struct BlockEnv BlockEnv
 
typedef struct JSGlobalVar JSGlobalVar
 
typedef struct RelocEntry RelocEntry
 
typedef struct JumpSlot JumpSlot
 
typedef struct LabelSlot LabelSlot
 
typedef struct LineNumberSlot LineNumberSlot
 
typedef enum JSParseFunctionEnum JSParseFunctionEnum
 
typedef enum JSParseExportEnum JSParseExportEnum
 
typedef struct JSVarScope JSVarScope
 
typedef struct JSVarDef JSVarDef
 
typedef struct JSFunctionDef JSFunctionDef
 
typedef struct JSToken JSToken
 
typedef struct JSParseState JSParseState
 
typedef struct JSOpCode JSOpCode
 
typedef struct JSParsePos JSParsePos
 
typedef enum FuncCallType FuncCallType
 
typedef struct JSResolveEntry JSResolveEntry
 
typedef struct JSResolveState JSResolveState
 
typedef enum JSResolveResultEnum JSResolveResultEnum
 
typedef struct ExportedNameEntry ExportedNameEntry
 
typedef struct GetExportNamesState GetExportNamesState
 
typedef struct CodeContext CodeContext
 
typedef struct StackSizeState StackSizeState
 
typedef enum BCTagEnum BCTagEnum
 
typedef struct BCWriterState BCWriterState
 
typedef struct BCReaderState BCReaderState
 
typedef struct ValueSlot ValueSlot
 
typedef struct JSArrayIteratorData JSArrayIteratorData
 
typedef struct JSIteratorWrapData JSIteratorWrapData
 
typedef struct JSIteratorConcatData JSIteratorConcatData
 
typedef enum JSIteratorHelperKindEnum JSIteratorHelperKindEnum
 
typedef struct JSIteratorHelperData JSIteratorHelperData
 
typedef struct JSRegExpStringIteratorData JSRegExpStringIteratorData
 
typedef struct ValueBuffer ValueBuffer
 
typedef struct JSONParseRecord JSONParseRecord
 
typedef struct JSONParseRecordEntry JSONParseRecordEntry
 
typedef struct JSONStringifyContext JSONStringifyContext
 
typedef struct JSMapIteratorData JSMapIteratorData
 
typedef struct JSPromiseData JSPromiseData
 
typedef struct JSPromiseFunctionDataResolved JSPromiseFunctionDataResolved
 
typedef struct JSPromiseFunctionData JSPromiseFunctionData
 
typedef struct JSPromiseReactionData JSPromiseReactionData
 
typedef struct JSAsyncFromSyncIteratorData JSAsyncFromSyncIteratorData
 
typedef enum AtomicsOpEnum AtomicsOpEnum
 
typedef struct JSAtomicsWaiter JSAtomicsWaiter
 
typedef struct JSWeakRefData JSWeakRefData
 
typedef struct JSFinRecEntry JSFinRecEntry
 
typedef struct JSFinalizationRegistryData JSFinalizationRegistryData
 

Enumerations

enum  {
  JS_CLASS_OBJECT = 1 , JS_CLASS_ARRAY , JS_CLASS_ERROR , JS_CLASS_NUMBER ,
  JS_CLASS_STRING , JS_CLASS_BOOLEAN , JS_CLASS_SYMBOL , JS_CLASS_ARGUMENTS ,
  JS_CLASS_MAPPED_ARGUMENTS , JS_CLASS_DATE , JS_CLASS_MODULE_NS , JS_CLASS_C_FUNCTION ,
  JS_CLASS_BYTECODE_FUNCTION , JS_CLASS_BOUND_FUNCTION , JS_CLASS_C_FUNCTION_DATA , JS_CLASS_GENERATOR_FUNCTION ,
  JS_CLASS_FOR_IN_ITERATOR , JS_CLASS_REGEXP , JS_CLASS_ARRAY_BUFFER , JS_CLASS_SHARED_ARRAY_BUFFER ,
  JS_CLASS_UINT8C_ARRAY , JS_CLASS_INT8_ARRAY , JS_CLASS_UINT8_ARRAY , JS_CLASS_INT16_ARRAY ,
  JS_CLASS_UINT16_ARRAY , JS_CLASS_INT32_ARRAY , JS_CLASS_UINT32_ARRAY , JS_CLASS_BIG_INT64_ARRAY ,
  JS_CLASS_BIG_UINT64_ARRAY , JS_CLASS_FLOAT16_ARRAY , JS_CLASS_FLOAT32_ARRAY , JS_CLASS_FLOAT64_ARRAY ,
  JS_CLASS_DATAVIEW , JS_CLASS_BIG_INT , JS_CLASS_MAP , JS_CLASS_SET ,
  JS_CLASS_WEAKMAP , JS_CLASS_WEAKSET , JS_CLASS_ITERATOR , JS_CLASS_ITERATOR_CONCAT ,
  JS_CLASS_ITERATOR_HELPER , JS_CLASS_ITERATOR_WRAP , JS_CLASS_MAP_ITERATOR , JS_CLASS_SET_ITERATOR ,
  JS_CLASS_ARRAY_ITERATOR , JS_CLASS_STRING_ITERATOR , JS_CLASS_REGEXP_STRING_ITERATOR , JS_CLASS_GENERATOR ,
  JS_CLASS_GLOBAL_OBJECT , JS_CLASS_RAWJSON , JS_CLASS_PROXY , JS_CLASS_PROMISE ,
  JS_CLASS_PROMISE_RESOLVE_FUNCTION , JS_CLASS_PROMISE_REJECT_FUNCTION , JS_CLASS_ASYNC_FUNCTION , JS_CLASS_ASYNC_FUNCTION_RESOLVE ,
  JS_CLASS_ASYNC_FUNCTION_REJECT , JS_CLASS_ASYNC_FROM_SYNC_ITERATOR , JS_CLASS_ASYNC_GENERATOR_FUNCTION , JS_CLASS_ASYNC_GENERATOR ,
  JS_CLASS_WEAK_REF , JS_CLASS_FINALIZATION_REGISTRY , JS_CLASS_INIT_COUNT
}
 
enum  JSErrorEnum {
  JS_EVAL_ERROR , JS_RANGE_ERROR , JS_REFERENCE_ERROR , JS_SYNTAX_ERROR ,
  JS_TYPE_ERROR , JS_URI_ERROR , JS_INTERNAL_ERROR , JS_AGGREGATE_ERROR ,
  JS_NATIVE_ERROR_COUNT
}
 
enum  JSGCPhaseEnum { JS_GC_PHASE_NONE , JS_GC_PHASE_DECREF , JS_GC_PHASE_REMOVE_CYCLES }
 
enum  JSGCObjectTypeEnum {
  JS_GC_OBJ_TYPE_JS_OBJECT , JS_GC_OBJ_TYPE_FUNCTION_BYTECODE , JS_GC_OBJ_TYPE_SHAPE , JS_GC_OBJ_TYPE_VAR_REF ,
  JS_GC_OBJ_TYPE_ASYNC_FUNCTION , JS_GC_OBJ_TYPE_JS_CONTEXT , JS_GC_OBJ_TYPE_MODULE
}
 
enum  JSWeakRefHeaderTypeEnum { JS_WEAKREF_TYPE_MAP , JS_WEAKREF_TYPE_WEAKREF , JS_WEAKREF_TYPE_FINREC }
 
enum  JSAutoInitIDEnum { JS_AUTOINIT_ID_PROTOTYPE , JS_AUTOINIT_ID_MODULE_NS , JS_AUTOINIT_ID_PROP }
 
enum  { JS_ATOM_TYPE_STRING = 1 , JS_ATOM_TYPE_GLOBAL_SYMBOL , JS_ATOM_TYPE_SYMBOL , JS_ATOM_TYPE_PRIVATE }
 
enum  JSAtomKindEnum { JS_ATOM_KIND_STRING , JS_ATOM_KIND_SYMBOL , JS_ATOM_KIND_PRIVATE }
 
enum  JSClosureTypeEnum {
  JS_CLOSURE_LOCAL , JS_CLOSURE_ARG , JS_CLOSURE_REF , JS_CLOSURE_GLOBAL_REF ,
  JS_CLOSURE_GLOBAL_DECL , JS_CLOSURE_GLOBAL , JS_CLOSURE_MODULE_DECL , JS_CLOSURE_MODULE_IMPORT
}
 
enum  JSVarKindEnum {
  JS_VAR_NORMAL , JS_VAR_FUNCTION_DECL , JS_VAR_NEW_FUNCTION_DECL , JS_VAR_CATCH ,
  JS_VAR_FUNCTION_NAME , JS_VAR_PRIVATE_FIELD , JS_VAR_PRIVATE_METHOD , JS_VAR_PRIVATE_GETTER ,
  JS_VAR_PRIVATE_SETTER , JS_VAR_PRIVATE_GETTER_SETTER , JS_VAR_GLOBAL_FUNCTION_DECL
}
 
enum  JSFunctionKindEnum { JS_FUNC_NORMAL = 0 , JS_FUNC_GENERATOR = (1 << 0) , JS_FUNC_ASYNC = (1 << 1) , JS_FUNC_ASYNC_GENERATOR = (JS_FUNC_GENERATOR | JS_FUNC_ASYNC) }
 
enum  JSIteratorKindEnum { JS_ITERATOR_KIND_KEY , JS_ITERATOR_KIND_VALUE , JS_ITERATOR_KIND_KEY_AND_VALUE }
 
enum  JSOverloadableOperatorEnum {
  JS_OVOP_ADD , JS_OVOP_SUB , JS_OVOP_MUL , JS_OVOP_DIV ,
  JS_OVOP_MOD , JS_OVOP_POW , JS_OVOP_OR , JS_OVOP_AND ,
  JS_OVOP_XOR , JS_OVOP_SHL , JS_OVOP_SAR , JS_OVOP_SHR ,
  JS_OVOP_EQ , JS_OVOP_LESS , JS_OVOP_BINARY_COUNT , JS_OVOP_POS = JS_OVOP_BINARY_COUNT ,
  JS_OVOP_NEG , JS_OVOP_INC , JS_OVOP_DEC , JS_OVOP_NOT ,
  JS_OVOP_COUNT
}
 
enum  JSExportTypeEnum { JS_EXPORT_TYPE_LOCAL , JS_EXPORT_TYPE_INDIRECT }
 
enum  JSModuleStatus {
  JS_MODULE_STATUS_UNLINKED , JS_MODULE_STATUS_LINKING , JS_MODULE_STATUS_LINKED , JS_MODULE_STATUS_EVALUATING ,
  JS_MODULE_STATUS_EVALUATING_ASYNC , JS_MODULE_STATUS_EVALUATED
}
 
enum  { __JS_ATOM_NULL = JS_ATOM_NULL , JS_ATOM_END }
 
enum  OPCodeFormat
 
enum  OPCodeEnum { OP_COUNT , OP_TEMP_START = OP_nop + 1 , OP___dummy = OP_TEMP_START - 1 , OP_TEMP_END }
 
enum  JSFreeModuleEnum { JS_FREE_MODULE_ALL , JS_FREE_MODULE_NOT_RESOLVED }
 
enum  JSToNumberHintEnum { TON_FLAG_NUMBER , TON_FLAG_NUMERIC }
 
enum  OPSpecialObjectEnum {
  OP_SPECIAL_OBJECT_ARGUMENTS , OP_SPECIAL_OBJECT_MAPPED_ARGUMENTS , OP_SPECIAL_OBJECT_THIS_FUNC , OP_SPECIAL_OBJECT_NEW_TARGET ,
  OP_SPECIAL_OBJECT_HOME_OBJECT , OP_SPECIAL_OBJECT_VAR_OBJECT , OP_SPECIAL_OBJECT_IMPORT_META
}
 
enum  JSGeneratorStateEnum {
  JS_GENERATOR_STATE_SUSPENDED_START , JS_GENERATOR_STATE_SUSPENDED_YIELD , JS_GENERATOR_STATE_SUSPENDED_YIELD_STAR , JS_GENERATOR_STATE_EXECUTING ,
  JS_GENERATOR_STATE_COMPLETED
}
 
enum  JSAsyncGeneratorStateEnum {
  JS_ASYNC_GENERATOR_STATE_SUSPENDED_START , JS_ASYNC_GENERATOR_STATE_SUSPENDED_YIELD , JS_ASYNC_GENERATOR_STATE_SUSPENDED_YIELD_STAR , JS_ASYNC_GENERATOR_STATE_EXECUTING ,
  JS_ASYNC_GENERATOR_STATE_AWAITING_RETURN , JS_ASYNC_GENERATOR_STATE_COMPLETED
}
 
enum  {
  TOK_NUMBER = -128 , TOK_STRING , TOK_TEMPLATE , TOK_IDENT ,
  TOK_REGEXP , TOK_MUL_ASSIGN , TOK_DIV_ASSIGN , TOK_MOD_ASSIGN ,
  TOK_PLUS_ASSIGN , TOK_MINUS_ASSIGN , TOK_SHL_ASSIGN , TOK_SAR_ASSIGN ,
  TOK_SHR_ASSIGN , TOK_AND_ASSIGN , TOK_XOR_ASSIGN , TOK_OR_ASSIGN ,
  TOK_POW_ASSIGN , TOK_LAND_ASSIGN , TOK_LOR_ASSIGN , TOK_DOUBLE_QUESTION_MARK_ASSIGN ,
  TOK_DEC , TOK_INC , TOK_SHL , TOK_SAR ,
  TOK_SHR , TOK_LT , TOK_LTE , TOK_GT ,
  TOK_GTE , TOK_EQ , TOK_STRICT_EQ , TOK_NEQ ,
  TOK_STRICT_NEQ , TOK_LAND , TOK_LOR , TOK_POW ,
  TOK_ARROW , TOK_ELLIPSIS , TOK_DOUBLE_QUESTION_MARK , TOK_QUESTION_MARK_DOT ,
  TOK_ERROR , TOK_PRIVATE_NAME , TOK_EOF , TOK_NULL ,
  TOK_FALSE , TOK_TRUE , TOK_IF , TOK_ELSE ,
  TOK_RETURN , TOK_VAR , TOK_THIS , TOK_DELETE ,
  TOK_VOID , TOK_TYPEOF , TOK_NEW , TOK_IN ,
  TOK_INSTANCEOF , TOK_DO , TOK_WHILE , TOK_FOR ,
  TOK_BREAK , TOK_CONTINUE , TOK_SWITCH , TOK_CASE ,
  TOK_DEFAULT , TOK_THROW , TOK_TRY , TOK_CATCH ,
  TOK_FINALLY , TOK_FUNCTION , TOK_DEBUGGER , TOK_WITH ,
  TOK_CLASS , TOK_CONST , TOK_ENUM , TOK_EXPORT ,
  TOK_EXTENDS , TOK_IMPORT , TOK_SUPER , TOK_IMPLEMENTS ,
  TOK_INTERFACE , TOK_LET , TOK_PACKAGE , TOK_PRIVATE ,
  TOK_PROTECTED , TOK_PUBLIC , TOK_STATIC , TOK_YIELD ,
  TOK_AWAIT , TOK_OF
}
 
enum  JSParseFunctionEnum {
  JS_PARSE_FUNC_STATEMENT , JS_PARSE_FUNC_VAR , JS_PARSE_FUNC_EXPR , JS_PARSE_FUNC_ARROW ,
  JS_PARSE_FUNC_GETTER , JS_PARSE_FUNC_SETTER , JS_PARSE_FUNC_METHOD , JS_PARSE_FUNC_CLASS_STATIC_INIT ,
  JS_PARSE_FUNC_CLASS_CONSTRUCTOR , JS_PARSE_FUNC_DERIVED_CLASS_CONSTRUCTOR
}
 
enum  JSParseExportEnum { JS_PARSE_EXPORT_NONE , JS_PARSE_EXPORT_NAMED , JS_PARSE_EXPORT_DEFAULT }
 
enum  JSVarDefEnum {
  JS_VAR_DEF_WITH , JS_VAR_DEF_LET , JS_VAR_DEF_CONST , JS_VAR_DEF_FUNCTION_DECL ,
  JS_VAR_DEF_NEW_FUNCTION_DECL , JS_VAR_DEF_CATCH , JS_VAR_DEF_VAR
}
 
enum  PutLValueEnum {
  PUT_LVALUE_NOKEEP , PUT_LVALUE_NOKEEP_DEPTH , PUT_LVALUE_KEEP_TOP , PUT_LVALUE_KEEP_SECOND ,
  PUT_LVALUE_NOKEEP_BOTTOM
}
 
enum  FuncCallType { FUNC_CALL_NORMAL , FUNC_CALL_NEW , FUNC_CALL_SUPER_CTOR , FUNC_CALL_TEMPLATE }
 
enum  JSResolveResultEnum {
  JS_RESOLVE_RES_EXCEPTION = -1 , JS_RESOLVE_RES_FOUND = 0 , JS_RESOLVE_RES_NOT_FOUND , JS_RESOLVE_RES_CIRCULAR ,
  JS_RESOLVE_RES_AMBIGUOUS
}
 
enum  ExportedNameEntryEnum { EXPORTED_NAME_AMBIGUOUS , EXPORTED_NAME_NORMAL , EXPORTED_NAME_DELAYED }
 
enum  BCTagEnum {
  BC_TAG_NULL = 1 , BC_TAG_UNDEFINED , BC_TAG_BOOL_FALSE , BC_TAG_BOOL_TRUE ,
  BC_TAG_INT32 , BC_TAG_FLOAT64 , BC_TAG_STRING , BC_TAG_OBJECT ,
  BC_TAG_ARRAY , BC_TAG_BIG_INT , BC_TAG_TEMPLATE_OBJECT , BC_TAG_FUNCTION_BYTECODE ,
  BC_TAG_MODULE , BC_TAG_TYPED_ARRAY , BC_TAG_ARRAY_BUFFER , BC_TAG_SHARED_ARRAY_BUFFER ,
  BC_TAG_DATE , BC_TAG_OBJECT_VALUE , BC_TAG_OBJECT_REFERENCE
}
 
enum  { ArrayFind , ArrayFindIndex , ArrayFindLast , ArrayFindLastIndex }
 
enum  JSIteratorHelperKindEnum {
  JS_ITERATOR_HELPER_KIND_DROP , JS_ITERATOR_HELPER_KIND_EVERY , JS_ITERATOR_HELPER_KIND_FILTER , JS_ITERATOR_HELPER_KIND_FIND ,
  JS_ITERATOR_HELPER_KIND_FLAT_MAP , JS_ITERATOR_HELPER_KIND_FOR_EACH , JS_ITERATOR_HELPER_KIND_MAP , JS_ITERATOR_HELPER_KIND_SOME ,
  JS_ITERATOR_HELPER_KIND_TAKE
}
 
enum  {
  magic_string_anchor , magic_string_big , magic_string_blink , magic_string_bold ,
  magic_string_fixed , magic_string_fontcolor , magic_string_fontsize , magic_string_italics ,
  magic_string_link , magic_string_small , magic_string_strike , magic_string_sub ,
  magic_string_sup
}
 
enum  SumPreciseStateEnum { SUM_PRECISE_STATE_FINITE , SUM_PRECISE_STATE_INFINITY , SUM_PRECISE_STATE_MINUS_INFINITY , SUM_PRECISE_STATE_NAN }
 
enum  { B64_ALPHABET_BASE64 = 0 , B64_ALPHABET_BASE64URL = 1 }
 
enum  { B64_LAST_LOOSE = 0 , B64_LAST_STRICT = 1 , B64_LAST_STOP_BEFORE_PARTIAL = 2 }
 
enum  AtomicsOpEnum {
  ATOMICS_OP_ADD , ATOMICS_OP_AND , ATOMICS_OP_OR , ATOMICS_OP_SUB ,
  ATOMICS_OP_XOR , ATOMICS_OP_EXCHANGE , ATOMICS_OP_COMPARE_EXCHANGE , ATOMICS_OP_LOAD
}
 

Functions

JSValue __attribute__ ((format(printf, 2, 3)))
 
JSValue JS_ThrowOutOfMemory (JSContext *ctx)
 
void * js_malloc_rt (JSRuntime *rt, size_t size)
 
void js_free_rt (JSRuntime *rt, void *ptr)
 
void * js_realloc_rt (JSRuntime *rt, void *ptr, size_t size)
 
size_t js_malloc_usable_size_rt (JSRuntime *rt, const void *ptr)
 
void * js_mallocz_rt (JSRuntime *rt, size_t size)
 
void * js_malloc (JSContext *ctx, size_t size)
 
void * js_mallocz (JSContext *ctx, size_t size)
 
void js_free (JSContext *ctx, void *ptr)
 
void * js_realloc (JSContext *ctx, void *ptr, size_t size)
 
void * js_realloc2 (JSContext *ctx, void *ptr, size_t size, size_t *pslack)
 
size_t js_malloc_usable_size (JSContext *ctx, const void *ptr)
 
char * js_strndup (JSContext *ctx, const char *s, size_t n)
 
char * js_strdup (JSContext *ctx, const char *str)
 
JSRuntime * JS_NewRuntime2 (const JSMallocFunctions *mf, void *opaque)
 
void * JS_GetRuntimeOpaque (JSRuntime *rt)
 
void JS_SetRuntimeOpaque (JSRuntime *rt, void *opaque)
 
JSRuntime * JS_NewRuntime (void)
 
void JS_SetMemoryLimit (JSRuntime *rt, size_t limit)
 
void JS_SetGCThreshold (JSRuntime *rt, size_t gc_threshold)
 
void JS_SetInterruptHandler (JSRuntime *rt, JSInterruptHandler *cb, void *opaque)
 
void JS_SetCanBlock (JSRuntime *rt, BOOL can_block)
 
void JS_SetSharedArrayBufferFunctions (JSRuntime *rt, const JSSharedArrayBufferFunctions *sf)
 
void JS_SetStripInfo (JSRuntime *rt, int flags)
 
int JS_GetStripInfo (JSRuntime *rt)
 
int JS_EnqueueJob (JSContext *ctx, JSJobFunc *job_func, int argc, JSValueConst *argv)
 
BOOL JS_IsJobPending (JSRuntime *rt)
 
int JS_ExecutePendingJob (JSRuntime *rt, JSContext **pctx)
 
void JS_SetRuntimeInfo (JSRuntime *rt, const char *s)
 
void JS_FreeRuntime (JSRuntime *rt)
 
JSContext * JS_NewContextRaw (JSRuntime *rt)
 
JSContext * JS_NewContext (JSRuntime *rt)
 
void * JS_GetContextOpaque (JSContext *ctx)
 
void JS_SetContextOpaque (JSContext *ctx, void *opaque)
 
void JS_SetClassProto (JSContext *ctx, JSClassID class_id, JSValue obj)
 
JSValue JS_GetClassProto (JSContext *ctx, JSClassID class_id)
 
JSContext * JS_DupContext (JSContext *ctx)
 
void JS_FreeContext (JSContext *ctx)
 
JSRuntime * JS_GetRuntime (JSContext *ctx)
 
void JS_SetMaxStackSize (JSRuntime *rt, size_t stack_size)
 
void JS_UpdateStackTop (JSRuntime *rt)
 
JSAtom JS_DupAtom (JSContext *ctx, JSAtom v)
 
JSAtom JS_NewAtomLen (JSContext *ctx, const char *str, size_t len)
 
JSAtom JS_NewAtom (JSContext *ctx, const char *str)
 
JSAtom JS_NewAtomUInt32 (JSContext *ctx, uint32_t n)
 
JSValue JS_AtomToValue (JSContext *ctx, JSAtom atom)
 
JSValue JS_AtomToString (JSContext *ctx, JSAtom atom)
 
void JS_FreeAtom (JSContext *ctx, JSAtom v)
 
void JS_FreeAtomRT (JSRuntime *rt, JSAtom v)
 
const char * JS_AtomToCStringLen (JSContext *ctx, size_t *plen, JSAtom atom)
 
JSClassID JS_NewClassID (JSClassID *pclass_id)
 
JSClassID JS_GetClassID (JSValue v)
 
BOOL JS_IsRegisteredClass (JSRuntime *rt, JSClassID class_id)
 
int JS_NewClass (JSRuntime *rt, JSClassID class_id, const JSClassDef *class_def)
 
JSValue JS_NewStringLen (JSContext *ctx, const char *buf, size_t buf_len)
 
JSValue JS_NewAtomString (JSContext *ctx, const char *str)
 
const char * JS_ToCStringLen2 (JSContext *ctx, size_t *plen, JSValueConst val1, BOOL cesu8)
 
void JS_FreeCString (JSContext *ctx, const char *ptr)
 
JSValue JS_NewObjectProtoClass (JSContext *ctx, JSValueConst proto_val, JSClassID class_id)
 
JSValue JS_NewObjectClass (JSContext *ctx, int class_id)
 
JSValue JS_NewObjectProto (JSContext *ctx, JSValueConst proto)
 
JSValue JS_NewArray (JSContext *ctx)
 
JSValue JS_NewObject (JSContext *ctx)
 
JSValue JS_NewCFunction2 (JSContext *ctx, JSCFunction *func, const char *name, int length, JSCFunctionEnum cproto, int magic)
 
JSValue JS_NewCFunctionData (JSContext *ctx, JSCFunctionData *func, int length, int magic, int data_len, JSValueConst *data)
 
void __JS_FreeValueRT (JSRuntime *rt, JSValue v)
 
void __JS_FreeValue (JSContext *ctx, JSValue v)
 
void JS_MarkValue (JSRuntime *rt, JSValueConst val, JS_MarkFunc *mark_func)
 
void JS_RunGC (JSRuntime *rt)
 
BOOL JS_IsLiveObject (JSRuntime *rt, JSValueConst obj)
 
void JS_ComputeMemoryUsage (JSRuntime *rt, JSMemoryUsage *s)
 
void JS_DumpMemoryUsage (FILE *fp, const JSMemoryUsage *s, JSRuntime *rt)
 
JSValue JS_GetGlobalObject (JSContext *ctx)
 
JSValue JS_Throw (JSContext *ctx, JSValue obj)
 
JSValue JS_GetException (JSContext *ctx)
 
JS_BOOL JS_HasException (JSContext *ctx)
 
JSValue JS_NewError (JSContext *ctx)
 
int JS_SetPrototype (JSContext *ctx, JSValueConst obj, JSValueConst proto_val)
 
JSValue JS_GetPrototype (JSContext *ctx, JSValueConst obj)
 
int JS_IsInstanceOf (JSContext *ctx, JSValueConst val, JSValueConst obj)
 
JSValue JS_GetPropertyInternal (JSContext *ctx, JSValueConst obj, JSAtom prop, JSValueConst this_obj, BOOL throw_ref_error)
 
void JS_FreePropertyEnum (JSContext *ctx, JSPropertyEnum *tab, uint32_t len)
 
int JS_GetOwnPropertyNames (JSContext *ctx, JSPropertyEnum **ptab, uint32_t *plen, JSValueConst obj, int flags)
 
int JS_GetOwnProperty (JSContext *ctx, JSPropertyDescriptor *desc, JSValueConst obj, JSAtom prop)
 
int JS_IsExtensible (JSContext *ctx, JSValueConst obj)
 
int JS_PreventExtensions (JSContext *ctx, JSValueConst obj)
 
int JS_HasProperty (JSContext *ctx, JSValueConst obj, JSAtom prop)
 
JSAtom JS_ValueToAtom (JSContext *ctx, JSValueConst val)
 
JSValue JS_GetPropertyUint32 (JSContext *ctx, JSValueConst this_obj, uint32_t idx)
 
JSValue JS_GetPropertyStr (JSContext *ctx, JSValueConst this_obj, const char *prop)
 
int JS_SetPropertyInternal (JSContext *ctx, JSValueConst obj, JSAtom prop, JSValue val, JSValueConst this_obj, int flags)
 
int JS_SetPropertyUint32 (JSContext *ctx, JSValueConst this_obj, uint32_t idx, JSValue val)
 
int JS_SetPropertyInt64 (JSContext *ctx, JSValueConst this_obj, int64_t idx, JSValue val)
 
int JS_SetPropertyStr (JSContext *ctx, JSValueConst this_obj, const char *prop, JSValue val)
 
int JS_DefineProperty (JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValueConst val, JSValueConst getter, JSValueConst setter, int flags)
 
int JS_DefinePropertyValue (JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValue val, int flags)
 
int JS_DefinePropertyValueValue (JSContext *ctx, JSValueConst this_obj, JSValue prop, JSValue val, int flags)
 
int JS_DefinePropertyValueUint32 (JSContext *ctx, JSValueConst this_obj, uint32_t idx, JSValue val, int flags)
 
int JS_DefinePropertyValueInt64 (JSContext *ctx, JSValueConst this_obj, int64_t idx, JSValue val, int flags)
 
int JS_DefinePropertyValueStr (JSContext *ctx, JSValueConst this_obj, const char *prop, JSValue val, int flags)
 
int JS_DefinePropertyGetSet (JSContext *ctx, JSValueConst this_obj, JSAtom prop, JSValue getter, JSValue setter, int flags)
 
int JS_DeleteProperty (JSContext *ctx, JSValueConst obj, JSAtom prop, int flags)
 
int JS_DeletePropertyInt64 (JSContext *ctx, JSValueConst obj, int64_t idx, int flags)
 
BOOL JS_IsFunction (JSContext *ctx, JSValueConst val)
 
BOOL JS_IsCFunction (JSContext *ctx, JSValueConst val, JSCFunction *func, int magic)
 
BOOL JS_IsConstructor (JSContext *ctx, JSValueConst val)
 
BOOL JS_SetConstructorBit (JSContext *ctx, JSValueConst func_obj, BOOL val)
 
BOOL JS_IsError (JSContext *ctx, JSValueConst val)
 
void JS_SetUncatchableException (JSContext *ctx, BOOL flag)
 
void JS_SetOpaque (JSValue obj, void *opaque)
 
void * JS_GetOpaque (JSValueConst obj, JSClassID class_id)
 
void * JS_GetOpaque2 (JSContext *ctx, JSValueConst obj, JSClassID class_id)
 
void * JS_GetAnyOpaque (JSValueConst obj, JSClassID *class_id)
 
void JS_SetIsHTMLDDA (JSContext *ctx, JSValueConst obj)
 
int JS_ToBool (JSContext *ctx, JSValueConst val)
 
int JS_ToFloat64 (JSContext *ctx, double *pres, JSValueConst val)
 
int JS_ToInt32Sat (JSContext *ctx, int *pres, JSValueConst val)
 
int JS_ToInt32Clamp (JSContext *ctx, int *pres, JSValueConst val, int min, int max, int min_offset)
 
int JS_ToInt64Sat (JSContext *ctx, int64_t *pres, JSValueConst val)
 
int JS_ToInt64Clamp (JSContext *ctx, int64_t *pres, JSValueConst val, int64_t min, int64_t max, int64_t neg_offset)
 
int JS_ToInt64 (JSContext *ctx, int64_t *pres, JSValueConst val)
 
int JS_ToInt64Ext (JSContext *ctx, int64_t *pres, JSValueConst val)
 
int JS_ToInt32 (JSContext *ctx, int32_t *pres, JSValueConst val)
 
int JS_ToIndex (JSContext *ctx, uint64_t *plen, JSValueConst val)
 
JSValue JS_ToString (JSContext *ctx, JSValueConst val)
 
JSValue JS_ToPropertyKey (JSContext *ctx, JSValueConst val)
 
void JS_PrintValueSetDefaultOptions (JSPrintValueOptions *options)
 
void JS_PrintValueRT (JSRuntime *rt, JSPrintValueWrite *write_func, void *write_opaque, JSValueConst val, const JSPrintValueOptions *options)
 
void JS_PrintValue (JSContext *ctx, JSPrintValueWrite *write_func, void *write_opaque, JSValueConst val, const JSPrintValueOptions *options)
 
int JS_IsArray (JSContext *ctx, JSValueConst val)
 
JSValue JS_NewBigInt64 (JSContext *ctx, int64_t v)
 
JSValue JS_NewBigUint64 (JSContext *ctx, uint64_t v)
 
int JS_ToBigInt64 (JSContext *ctx, int64_t *pres, JSValueConst val)
 
BOOL JS_StrictEq (JSContext *ctx, JSValueConst op1, JSValueConst op2)
 
BOOL JS_SameValue (JSContext *ctx, JSValueConst op1, JSValueConst op2)
 
BOOL JS_SameValueZero (JSContext *ctx, JSValueConst op1, JSValueConst op2)
 
JSValue JS_Call (JSContext *ctx, JSValueConst func_obj, JSValueConst this_obj, int argc, JSValueConst *argv)
 
JSValue JS_CallConstructor2 (JSContext *ctx, JSValueConst func_obj, JSValueConst new_target, int argc, JSValueConst *argv)
 
JSValue JS_CallConstructor (JSContext *ctx, JSValueConst func_obj, int argc, JSValueConst *argv)
 
JSValue JS_Invoke (JSContext *ctx, JSValueConst this_val, JSAtom atom, int argc, JSValueConst *argv)
 
BOOL JS_DetectModule (const char *input, size_t input_len)
 
JSModuleDef * JS_NewCModule (JSContext *ctx, const char *name_str, JSModuleInitFunc *func)
 
int JS_AddModuleExport (JSContext *ctx, JSModuleDef *m, const char *export_name)
 
int JS_SetModuleExport (JSContext *ctx, JSModuleDef *m, const char *export_name, JSValue val)
 
int JS_SetModulePrivateValue (JSContext *ctx, JSModuleDef *m, JSValue val)
 
JSValue JS_GetModulePrivateValue (JSContext *ctx, JSModuleDef *m)
 
void JS_SetModuleLoaderFunc (JSRuntime *rt, JSModuleNormalizeFunc *module_normalize, JSModuleLoaderFunc *module_loader, void *opaque)
 
void JS_SetModuleLoaderFunc2 (JSRuntime *rt, JSModuleNormalizeFunc *module_normalize, JSModuleLoaderFunc2 *module_loader, JSModuleCheckSupportedImportAttributes *module_check_attrs, void *opaque)
 
JSValue JS_GetModuleNamespace (JSContext *ctx, JSModuleDef *m)
 
JSAtom JS_GetScriptOrModuleName (JSContext *ctx, int n_stack_levels)
 
JSAtom JS_GetModuleName (JSContext *ctx, JSModuleDef *m)
 
JSValue JS_GetImportMeta (JSContext *ctx, JSModuleDef *m)
 
JSValue JS_LoadModule (JSContext *ctx, const char *basename, const char *filename)
 
JSValue JS_EvalFunction (JSContext *ctx, JSValue fun_obj)
 
JSValue JS_EvalThis (JSContext *ctx, JSValueConst this_obj, const char *input, size_t input_len, const char *filename, int eval_flags)
 
JSValue JS_Eval (JSContext *ctx, const char *input, size_t input_len, const char *filename, int eval_flags)
 
int JS_ResolveModule (JSContext *ctx, JSValueConst obj)
 
uint8_t * JS_WriteObject2 (JSContext *ctx, size_t *psize, JSValueConst obj, int flags, uint8_t ***psab_tab, size_t *psab_tab_len)
 
uint8_t * JS_WriteObject (JSContext *ctx, size_t *psize, JSValueConst obj, int flags)
 
JSValue JS_ReadObject (JSContext *ctx, const uint8_t *buf, size_t buf_len, int flags)
 
int JS_SetPropertyFunctionList (JSContext *ctx, JSValueConst obj, const JSCFunctionListEntry *tab, int len)
 
int JS_AddModuleExportList (JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry *tab, int len)
 
int JS_SetModuleExportList (JSContext *ctx, JSModuleDef *m, const JSCFunctionListEntry *tab, int len)
 
int JS_SetConstructor (JSContext *ctx, JSValueConst func_obj, JSValueConst proto)
 
JSValue js_string_codePointRange (JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv)
 
int JS_AddIntrinsicStringNormalize (JSContext *ctx)
 
int lre_check_stack_overflow (void *opaque, size_t alloca_size)
 
int lre_check_timeout (void *opaque)
 
void * lre_realloc (void *opaque, void *ptr, size_t size)
 
void JS_AddIntrinsicRegExpCompiler (JSContext *ctx)
 
int JS_AddIntrinsicRegExp (JSContext *ctx)
 
JSValue JS_ParseJSON3 (JSContext *ctx, const char *buf, size_t buf_len, const char *filename, int flags, JSONParseRecord *pr)
 
JSValue JS_ParseJSON2 (JSContext *ctx, const char *buf, size_t buf_len, const char *filename, int flags)
 
JSValue JS_ParseJSON (JSContext *ctx, const char *buf, size_t buf_len, const char *filename)
 
JSValue JS_JSONStringify (JSContext *ctx, JSValueConst obj, JSValueConst replacer, JSValueConst space0)
 
int JS_AddIntrinsicJSON (JSContext *ctx)
 
int JS_AddIntrinsicProxy (JSContext *ctx)
 
int JS_AddIntrinsicMapSet (JSContext *ctx)
 
JSPromiseStateEnum JS_PromiseState (JSContext *ctx, JSValue promise)
 
JSValue JS_PromiseResult (JSContext *ctx, JSValue promise)
 
void JS_SetHostPromiseRejectionTracker (JSRuntime *rt, JSHostPromiseRejectionTracker *cb, void *opaque)
 
JSValue JS_NewPromiseCapability (JSContext *ctx, JSValue *resolving_funcs)
 
int JS_AddIntrinsicPromise (JSContext *ctx)
 
JSValue JS_NewDate (JSContext *ctx, double epoch_ms)
 
int JS_AddIntrinsicDate (JSContext *ctx)
 
int JS_AddIntrinsicEval (JSContext *ctx)
 
int JS_AddIntrinsicBaseObjects (JSContext *ctx)
 
JSValue JS_NewArrayBuffer (JSContext *ctx, uint8_t *buf, size_t len, JSFreeArrayBufferDataFunc *free_func, void *opaque, BOOL is_shared)
 
JSValue JS_NewArrayBufferCopy (JSContext *ctx, const uint8_t *buf, size_t len)
 
void JS_DetachArrayBuffer (JSContext *ctx, JSValueConst obj)
 
uint8_t * JS_GetArrayBuffer (JSContext *ctx, size_t *psize, JSValueConst obj)
 
JSValue JS_NewTypedArray (JSContext *ctx, int argc, JSValueConst *argv, JSTypedArrayEnum type)
 
JSValue JS_GetTypedArrayBuffer (JSContext *ctx, JSValueConst obj, size_t *pbyte_offset, size_t *pbyte_length, size_t *pbytes_per_element)
 
int JS_AddIntrinsicTypedArrays (JSContext *ctx)
 
int JS_AddIntrinsicWeakRef (JSContext *ctx)
 

Variables

 JSStrictEqModeEnum
 

Macro Definition Documentation

◆ __exception

#define __exception   __attribute__((warn_unused_result))

◆ ADDC

#define ADDC (   res,
  carry_out,
  op1,
  op2,
  carry_in 
)
Value:
do { \
js_limb_t __v, __a, __k, __k1; \
__v = (op1); \
__a = __v + (op2); \
__k1 = __a < __v; \
__k = (carry_in); \
__a = __a + __k; \
carry_out = (__a < __k) | __k1; \
res = __a; \
} while (0)
uint64_t js_limb_t
Definition quickjs.c:493

◆ ARG_SCOPE_END

#define ARG_SCOPE_END   (-2)

◆ ARG_SCOPE_INDEX

#define ARG_SCOPE_INDEX   1

◆ ARGUMENT_VAR_OFFSET

#define ARGUMENT_VAR_OFFSET   0x20000000

◆ ATOD_ACCEPT_BIN_OCT

#define ATOD_ACCEPT_BIN_OCT   (1 << 2)

◆ ATOD_ACCEPT_LEGACY_OCTAL

#define ATOD_ACCEPT_LEGACY_OCTAL   (1 << 4)

◆ ATOD_ACCEPT_PREFIX_AFTER_SIGN

#define ATOD_ACCEPT_PREFIX_AFTER_SIGN   (1 << 10)

◆ ATOD_ACCEPT_SUFFIX

#define ATOD_ACCEPT_SUFFIX   (1 << 6)

◆ ATOD_ACCEPT_UNDERSCORES

#define ATOD_ACCEPT_UNDERSCORES   (1 << 5)

◆ ATOD_INT_ONLY

#define ATOD_INT_ONLY   (1 << 0)

◆ ATOD_TYPE_BIG_INT

#define ATOD_TYPE_BIG_INT   (1 << 7)

◆ ATOD_TYPE_FLOAT64

#define ATOD_TYPE_FLOAT64   (0 << 7)

◆ ATOD_TYPE_MASK

#define ATOD_TYPE_MASK   (3 << 7)

◆ ATOM_GET_STR_BUF_SIZE

#define ATOM_GET_STR_BUF_SIZE   64

◆ bc_read_trace

#define bc_read_trace (   ...)

◆ BC_VERSION

#define BC_VERSION   5

◆ BREAK

#define BREAK   SWITCH(pc)

◆ CASE

#define CASE (   op)    case_ ## op

◆ CONFIG_ATOMICS

#define CONFIG_ATOMICS

◆ CONFIG_PRINTF_RNDN

#define CONFIG_PRINTF_RNDN

◆ CONFIG_STACK_CHECK

#define CONFIG_STACK_CHECK

◆ CP_BOM

#define CP_BOM   0xfeff

◆ CP_LS

#define CP_LS   0x2028

◆ CP_NBSP

#define CP_NBSP   0x00a0

◆ CP_PS

#define CP_PS   0x2029

◆ DECL_MASK_ALL

#define DECL_MASK_ALL   (DECL_MASK_FUNC | DECL_MASK_FUNC_WITH_LABEL | DECL_MASK_OTHER)

◆ DECL_MASK_FUNC

#define DECL_MASK_FUNC   (1 << 0) /* allow normal function declaration */

◆ DECL_MASK_FUNC_WITH_LABEL

#define DECL_MASK_FUNC_WITH_LABEL   (1 << 1)

◆ DECL_MASK_OTHER

#define DECL_MASK_OTHER   (1 << 2) /* all other declarations */

◆ DEF [1/8]

#define DEF (   id,
  size,
  n_pop,
  n_push,
  f 
)

◆ DEF [2/8]

#define DEF (   id,
  size,
  n_pop,
  n_push,
  f 
)    OP_ ## id,

◆ def [1/3]

#define def (   id,
  size,
  n_pop,
  n_push,
  f 
)

◆ DEF [3/8]

#define DEF (   id,
  size,
  n_pop,
  n_push,
  f 
)

◆ def [2/3]

#define def (   id,
  size,
  n_pop,
  n_push,
  f 
)    OP_ ## id,

◆ DEF [4/8]

#define DEF (   id,
  size,
  n_pop,
  n_push,
  f 
)    && case_OP_ ## id,

◆ def [3/3]

#define def (   id,
  size,
  n_pop,
  n_push,
  f 
)

◆ DEF [5/8]

#define DEF (   id,
  size,
  n_pop,
  n_push,
  f 
)    { size, n_pop, n_push, OP_FMT_ ## f },

◆ DEF [6/8]

#define DEF (   name)
Value:
JS_PROP_STRING_DEF("message", "", JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE ),
char name[6]
Definition quickjs.c:55586
#define JS_PROP_ATOM_DEF(name, val, prop_flags)
Definition quickjs.h:1122
#define JS_PROP_WRITABLE
Definition quickjs.h:299
#define JS_PROP_CONFIGURABLE
Definition quickjs.h:298

◆ DEF [7/8]

#define DEF (   name,
  str 
)    JS_ATOM_ ## name,

◆ DEF [8/8]

#define DEF (   name,
  str 
)    str "\0"

◆ DEFAULT

#define DEFAULT   case_default

◆ DEFINE_GLOBAL_FUNC_VAR

#define DEFINE_GLOBAL_FUNC_VAR   (1 << 6)

◆ DEFINE_GLOBAL_LEX_VAR

#define DEFINE_GLOBAL_LEX_VAR   (1 << 7)

◆ DIRECT_DISPATCH

#define DIRECT_DISPATCH   1

◆ FMT [1/4]

#define FMT (   f)    OP_FMT_ ## f,

◆ FMT [2/4]

#define FMT (   f)

◆ FMT [3/4]

#define FMT (   f)

◆ FMT [4/4]

#define FMT (   f)

◆ free

#define free (   p)    free_is_forbidden(p)

◆ FREE_NIL

#define FREE_NIL   0xffff

◆ FUNC_RET_AWAIT

#define FUNC_RET_AWAIT   0

◆ FUNC_RET_INITIAL_YIELD

#define FUNC_RET_INITIAL_YIELD   3

◆ FUNC_RET_YIELD

#define FUNC_RET_YIELD   1

◆ FUNC_RET_YIELD_STAR

#define FUNC_RET_YIELD_STAR   2

◆ GEN_MAGIC_NEXT

#define GEN_MAGIC_NEXT   0

◆ GEN_MAGIC_RETURN

#define GEN_MAGIC_RETURN   1

◆ GEN_MAGIC_THROW

#define GEN_MAGIC_THROW   2

◆ GET_ARRAY_EL_INLINE

#define GET_ARRAY_EL_INLINE (   name,
  keep 
)

◆ GET_FIELD_INLINE

#define GET_FIELD_INLINE (   name,
  keep,
  is_length 
)

◆ GLOBAL_VAR_OFFSET

#define GLOBAL_VAR_OFFSET   0x40000000

◆ HASH_MUL32

#define HASH_MUL32   0x61C88647

◆ HASH_MUL64

#define HASH_MUL64   UINT64_C(0x61C8864680B583EB)

◆ HINT_FORCE_ORDINARY

#define HINT_FORCE_ORDINARY   (1 << 4)

◆ HINT_NONE

#define HINT_NONE   2

◆ HINT_NUMBER

#define HINT_NUMBER   1

◆ HINT_STRING

#define HINT_STRING   0

◆ JS_ATOM_COUNT_RESIZE

#define JS_ATOM_COUNT_RESIZE (   n)    ((n) * 2)

◆ JS_ATOM_HASH_MASK

#define JS_ATOM_HASH_MASK   ((1 << 30) - 1)

◆ JS_ATOM_HASH_PRIVATE

#define JS_ATOM_HASH_PRIVATE   JS_ATOM_HASH_MASK

◆ JS_ATOM_LAST_KEYWORD

#define JS_ATOM_LAST_KEYWORD   JS_ATOM_super

◆ JS_ATOM_LAST_STRICT_KEYWORD

#define JS_ATOM_LAST_STRICT_KEYWORD   JS_ATOM_yield

◆ JS_ATOM_MAX

#define JS_ATOM_MAX   ((1U << 30) - 1)

◆ JS_ATOM_MAX_INT

#define JS_ATOM_MAX_INT   (JS_ATOM_TAG_INT - 1)

◆ JS_ATOM_TAG_INT

#define JS_ATOM_TAG_INT   (1U << 31)

◆ JS_BACKTRACE_FLAG_SKIP_FIRST_LEVEL

#define JS_BACKTRACE_FLAG_SKIP_FIRST_LEVEL   (1 << 0)

◆ JS_BIGINT_MAX_SIZE

#define JS_BIGINT_MAX_SIZE   ((1024 * 1024) / JS_LIMB_BITS) /* in limbs */

◆ JS_CALL_FLAG_COPY_ARGV

#define JS_CALL_FLAG_COPY_ARGV   (1 << 1)

◆ JS_CALL_FLAG_GENERATOR

#define JS_CALL_FLAG_GENERATOR   (1 << 2)

◆ JS_DEFINE_CLASS_HAS_HERITAGE

#define JS_DEFINE_CLASS_HAS_HERITAGE   (1 << 0)

◆ JS_INTERRUPT_COUNTER_INIT

#define JS_INTERRUPT_COUNTER_INIT   10000

◆ JS_LIMB_DIGITS

#define JS_LIMB_DIGITS   19

◆ JS_MALLOC_ALIGN

#define JS_MALLOC_ALIGN   8

◆ JS_MALLOC_ARENA_SIZE

#define JS_MALLOC_ARENA_SIZE   4096

◆ JS_MALLOC_BLOCK_SIZE_COUNT

#define JS_MALLOC_BLOCK_SIZE_COUNT   31

◆ JS_MALLOC_LARGE_BLOCKS_ONLY

#define JS_MALLOC_LARGE_BLOCKS_ONLY   0

◆ JS_MALLOC_MAX_SMALL_SIZE

#define JS_MALLOC_MAX_SMALL_SIZE   512

◆ JS_MALLOC_MIN_SMALL_SIZE

#define JS_MALLOC_MIN_SMALL_SIZE   16

◆ JS_MAX_LOCAL_VARS

#define JS_MAX_LOCAL_VARS   65534

◆ JS_MODE_ASYNC

#define JS_MODE_ASYNC   (1 << 2) /* async function */

◆ JS_MODE_BACKTRACE_BARRIER

#define JS_MODE_BACKTRACE_BARRIER   (1 << 3) /* stop backtrace before this frame */

◆ JS_MODE_STRICT

#define JS_MODE_STRICT   (1 << 0)

◆ JS_NEW_CTOR_NO_GLOBAL

#define JS_NEW_CTOR_NO_GLOBAL   (1 << 0) /* don't create a global binding */

◆ JS_NEW_CTOR_PROTO_CLASS

#define JS_NEW_CTOR_PROTO_CLASS   (1 << 1) /* the prototype class is 'class_id' instead of JS_CLASS_OBJECT */

◆ JS_NEW_CTOR_PROTO_EXIST

#define JS_NEW_CTOR_PROTO_EXIST   (1 << 2) /* the prototype is already defined */

◆ JS_NEW_CTOR_READONLY

#define JS_NEW_CTOR_READONLY   (1 << 3) /* read-only constructor field */

◆ JS_PRINT_MAX_DEPTH

#define JS_PRINT_MAX_DEPTH   8

◆ JS_PROP_INITIAL_HASH_SIZE

#define JS_PROP_INITIAL_HASH_SIZE   4 /* must be a power of two */

◆ JS_PROP_INITIAL_SIZE

#define JS_PROP_INITIAL_SIZE   2

◆ JS_RADIX_MAX

#define JS_RADIX_MAX   36

◆ JS_STACK_SIZE_MAX

#define JS_STACK_SIZE_MAX   65534

◆ JS_STRING_LEN_MAX

#define JS_STRING_LEN_MAX   ((1 << 30) - 1)

◆ JS_STRING_ROPE_MAX_DEPTH

#define JS_STRING_ROPE_MAX_DEPTH   60

◆ JS_STRING_ROPE_SHORT2_LEN

#define JS_STRING_ROPE_SHORT2_LEN   8192

◆ JS_STRING_ROPE_SHORT_LEN

#define JS_STRING_ROPE_SHORT_LEN   512

◆ JS_THROW_ERROR_DELETE_SUPER

#define JS_THROW_ERROR_DELETE_SUPER   3

◆ JS_THROW_ERROR_ITERATOR_THROW

#define JS_THROW_ERROR_ITERATOR_THROW   4

◆ JS_THROW_VAR_REDECL

#define JS_THROW_VAR_REDECL   1

◆ JS_THROW_VAR_RO

#define JS_THROW_VAR_RO   0

◆ JS_THROW_VAR_UNINITIALIZED

#define JS_THROW_VAR_UNINITIALIZED   2

◆ JS_ThrowSyntaxErrorAtom

#define JS_ThrowSyntaxErrorAtom (   ctx,
  fmt,
  atom 
)    __JS_ThrowSyntaxErrorAtom(ctx, atom, fmt, "")

◆ JS_ThrowTypeErrorAtom

#define JS_ThrowTypeErrorAtom (   ctx,
  fmt,
  atom 
)    __JS_ThrowTypeErrorAtom(ctx, atom, fmt, "")

◆ JS_TYPED_ARRAY_COUNT

#define JS_TYPED_ARRAY_COUNT   (JS_CLASS_FLOAT64_ARRAY - JS_CLASS_UINT8C_ARRAY + 1)

◆ JS_VALUE_GET_OBJ

#define JS_VALUE_GET_OBJ (   v)    ((JSObject *)JS_VALUE_GET_PTR(v))

◆ JS_VALUE_GET_STRING

#define JS_VALUE_GET_STRING (   v)    ((JSString *)JS_VALUE_GET_PTR(v))

◆ JS_VALUE_GET_STRING_ROPE

#define JS_VALUE_GET_STRING_ROPE (   v)    ((JSStringRope *)JS_VALUE_GET_PTR(v))

◆ K_ER

#define K_ER   65

◆ K_WS

#define K_WS   64

◆ M2

#define M2 (   op1,
  op2 
)    ((op1) | ((op2) << 8))

◆ M3

#define M3 (   op1,
  op2,
  op3 
)    ((op1) | ((op2) << 8) | ((op3) << 16))

◆ M4

#define M4 (   op1,
  op2,
  op3,
  op4 
)    ((op1) | ((op2) << 8) | ((op3) << 16) | ((op4) << 24))

◆ MAGIC_SET

#define MAGIC_SET   (1 << 0)

◆ MAGIC_WEAK

#define MAGIC_WEAK   (1 << 1)

◆ malloc

#define malloc (   s)    malloc_is_forbidden(s)

◆ MALLOC_OVERHEAD

#define MALLOC_OVERHEAD   8

◆ MAX_SAFE_INTEGER

#define MAX_SAFE_INTEGER   (((int64_t)1 << 53) - 1)

◆ OP

#define OP (   op_name,
  func_name 
)
Value:
case ATOMICS_OP_ ## op_name | (0 << 3): \
a = func_name((_Atomic(uint8_t) *)ptr, v); \
break; \
case ATOMICS_OP_ ## op_name | (1 << 3): \
a = func_name((_Atomic(uint16_t) *)ptr, v); \
break; \
case ATOMICS_OP_ ## op_name | (2 << 3): \
a = func_name((_Atomic(uint32_t) *)ptr, v); \
break; \
case ATOMICS_OP_ ## op_name | (3 << 3): \
a = func_name((_Atomic(uint64_t) *)ptr, v); \
break;
size_t a
Definition main.cpp:156
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162

◆ OP_CMP

#define OP_CMP (   opcode,
  binary_op,
  slow_call 
)
Value:
CASE(opcode): \
{ \
JSValue op1, op2; \
op1 = sp[-2]; \
op2 = sp[-1]; \
if (likely(JS_VALUE_IS_BOTH_INT(op1, op2))) { \
sp[-2] = JS_NewBool(ctx, JS_VALUE_GET_INT(op1) binary_op JS_VALUE_GET_INT(op2)); \
sp--; \
} else { \
sf->cur_pc = pc; \
if (slow_call) \
goto exception; \
sp--; \
} \
} \
#define likely(x)
Definition compiler.h:29
#define CASE(op)
#define BREAK
#define JS_VALUE_GET_INT(v)
Definition quickjs.h:239
#define JS_VALUE_IS_BOTH_INT(v1, v2)
Definition quickjs.h:284
Definition quickjs.h:229

◆ OP_DEFINE_METHOD_ENUMERABLE

#define OP_DEFINE_METHOD_ENUMERABLE   4

◆ OP_DEFINE_METHOD_GETTER

#define OP_DEFINE_METHOD_GETTER   1

◆ OP_DEFINE_METHOD_METHOD

#define OP_DEFINE_METHOD_METHOD   0

◆ OP_DEFINE_METHOD_SETTER

#define OP_DEFINE_METHOD_SETTER   2

◆ OPTIMIZE

#define OPTIMIZE   1

◆ PC2LINE_BASE

#define PC2LINE_BASE   (-1)

◆ PC2LINE_DIFF_PC_MAX

#define PC2LINE_DIFF_PC_MAX   ((255 - PC2LINE_OP_FIRST) / PC2LINE_RANGE)

◆ PC2LINE_OP_FIRST

#define PC2LINE_OP_FIRST   1

◆ PC2LINE_RANGE

#define PC2LINE_RANGE   5

◆ PF_IN_ACCEPTED

#define PF_IN_ACCEPTED   (1 << 0)

◆ PF_POSTFIX_CALL

#define PF_POSTFIX_CALL   (1 << 1)

◆ PF_POW_ALLOWED

#define PF_POW_ALLOWED   (1 << 2)

◆ PF_POW_FORBIDDEN

#define PF_POW_FORBIDDEN   (1 << 3)

◆ PROMISE_MAGIC_all

#define PROMISE_MAGIC_all   0

◆ PROMISE_MAGIC_allSettled

#define PROMISE_MAGIC_allSettled   1

◆ PROMISE_MAGIC_any

#define PROMISE_MAGIC_any   2

◆ PROP_TYPE_ASYNC

#define PROP_TYPE_ASYNC   5

◆ PROP_TYPE_ASYNC_STAR

#define PROP_TYPE_ASYNC_STAR   6

◆ PROP_TYPE_GET

#define PROP_TYPE_GET   2

◆ PROP_TYPE_IDENT

#define PROP_TYPE_IDENT   0

◆ PROP_TYPE_PRIVATE

#define PROP_TYPE_PRIVATE   (1 << 4)

◆ PROP_TYPE_SET

#define PROP_TYPE_SET   3

◆ PROP_TYPE_STAR

#define PROP_TYPE_STAR   4

◆ PROP_TYPE_VAR

#define PROP_TYPE_VAR   1

◆ RE_FLAG_COUNT

#define RE_FLAG_COUNT   8

◆ realloc

#define realloc (   p,
  s 
)    realloc_is_forbidden(p,s)

◆ ROPE_N_BUCKETS

#define ROPE_N_BUCKETS   44

◆ short_opcode_info

#define short_opcode_info (   op)
Value:
opcode_info[(op) >= OP_TEMP_START ? \
(op) + (OP_TEMP_END - OP_TEMP_START) : (op)]
@ OP_TEMP_START
Definition quickjs.c:1150
@ OP_TEMP_END
Definition quickjs.c:1159

◆ SHORT_OPCODES

#define SHORT_OPCODES   1

◆ SKIP_HAS_ASSIGNMENT

#define SKIP_HAS_ASSIGNMENT   (1 << 2)

◆ SKIP_HAS_ELLIPSIS

#define SKIP_HAS_ELLIPSIS   (1 << 1)

◆ SKIP_HAS_SEMI

#define SKIP_HAS_SEMI   (1 << 0)

◆ SP_LIMB_BITS

#define SP_LIMB_BITS   56

◆ SP_RND_BITS

#define SP_RND_BITS   (SP_LIMB_BITS - 53)

◆ special_every

#define special_every   0

◆ special_filter

#define special_filter   4

◆ special_forEach

#define special_forEach   2

◆ special_includes

#define special_includes   -1

◆ special_indexOf

#define special_indexOf   0

◆ special_lastIndexOf

#define special_lastIndexOf   1

◆ special_map

#define special_map   3

◆ special_reduce

#define special_reduce   0

◆ special_reduceRight

#define special_reduceRight   1

◆ special_some

#define special_some   1

◆ special_TA

#define special_TA   8

◆ SUM_PRECISE_ACC_LEN

#define SUM_PRECISE_ACC_LEN   39

◆ SUM_PRECISE_COUNTER_INIT

#define SUM_PRECISE_COUNTER_INIT   250

◆ SWITCH

#define SWITCH (   pc)    goto *dispatch_table[opcode = *pc++];

◆ TOK_FIRST_KEYWORD

#define TOK_FIRST_KEYWORD   TOK_NULL

◆ TOK_LAST_KEYWORD

#define TOK_LAST_KEYWORD   TOK_AWAIT

◆ typed_array_size_log2

#define typed_array_size_log2 (   classid)    (typed_array_size_log2[(classid)- JS_CLASS_UINT8C_ARRAY])

◆ UDIV1NORM_THRESHOLD

#define UDIV1NORM_THRESHOLD   3

Typedef Documentation

◆ AtomicsOpEnum

◆ BCReaderState

typedef struct BCReaderState BCReaderState

◆ BCTagEnum

typedef enum BCTagEnum BCTagEnum

◆ BCWriterState

typedef struct BCWriterState BCWriterState

◆ BlockEnv

typedef struct BlockEnv BlockEnv

◆ CodeContext

typedef struct CodeContext CodeContext

◆ ExportedNameEntry

◆ FuncCallType

typedef enum FuncCallType FuncCallType

◆ GetExportNamesState

◆ int128_t

typedef __int128 int128_t

◆ js_dlimb_t

◆ js_limb_t

◆ js_sdlimb_t

◆ js_slimb_t

◆ JSArrayBuffer

typedef struct JSArrayBuffer JSArrayBuffer

◆ JSArrayIteratorData

◆ JSAsyncFromSyncIteratorData

◆ JSAsyncFunctionState

◆ JSAsyncGeneratorData

◆ JSAsyncGeneratorRequest

◆ JSAsyncGeneratorStateEnum

◆ JSAtomicsWaiter

◆ JSAtomStruct

typedef struct JSString JSAtomStruct

◆ JSAutoInitFunc

typedef JSValue JSAutoInitFunc(JSContext *ctx, JSObject *p, JSAtom atom, void *opaque)

◆ JSBigInt

typedef struct JSBigInt JSBigInt

◆ JSBoundFunction

◆ JSBytecodeVarDef

◆ JSCFunctionDataRecord

◆ JSClassShortDef

◆ JSClosureVar

typedef struct JSClosureVar JSClosureVar

◆ JSErrorEnum

typedef enum JSErrorEnum JSErrorEnum

◆ JSExportEntry

typedef struct JSExportEntry JSExportEntry

◆ JSExportTypeEnum

◆ JSFinalizationRegistryData

◆ JSFinRecEntry

typedef struct JSFinRecEntry JSFinRecEntry

◆ JSFloat64Union

◆ JSForInIterator

◆ JSFreeModuleEnum

◆ JSFunctionBytecode

◆ JSFunctionDef

typedef struct JSFunctionDef JSFunctionDef

◆ JSFunctionKindEnum

◆ JSGeneratorData

◆ JSGeneratorStateEnum

◆ JSGlobalObject

◆ JSGlobalVar

typedef struct JSGlobalVar JSGlobalVar

◆ JSImportEntry

typedef struct JSImportEntry JSImportEntry

◆ JSIteratorConcatData

◆ JSIteratorHelperData

◆ JSIteratorHelperKindEnum

◆ JSIteratorKindEnum

◆ JSIteratorWrapData

◆ JSJobEntry

typedef struct JSJobEntry JSJobEntry

◆ JSMallocBlockHeader

◆ JSMallocLargeBlockHeader

◆ JSMapIteratorData

◆ JSMapRecord

typedef struct JSMapRecord JSMapRecord

◆ JSMapState

typedef struct JSMapState JSMapState

◆ JSMemoryUsage_helper

◆ JSObject

typedef struct JSObject JSObject

◆ JSONParseRecord

◆ JSONParseRecordEntry

◆ JSONStringifyContext

◆ JSOpCode

typedef struct JSOpCode JSOpCode

◆ JSParseExportEnum

◆ JSParseFunctionEnum

◆ JSParsePos

typedef struct JSParsePos JSParsePos

◆ JSParseState

typedef struct JSParseState JSParseState

◆ JSPromiseData

typedef struct JSPromiseData JSPromiseData

◆ JSPromiseFunctionData

◆ JSPromiseFunctionDataResolved

◆ JSPromiseReactionData

◆ JSProperty

typedef struct JSProperty JSProperty

◆ JSProxyData

typedef struct JSProxyData JSProxyData

◆ JSRegExp

typedef struct JSRegExp JSRegExp

◆ JSRegExpStringIteratorData

◆ JSReqModuleEntry

◆ JSResolveEntry

◆ JSResolveResultEnum

◆ JSResolveState

◆ JSShape

typedef struct JSShape JSShape

◆ JSShapeProperty

◆ JSStackFrame

typedef struct JSStackFrame JSStackFrame

◆ JSStarExportEntry

◆ JSString

typedef struct JSString JSString

◆ JSStringRope

typedef struct JSStringRope JSStringRope

◆ JSToken

typedef struct JSToken JSToken

◆ JSToNumberHintEnum

◆ JSTypedArray

typedef struct JSTypedArray JSTypedArray

◆ JSVarDef

typedef struct JSVarDef JSVarDef

◆ JSVarRef

typedef struct JSVarRef JSVarRef

◆ JSVarScope

typedef struct JSVarScope JSVarScope

◆ JSWeakRefData

typedef struct JSWeakRefData JSWeakRefData

◆ JumpSlot

typedef struct JumpSlot JumpSlot

◆ LabelSlot

typedef struct LabelSlot LabelSlot

◆ LineNumberSlot

◆ OPCodeEnum

typedef enum OPCodeEnum OPCodeEnum

◆ OPCodeFormat

typedef enum OPCodeFormat OPCodeFormat

◆ RelocEntry

typedef struct RelocEntry RelocEntry

◆ StackSizeState

◆ StringBuffer

typedef struct StringBuffer StringBuffer

◆ uint128_t

typedef unsigned __int128 uint128_t

◆ ValueBuffer

typedef struct ValueBuffer ValueBuffer

◆ ValueSlot

typedef struct ValueSlot ValueSlot

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
JS_CLASS_OBJECT 
JS_CLASS_ARRAY 
JS_CLASS_ERROR 
JS_CLASS_NUMBER 
JS_CLASS_STRING 
JS_CLASS_BOOLEAN 
JS_CLASS_SYMBOL 
JS_CLASS_ARGUMENTS 
JS_CLASS_MAPPED_ARGUMENTS 
JS_CLASS_DATE 
JS_CLASS_MODULE_NS 
JS_CLASS_C_FUNCTION 
JS_CLASS_BYTECODE_FUNCTION 
JS_CLASS_BOUND_FUNCTION 
JS_CLASS_C_FUNCTION_DATA 
JS_CLASS_GENERATOR_FUNCTION 
JS_CLASS_FOR_IN_ITERATOR 
JS_CLASS_REGEXP 
JS_CLASS_ARRAY_BUFFER 
JS_CLASS_SHARED_ARRAY_BUFFER 
JS_CLASS_UINT8C_ARRAY 
JS_CLASS_INT8_ARRAY 
JS_CLASS_UINT8_ARRAY 
JS_CLASS_INT16_ARRAY 
JS_CLASS_UINT16_ARRAY 
JS_CLASS_INT32_ARRAY 
JS_CLASS_UINT32_ARRAY 
JS_CLASS_BIG_INT64_ARRAY 
JS_CLASS_BIG_UINT64_ARRAY 
JS_CLASS_FLOAT16_ARRAY 
JS_CLASS_FLOAT32_ARRAY 
JS_CLASS_FLOAT64_ARRAY 
JS_CLASS_DATAVIEW 
JS_CLASS_BIG_INT 
JS_CLASS_MAP 
JS_CLASS_SET 
JS_CLASS_WEAKMAP 
JS_CLASS_WEAKSET 
JS_CLASS_ITERATOR 
JS_CLASS_ITERATOR_CONCAT 
JS_CLASS_ITERATOR_HELPER 
JS_CLASS_ITERATOR_WRAP 
JS_CLASS_MAP_ITERATOR 
JS_CLASS_SET_ITERATOR 
JS_CLASS_ARRAY_ITERATOR 
JS_CLASS_STRING_ITERATOR 
JS_CLASS_REGEXP_STRING_ITERATOR 
JS_CLASS_GENERATOR 
JS_CLASS_GLOBAL_OBJECT 
JS_CLASS_RAWJSON 
JS_CLASS_PROXY 
JS_CLASS_PROMISE 
JS_CLASS_PROMISE_RESOLVE_FUNCTION 
JS_CLASS_PROMISE_REJECT_FUNCTION 
JS_CLASS_ASYNC_FUNCTION 
JS_CLASS_ASYNC_FUNCTION_RESOLVE 
JS_CLASS_ASYNC_FUNCTION_REJECT 
JS_CLASS_ASYNC_FROM_SYNC_ITERATOR 
JS_CLASS_ASYNC_GENERATOR_FUNCTION 
JS_CLASS_ASYNC_GENERATOR 
JS_CLASS_WEAK_REF 
JS_CLASS_FINALIZATION_REGISTRY 
JS_CLASS_INIT_COUNT 

◆ anonymous enum

anonymous enum
Enumerator
JS_ATOM_TYPE_STRING 
JS_ATOM_TYPE_GLOBAL_SYMBOL 
JS_ATOM_TYPE_SYMBOL 
JS_ATOM_TYPE_PRIVATE 

◆ anonymous enum

anonymous enum
Enumerator
__JS_ATOM_NULL 
JS_ATOM_END 

◆ anonymous enum

anonymous enum
Enumerator
TOK_NUMBER 
TOK_STRING 
TOK_TEMPLATE 
TOK_IDENT 
TOK_REGEXP 
TOK_MUL_ASSIGN 
TOK_DIV_ASSIGN 
TOK_MOD_ASSIGN 
TOK_PLUS_ASSIGN 
TOK_MINUS_ASSIGN 
TOK_SHL_ASSIGN 
TOK_SAR_ASSIGN 
TOK_SHR_ASSIGN 
TOK_AND_ASSIGN 
TOK_XOR_ASSIGN 
TOK_OR_ASSIGN 
TOK_POW_ASSIGN 
TOK_LAND_ASSIGN 
TOK_LOR_ASSIGN 
TOK_DOUBLE_QUESTION_MARK_ASSIGN 
TOK_DEC 
TOK_INC 
TOK_SHL 
TOK_SAR 
TOK_SHR 
TOK_LT 
TOK_LTE 
TOK_GT 
TOK_GTE 
TOK_EQ 
TOK_STRICT_EQ 
TOK_NEQ 
TOK_STRICT_NEQ 
TOK_LAND 
TOK_LOR 
TOK_POW 
TOK_ARROW 
TOK_ELLIPSIS 
TOK_DOUBLE_QUESTION_MARK 
TOK_QUESTION_MARK_DOT 
TOK_ERROR 
TOK_PRIVATE_NAME 
TOK_EOF 
TOK_NULL 
TOK_FALSE 
TOK_TRUE 
TOK_IF 
TOK_ELSE 
TOK_RETURN 
TOK_VAR 
TOK_THIS 
TOK_DELETE 
TOK_VOID 
TOK_TYPEOF 
TOK_NEW 
TOK_IN 
TOK_INSTANCEOF 
TOK_DO 
TOK_WHILE 
TOK_FOR 
TOK_BREAK 
TOK_CONTINUE 
TOK_SWITCH 
TOK_CASE 
TOK_DEFAULT 
TOK_THROW 
TOK_TRY 
TOK_CATCH 
TOK_FINALLY 
TOK_FUNCTION 
TOK_DEBUGGER 
TOK_WITH 
TOK_CLASS 
TOK_CONST 
TOK_ENUM 
TOK_EXPORT 
TOK_EXTENDS 
TOK_IMPORT 
TOK_SUPER 
TOK_IMPLEMENTS 
TOK_INTERFACE 
TOK_LET 
TOK_PACKAGE 
TOK_PRIVATE 
TOK_PROTECTED 
TOK_PUBLIC 
TOK_STATIC 
TOK_YIELD 
TOK_AWAIT 
TOK_OF 

◆ anonymous enum

anonymous enum
Enumerator
ArrayFind 
ArrayFindIndex 
ArrayFindLast 
ArrayFindLastIndex 

◆ anonymous enum

anonymous enum
Enumerator
magic_string_anchor 
magic_string_big 
magic_string_blink 
magic_string_bold 
magic_string_fixed 
magic_string_fontcolor 
magic_string_fontsize 
magic_string_italics 
magic_string_link 
magic_string_small 
magic_string_strike 
magic_string_sub 
magic_string_sup 

◆ anonymous enum

anonymous enum
Enumerator
B64_ALPHABET_BASE64 
B64_ALPHABET_BASE64URL 

◆ anonymous enum

anonymous enum
Enumerator
B64_LAST_LOOSE 
B64_LAST_STRICT 
B64_LAST_STOP_BEFORE_PARTIAL 

◆ AtomicsOpEnum

Enumerator
ATOMICS_OP_ADD 
ATOMICS_OP_AND 
ATOMICS_OP_OR 
ATOMICS_OP_SUB 
ATOMICS_OP_XOR 
ATOMICS_OP_EXCHANGE 
ATOMICS_OP_COMPARE_EXCHANGE 
ATOMICS_OP_LOAD 

◆ BCTagEnum

enum BCTagEnum
Enumerator
BC_TAG_NULL 
BC_TAG_UNDEFINED 
BC_TAG_BOOL_FALSE 
BC_TAG_BOOL_TRUE 
BC_TAG_INT32 
BC_TAG_FLOAT64 
BC_TAG_STRING 
BC_TAG_OBJECT 
BC_TAG_ARRAY 
BC_TAG_BIG_INT 
BC_TAG_TEMPLATE_OBJECT 
BC_TAG_FUNCTION_BYTECODE 
BC_TAG_MODULE 
BC_TAG_TYPED_ARRAY 
BC_TAG_ARRAY_BUFFER 
BC_TAG_SHARED_ARRAY_BUFFER 
BC_TAG_DATE 
BC_TAG_OBJECT_VALUE 
BC_TAG_OBJECT_REFERENCE 

◆ ExportedNameEntryEnum

Enumerator
EXPORTED_NAME_AMBIGUOUS 
EXPORTED_NAME_NORMAL 
EXPORTED_NAME_DELAYED 

◆ FuncCallType

Enumerator
FUNC_CALL_NORMAL 
FUNC_CALL_NEW 
FUNC_CALL_SUPER_CTOR 
FUNC_CALL_TEMPLATE 

◆ JSAsyncGeneratorStateEnum

Enumerator
JS_ASYNC_GENERATOR_STATE_SUSPENDED_START 
JS_ASYNC_GENERATOR_STATE_SUSPENDED_YIELD 
JS_ASYNC_GENERATOR_STATE_SUSPENDED_YIELD_STAR 
JS_ASYNC_GENERATOR_STATE_EXECUTING 
JS_ASYNC_GENERATOR_STATE_AWAITING_RETURN 
JS_ASYNC_GENERATOR_STATE_COMPLETED 

◆ JSAtomKindEnum

Enumerator
JS_ATOM_KIND_STRING 
JS_ATOM_KIND_SYMBOL 
JS_ATOM_KIND_PRIVATE 

◆ JSAutoInitIDEnum

Enumerator
JS_AUTOINIT_ID_PROTOTYPE 
JS_AUTOINIT_ID_MODULE_NS 
JS_AUTOINIT_ID_PROP 

◆ JSClosureTypeEnum

Enumerator
JS_CLOSURE_LOCAL 
JS_CLOSURE_ARG 
JS_CLOSURE_REF 
JS_CLOSURE_GLOBAL_REF 
JS_CLOSURE_GLOBAL_DECL 
JS_CLOSURE_GLOBAL 
JS_CLOSURE_MODULE_DECL 
JS_CLOSURE_MODULE_IMPORT 

◆ JSErrorEnum

Enumerator
JS_EVAL_ERROR 
JS_RANGE_ERROR 
JS_REFERENCE_ERROR 
JS_SYNTAX_ERROR 
JS_TYPE_ERROR 
JS_URI_ERROR 
JS_INTERNAL_ERROR 
JS_AGGREGATE_ERROR 
JS_NATIVE_ERROR_COUNT 

◆ JSExportTypeEnum

Enumerator
JS_EXPORT_TYPE_LOCAL 
JS_EXPORT_TYPE_INDIRECT 

◆ JSFreeModuleEnum

Enumerator
JS_FREE_MODULE_ALL 
JS_FREE_MODULE_NOT_RESOLVED 

◆ JSFunctionKindEnum

Enumerator
JS_FUNC_NORMAL 
JS_FUNC_GENERATOR 
JS_FUNC_ASYNC 
JS_FUNC_ASYNC_GENERATOR 

◆ JSGCObjectTypeEnum

Enumerator
JS_GC_OBJ_TYPE_JS_OBJECT 
JS_GC_OBJ_TYPE_FUNCTION_BYTECODE 
JS_GC_OBJ_TYPE_SHAPE 
JS_GC_OBJ_TYPE_VAR_REF 
JS_GC_OBJ_TYPE_ASYNC_FUNCTION 
JS_GC_OBJ_TYPE_JS_CONTEXT 
JS_GC_OBJ_TYPE_MODULE 

◆ JSGCPhaseEnum

Enumerator
JS_GC_PHASE_NONE 
JS_GC_PHASE_DECREF 
JS_GC_PHASE_REMOVE_CYCLES 

◆ JSGeneratorStateEnum

Enumerator
JS_GENERATOR_STATE_SUSPENDED_START 
JS_GENERATOR_STATE_SUSPENDED_YIELD 
JS_GENERATOR_STATE_SUSPENDED_YIELD_STAR 
JS_GENERATOR_STATE_EXECUTING 
JS_GENERATOR_STATE_COMPLETED 

◆ JSIteratorHelperKindEnum

Enumerator
JS_ITERATOR_HELPER_KIND_DROP 
JS_ITERATOR_HELPER_KIND_EVERY 
JS_ITERATOR_HELPER_KIND_FILTER 
JS_ITERATOR_HELPER_KIND_FIND 
JS_ITERATOR_HELPER_KIND_FLAT_MAP 
JS_ITERATOR_HELPER_KIND_FOR_EACH 
JS_ITERATOR_HELPER_KIND_MAP 
JS_ITERATOR_HELPER_KIND_SOME 
JS_ITERATOR_HELPER_KIND_TAKE 

◆ JSIteratorKindEnum

Enumerator
JS_ITERATOR_KIND_KEY 
JS_ITERATOR_KIND_VALUE 
JS_ITERATOR_KIND_KEY_AND_VALUE 

◆ JSModuleStatus

Enumerator
JS_MODULE_STATUS_UNLINKED 
JS_MODULE_STATUS_LINKING 
JS_MODULE_STATUS_LINKED 
JS_MODULE_STATUS_EVALUATING 
JS_MODULE_STATUS_EVALUATING_ASYNC 
JS_MODULE_STATUS_EVALUATED 

◆ JSOverloadableOperatorEnum

Enumerator
JS_OVOP_ADD 
JS_OVOP_SUB 
JS_OVOP_MUL 
JS_OVOP_DIV 
JS_OVOP_MOD 
JS_OVOP_POW 
JS_OVOP_OR 
JS_OVOP_AND 
JS_OVOP_XOR 
JS_OVOP_SHL 
JS_OVOP_SAR 
JS_OVOP_SHR 
JS_OVOP_EQ 
JS_OVOP_LESS 
JS_OVOP_BINARY_COUNT 
JS_OVOP_POS 
JS_OVOP_NEG 
JS_OVOP_INC 
JS_OVOP_DEC 
JS_OVOP_NOT 
JS_OVOP_COUNT 

◆ JSParseExportEnum

Enumerator
JS_PARSE_EXPORT_NONE 
JS_PARSE_EXPORT_NAMED 
JS_PARSE_EXPORT_DEFAULT 

◆ JSParseFunctionEnum

Enumerator
JS_PARSE_FUNC_STATEMENT 
JS_PARSE_FUNC_VAR 
JS_PARSE_FUNC_EXPR 
JS_PARSE_FUNC_ARROW 
JS_PARSE_FUNC_GETTER 
JS_PARSE_FUNC_SETTER 
JS_PARSE_FUNC_METHOD 
JS_PARSE_FUNC_CLASS_STATIC_INIT 
JS_PARSE_FUNC_CLASS_CONSTRUCTOR 
JS_PARSE_FUNC_DERIVED_CLASS_CONSTRUCTOR 

◆ JSResolveResultEnum

Enumerator
JS_RESOLVE_RES_EXCEPTION 
JS_RESOLVE_RES_FOUND 
JS_RESOLVE_RES_NOT_FOUND 
JS_RESOLVE_RES_CIRCULAR 
JS_RESOLVE_RES_AMBIGUOUS 

◆ JSToNumberHintEnum

Enumerator
TON_FLAG_NUMBER 
TON_FLAG_NUMERIC 

◆ JSVarDefEnum

Enumerator
JS_VAR_DEF_WITH 
JS_VAR_DEF_LET 
JS_VAR_DEF_CONST 
JS_VAR_DEF_FUNCTION_DECL 
JS_VAR_DEF_NEW_FUNCTION_DECL 
JS_VAR_DEF_CATCH 
JS_VAR_DEF_VAR 

◆ JSVarKindEnum

Enumerator
JS_VAR_NORMAL 
JS_VAR_FUNCTION_DECL 
JS_VAR_NEW_FUNCTION_DECL 
JS_VAR_CATCH 
JS_VAR_FUNCTION_NAME 
JS_VAR_PRIVATE_FIELD 
JS_VAR_PRIVATE_METHOD 
JS_VAR_PRIVATE_GETTER 
JS_VAR_PRIVATE_SETTER 
JS_VAR_PRIVATE_GETTER_SETTER 
JS_VAR_GLOBAL_FUNCTION_DECL 

◆ JSWeakRefHeaderTypeEnum

Enumerator
JS_WEAKREF_TYPE_MAP 
JS_WEAKREF_TYPE_WEAKREF 
JS_WEAKREF_TYPE_FINREC 

◆ OPCodeEnum

enum OPCodeEnum
Enumerator
OP_COUNT 
OP_TEMP_START 
OP___dummy 
OP_TEMP_END 

◆ OPCodeFormat

◆ OPSpecialObjectEnum

Enumerator
OP_SPECIAL_OBJECT_ARGUMENTS 
OP_SPECIAL_OBJECT_MAPPED_ARGUMENTS 
OP_SPECIAL_OBJECT_THIS_FUNC 
OP_SPECIAL_OBJECT_NEW_TARGET 
OP_SPECIAL_OBJECT_HOME_OBJECT 
OP_SPECIAL_OBJECT_VAR_OBJECT 
OP_SPECIAL_OBJECT_IMPORT_META 

◆ PutLValueEnum

Enumerator
PUT_LVALUE_NOKEEP 
PUT_LVALUE_NOKEEP_DEPTH 
PUT_LVALUE_KEEP_TOP 
PUT_LVALUE_KEEP_SECOND 
PUT_LVALUE_NOKEEP_BOTTOM 

◆ SumPreciseStateEnum

Enumerator
SUM_PRECISE_STATE_FINITE 
SUM_PRECISE_STATE_INFINITY 
SUM_PRECISE_STATE_MINUS_INFINITY 
SUM_PRECISE_STATE_NAN 

Function Documentation

◆ __attribute__()

JSValue __attribute__ ( (format(printf, 2, 3))  )

◆ __JS_FreeValue()

void __JS_FreeValue ( JSContext *  ctx,
JSValue  v 
)

◆ __JS_FreeValueRT()

void __JS_FreeValueRT ( JSRuntime *  rt,
JSValue  v 
)

◆ JS_AddIntrinsicBaseObjects()

int JS_AddIntrinsicBaseObjects ( JSContext *  ctx)

◆ JS_AddIntrinsicDate()

int JS_AddIntrinsicDate ( JSContext *  ctx)

◆ JS_AddIntrinsicEval()

int JS_AddIntrinsicEval ( JSContext *  ctx)

◆ JS_AddIntrinsicJSON()

int JS_AddIntrinsicJSON ( JSContext *  ctx)

◆ JS_AddIntrinsicMapSet()

int JS_AddIntrinsicMapSet ( JSContext *  ctx)

◆ JS_AddIntrinsicPromise()

int JS_AddIntrinsicPromise ( JSContext *  ctx)

◆ JS_AddIntrinsicProxy()

int JS_AddIntrinsicProxy ( JSContext *  ctx)

◆ JS_AddIntrinsicRegExp()

int JS_AddIntrinsicRegExp ( JSContext *  ctx)

◆ JS_AddIntrinsicRegExpCompiler()

void JS_AddIntrinsicRegExpCompiler ( JSContext *  ctx)

◆ JS_AddIntrinsicStringNormalize()

int JS_AddIntrinsicStringNormalize ( JSContext *  ctx)

◆ JS_AddIntrinsicTypedArrays()

int JS_AddIntrinsicTypedArrays ( JSContext *  ctx)

◆ JS_AddIntrinsicWeakRef()

int JS_AddIntrinsicWeakRef ( JSContext *  ctx)

◆ JS_AddModuleExport()

int JS_AddModuleExport ( JSContext *  ctx,
JSModuleDef *  m,
const char *  export_name 
)

◆ JS_AddModuleExportList()

int JS_AddModuleExportList ( JSContext *  ctx,
JSModuleDef *  m,
const JSCFunctionListEntry *  tab,
int  len 
)

◆ JS_AtomToCStringLen()

const char * JS_AtomToCStringLen ( JSContext *  ctx,
size_t *  plen,
JSAtom  atom 
)

◆ JS_AtomToString()

JSValue JS_AtomToString ( JSContext *  ctx,
JSAtom  atom 
)

◆ JS_AtomToValue()

JSValue JS_AtomToValue ( JSContext *  ctx,
JSAtom  atom 
)

◆ JS_Call()

JSValue JS_Call ( JSContext *  ctx,
JSValueConst  func_obj,
JSValueConst  this_obj,
int  argc,
JSValueConst *  argv 
)

◆ JS_CallConstructor()

JSValue JS_CallConstructor ( JSContext *  ctx,
JSValueConst  func_obj,
int  argc,
JSValueConst *  argv 
)

◆ JS_CallConstructor2()

JSValue JS_CallConstructor2 ( JSContext *  ctx,
JSValueConst  func_obj,
JSValueConst  new_target,
int  argc,
JSValueConst *  argv 
)

◆ JS_ComputeMemoryUsage()

void JS_ComputeMemoryUsage ( JSRuntime *  rt,
JSMemoryUsage *  s 
)

◆ JS_DefineProperty()

int JS_DefineProperty ( JSContext *  ctx,
JSValueConst  this_obj,
JSAtom  prop,
JSValueConst  val,
JSValueConst  getter,
JSValueConst  setter,
int  flags 
)

◆ JS_DefinePropertyGetSet()

int JS_DefinePropertyGetSet ( JSContext *  ctx,
JSValueConst  this_obj,
JSAtom  prop,
JSValue  getter,
JSValue  setter,
int  flags 
)

◆ JS_DefinePropertyValue()

int JS_DefinePropertyValue ( JSContext *  ctx,
JSValueConst  this_obj,
JSAtom  prop,
JSValue  val,
int  flags 
)

◆ JS_DefinePropertyValueInt64()

int JS_DefinePropertyValueInt64 ( JSContext *  ctx,
JSValueConst  this_obj,
int64_t  idx,
JSValue  val,
int  flags 
)

◆ JS_DefinePropertyValueStr()

int JS_DefinePropertyValueStr ( JSContext *  ctx,
JSValueConst  this_obj,
const char *  prop,
JSValue  val,
int  flags 
)

◆ JS_DefinePropertyValueUint32()

int JS_DefinePropertyValueUint32 ( JSContext *  ctx,
JSValueConst  this_obj,
uint32_t  idx,
JSValue  val,
int  flags 
)

◆ JS_DefinePropertyValueValue()

int JS_DefinePropertyValueValue ( JSContext *  ctx,
JSValueConst  this_obj,
JSValue  prop,
JSValue  val,
int  flags 
)

◆ JS_DeleteProperty()

int JS_DeleteProperty ( JSContext *  ctx,
JSValueConst  obj,
JSAtom  prop,
int  flags 
)

◆ JS_DeletePropertyInt64()

int JS_DeletePropertyInt64 ( JSContext *  ctx,
JSValueConst  obj,
int64_t  idx,
int  flags 
)

◆ JS_DetachArrayBuffer()

void JS_DetachArrayBuffer ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_DetectModule()

BOOL JS_DetectModule ( const char *  input,
size_t  input_len 
)

◆ JS_DumpMemoryUsage()

void JS_DumpMemoryUsage ( FILE *  fp,
const JSMemoryUsage *  s,
JSRuntime *  rt 
)

◆ JS_DupAtom()

JSAtom JS_DupAtom ( JSContext *  ctx,
JSAtom  v 
)

◆ JS_DupContext()

JSContext * JS_DupContext ( JSContext *  ctx)

◆ JS_EnqueueJob()

int JS_EnqueueJob ( JSContext *  ctx,
JSJobFunc *  job_func,
int  argc,
JSValueConst *  argv 
)

◆ JS_Eval()

JSValue JS_Eval ( JSContext *  ctx,
const char *  input,
size_t  input_len,
const char *  filename,
int  eval_flags 
)

◆ JS_EvalFunction()

JSValue JS_EvalFunction ( JSContext *  ctx,
JSValue  fun_obj 
)

◆ JS_EvalThis()

JSValue JS_EvalThis ( JSContext *  ctx,
JSValueConst  this_obj,
const char *  input,
size_t  input_len,
const char *  filename,
int  eval_flags 
)

◆ JS_ExecutePendingJob()

int JS_ExecutePendingJob ( JSRuntime *  rt,
JSContext **  pctx 
)

◆ js_free()

void js_free ( JSContext *  ctx,
void *  ptr 
)

◆ js_free_rt()

void js_free_rt ( JSRuntime *  rt,
void *  ptr 
)

◆ JS_FreeAtom()

void JS_FreeAtom ( JSContext *  ctx,
JSAtom  v 
)

◆ JS_FreeAtomRT()

void JS_FreeAtomRT ( JSRuntime *  rt,
JSAtom  v 
)

◆ JS_FreeContext()

void JS_FreeContext ( JSContext *  ctx)

◆ JS_FreeCString()

void JS_FreeCString ( JSContext *  ctx,
const char *  ptr 
)

◆ JS_FreePropertyEnum()

void JS_FreePropertyEnum ( JSContext *  ctx,
JSPropertyEnum *  tab,
uint32_t  len 
)

◆ JS_FreeRuntime()

void JS_FreeRuntime ( JSRuntime *  rt)

◆ JS_GetAnyOpaque()

void * JS_GetAnyOpaque ( JSValueConst  obj,
JSClassID *  class_id 
)

◆ JS_GetArrayBuffer()

uint8_t * JS_GetArrayBuffer ( JSContext *  ctx,
size_t *  psize,
JSValueConst  obj 
)

◆ JS_GetClassID()

JSClassID JS_GetClassID ( JSValue  v)

◆ JS_GetClassProto()

JSValue JS_GetClassProto ( JSContext *  ctx,
JSClassID  class_id 
)

◆ JS_GetContextOpaque()

void * JS_GetContextOpaque ( JSContext *  ctx)

◆ JS_GetException()

JSValue JS_GetException ( JSContext *  ctx)

◆ JS_GetGlobalObject()

JSValue JS_GetGlobalObject ( JSContext *  ctx)

◆ JS_GetImportMeta()

JSValue JS_GetImportMeta ( JSContext *  ctx,
JSModuleDef *  m 
)

◆ JS_GetModuleName()

JSAtom JS_GetModuleName ( JSContext *  ctx,
JSModuleDef *  m 
)

◆ JS_GetModuleNamespace()

JSValue JS_GetModuleNamespace ( JSContext *  ctx,
JSModuleDef *  m 
)

◆ JS_GetModulePrivateValue()

JSValue JS_GetModulePrivateValue ( JSContext *  ctx,
JSModuleDef *  m 
)

◆ JS_GetOpaque()

void * JS_GetOpaque ( JSValueConst  obj,
JSClassID  class_id 
)

◆ JS_GetOpaque2()

void * JS_GetOpaque2 ( JSContext *  ctx,
JSValueConst  obj,
JSClassID  class_id 
)

◆ JS_GetOwnProperty()

int JS_GetOwnProperty ( JSContext *  ctx,
JSPropertyDescriptor *  desc,
JSValueConst  obj,
JSAtom  prop 
)

◆ JS_GetOwnPropertyNames()

int JS_GetOwnPropertyNames ( JSContext *  ctx,
JSPropertyEnum **  ptab,
uint32_t *  plen,
JSValueConst  obj,
int  flags 
)

◆ JS_GetPropertyInternal()

JSValue JS_GetPropertyInternal ( JSContext *  ctx,
JSValueConst  obj,
JSAtom  prop,
JSValueConst  this_obj,
BOOL  throw_ref_error 
)

◆ JS_GetPropertyStr()

JSValue JS_GetPropertyStr ( JSContext *  ctx,
JSValueConst  this_obj,
const char *  prop 
)

◆ JS_GetPropertyUint32()

JSValue JS_GetPropertyUint32 ( JSContext *  ctx,
JSValueConst  this_obj,
uint32_t  idx 
)

◆ JS_GetPrototype()

JSValue JS_GetPrototype ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_GetRuntime()

JSRuntime * JS_GetRuntime ( JSContext *  ctx)

◆ JS_GetRuntimeOpaque()

void * JS_GetRuntimeOpaque ( JSRuntime *  rt)

◆ JS_GetScriptOrModuleName()

JSAtom JS_GetScriptOrModuleName ( JSContext *  ctx,
int  n_stack_levels 
)

◆ JS_GetStripInfo()

int JS_GetStripInfo ( JSRuntime *  rt)

◆ JS_GetTypedArrayBuffer()

JSValue JS_GetTypedArrayBuffer ( JSContext *  ctx,
JSValueConst  obj,
size_t *  pbyte_offset,
size_t *  pbyte_length,
size_t *  pbytes_per_element 
)

◆ JS_HasException()

JS_BOOL JS_HasException ( JSContext *  ctx)

◆ JS_HasProperty()

int JS_HasProperty ( JSContext *  ctx,
JSValueConst  obj,
JSAtom  prop 
)

◆ JS_Invoke()

JSValue JS_Invoke ( JSContext *  ctx,
JSValueConst  this_val,
JSAtom  atom,
int  argc,
JSValueConst *  argv 
)

◆ JS_IsArray()

int JS_IsArray ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_IsCFunction()

BOOL JS_IsCFunction ( JSContext *  ctx,
JSValueConst  val,
JSCFunction *  func,
int  magic 
)

◆ JS_IsConstructor()

BOOL JS_IsConstructor ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_IsError()

BOOL JS_IsError ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_IsExtensible()

int JS_IsExtensible ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_IsFunction()

BOOL JS_IsFunction ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_IsInstanceOf()

int JS_IsInstanceOf ( JSContext *  ctx,
JSValueConst  val,
JSValueConst  obj 
)

◆ JS_IsJobPending()

BOOL JS_IsJobPending ( JSRuntime *  rt)

◆ JS_IsLiveObject()

BOOL JS_IsLiveObject ( JSRuntime *  rt,
JSValueConst  obj 
)

◆ JS_IsRegisteredClass()

BOOL JS_IsRegisteredClass ( JSRuntime *  rt,
JSClassID  class_id 
)

◆ JS_JSONStringify()

JSValue JS_JSONStringify ( JSContext *  ctx,
JSValueConst  obj,
JSValueConst  replacer,
JSValueConst  space0 
)

◆ JS_LoadModule()

JSValue JS_LoadModule ( JSContext *  ctx,
const char *  basename,
const char *  filename 
)

◆ js_malloc()

void * js_malloc ( JSContext *  ctx,
size_t  size 
)

◆ js_malloc_rt()

void * js_malloc_rt ( JSRuntime *  rt,
size_t  size 
)

◆ js_malloc_usable_size()

size_t js_malloc_usable_size ( JSContext *  ctx,
const void *  ptr 
)

◆ js_malloc_usable_size_rt()

size_t js_malloc_usable_size_rt ( JSRuntime *  rt,
const void *  ptr 
)

◆ js_mallocz()

void * js_mallocz ( JSContext *  ctx,
size_t  size 
)

◆ js_mallocz_rt()

void * js_mallocz_rt ( JSRuntime *  rt,
size_t  size 
)

◆ JS_MarkValue()

void JS_MarkValue ( JSRuntime *  rt,
JSValueConst  val,
JS_MarkFunc *  mark_func 
)

◆ JS_NewArray()

JSValue JS_NewArray ( JSContext *  ctx)

◆ JS_NewArrayBuffer()

JSValue JS_NewArrayBuffer ( JSContext *  ctx,
uint8_t *  buf,
size_t  len,
JSFreeArrayBufferDataFunc *  free_func,
void *  opaque,
BOOL  is_shared 
)

◆ JS_NewArrayBufferCopy()

JSValue JS_NewArrayBufferCopy ( JSContext *  ctx,
const uint8_t *  buf,
size_t  len 
)

◆ JS_NewAtom()

JSAtom JS_NewAtom ( JSContext *  ctx,
const char *  str 
)

◆ JS_NewAtomLen()

JSAtom JS_NewAtomLen ( JSContext *  ctx,
const char *  str,
size_t  len 
)

◆ JS_NewAtomString()

JSValue JS_NewAtomString ( JSContext *  ctx,
const char *  str 
)

◆ JS_NewAtomUInt32()

JSAtom JS_NewAtomUInt32 ( JSContext *  ctx,
uint32_t  n 
)

◆ JS_NewBigInt64()

JSValue JS_NewBigInt64 ( JSContext *  ctx,
int64_t  v 
)

◆ JS_NewBigUint64()

JSValue JS_NewBigUint64 ( JSContext *  ctx,
uint64_t  v 
)

◆ JS_NewCFunction2()

JSValue JS_NewCFunction2 ( JSContext *  ctx,
JSCFunction *  func,
const char *  name,
int  length,
JSCFunctionEnum  cproto,
int  magic 
)

◆ JS_NewCFunctionData()

JSValue JS_NewCFunctionData ( JSContext *  ctx,
JSCFunctionData *  func,
int  length,
int  magic,
int  data_len,
JSValueConst *  data 
)

◆ JS_NewClass()

int JS_NewClass ( JSRuntime *  rt,
JSClassID  class_id,
const JSClassDef *  class_def 
)

◆ JS_NewClassID()

JSClassID JS_NewClassID ( JSClassID *  pclass_id)

◆ JS_NewCModule()

JSModuleDef * JS_NewCModule ( JSContext *  ctx,
const char *  name_str,
JSModuleInitFunc *  func 
)

◆ JS_NewContext()

JSContext * JS_NewContext ( JSRuntime *  rt)

◆ JS_NewContextRaw()

JSContext * JS_NewContextRaw ( JSRuntime *  rt)

◆ JS_NewDate()

JSValue JS_NewDate ( JSContext *  ctx,
double  epoch_ms 
)

◆ JS_NewError()

JSValue JS_NewError ( JSContext *  ctx)

◆ JS_NewObject()

JSValue JS_NewObject ( JSContext *  ctx)

◆ JS_NewObjectClass()

JSValue JS_NewObjectClass ( JSContext *  ctx,
int  class_id 
)

◆ JS_NewObjectProto()

JSValue JS_NewObjectProto ( JSContext *  ctx,
JSValueConst  proto 
)

◆ JS_NewObjectProtoClass()

JSValue JS_NewObjectProtoClass ( JSContext *  ctx,
JSValueConst  proto_val,
JSClassID  class_id 
)

◆ JS_NewPromiseCapability()

JSValue JS_NewPromiseCapability ( JSContext *  ctx,
JSValue *  resolving_funcs 
)

◆ JS_NewRuntime()

JSRuntime * JS_NewRuntime ( void  )

◆ JS_NewRuntime2()

JSRuntime * JS_NewRuntime2 ( const JSMallocFunctions *  mf,
void *  opaque 
)

◆ JS_NewStringLen()

JSValue JS_NewStringLen ( JSContext *  ctx,
const char *  buf,
size_t  buf_len 
)

◆ JS_NewTypedArray()

JSValue JS_NewTypedArray ( JSContext *  ctx,
int  argc,
JSValueConst *  argv,
JSTypedArrayEnum  type 
)

◆ JS_ParseJSON()

JSValue JS_ParseJSON ( JSContext *  ctx,
const char *  buf,
size_t  buf_len,
const char *  filename 
)

◆ JS_ParseJSON2()

JSValue JS_ParseJSON2 ( JSContext *  ctx,
const char *  buf,
size_t  buf_len,
const char *  filename,
int  flags 
)

◆ JS_ParseJSON3()

JSValue JS_ParseJSON3 ( JSContext *  ctx,
const char *  buf,
size_t  buf_len,
const char *  filename,
int  flags,
JSONParseRecord *  pr 
)

◆ JS_PreventExtensions()

int JS_PreventExtensions ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_PrintValue()

void JS_PrintValue ( JSContext *  ctx,
JSPrintValueWrite *  write_func,
void *  write_opaque,
JSValueConst  val,
const JSPrintValueOptions *  options 
)

◆ JS_PrintValueRT()

void JS_PrintValueRT ( JSRuntime *  rt,
JSPrintValueWrite *  write_func,
void *  write_opaque,
JSValueConst  val,
const JSPrintValueOptions *  options 
)

◆ JS_PrintValueSetDefaultOptions()

void JS_PrintValueSetDefaultOptions ( JSPrintValueOptions *  options)

◆ JS_PromiseResult()

JSValue JS_PromiseResult ( JSContext *  ctx,
JSValue  promise 
)

◆ JS_PromiseState()

JSPromiseStateEnum JS_PromiseState ( JSContext *  ctx,
JSValue  promise 
)

◆ JS_ReadObject()

JSValue JS_ReadObject ( JSContext *  ctx,
const uint8_t *  buf,
size_t  buf_len,
int  flags 
)

◆ js_realloc()

void * js_realloc ( JSContext *  ctx,
void *  ptr,
size_t  size 
)

◆ js_realloc2()

void * js_realloc2 ( JSContext *  ctx,
void *  ptr,
size_t  size,
size_t *  pslack 
)

◆ js_realloc_rt()

void * js_realloc_rt ( JSRuntime *  rt,
void *  ptr,
size_t  size 
)

◆ JS_ResolveModule()

int JS_ResolveModule ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_RunGC()

void JS_RunGC ( JSRuntime *  rt)

◆ JS_SameValue()

BOOL JS_SameValue ( JSContext *  ctx,
JSValueConst  op1,
JSValueConst  op2 
)

◆ JS_SameValueZero()

BOOL JS_SameValueZero ( JSContext *  ctx,
JSValueConst  op1,
JSValueConst  op2 
)

◆ JS_SetCanBlock()

void JS_SetCanBlock ( JSRuntime *  rt,
BOOL  can_block 
)

◆ JS_SetClassProto()

void JS_SetClassProto ( JSContext *  ctx,
JSClassID  class_id,
JSValue  obj 
)

◆ JS_SetConstructor()

int JS_SetConstructor ( JSContext *  ctx,
JSValueConst  func_obj,
JSValueConst  proto 
)

◆ JS_SetConstructorBit()

BOOL JS_SetConstructorBit ( JSContext *  ctx,
JSValueConst  func_obj,
BOOL  val 
)

◆ JS_SetContextOpaque()

void JS_SetContextOpaque ( JSContext *  ctx,
void *  opaque 
)

◆ JS_SetGCThreshold()

void JS_SetGCThreshold ( JSRuntime *  rt,
size_t  gc_threshold 
)

◆ JS_SetHostPromiseRejectionTracker()

void JS_SetHostPromiseRejectionTracker ( JSRuntime *  rt,
JSHostPromiseRejectionTracker *  cb,
void *  opaque 
)

◆ JS_SetInterruptHandler()

void JS_SetInterruptHandler ( JSRuntime *  rt,
JSInterruptHandler *  cb,
void *  opaque 
)

◆ JS_SetIsHTMLDDA()

void JS_SetIsHTMLDDA ( JSContext *  ctx,
JSValueConst  obj 
)

◆ JS_SetMaxStackSize()

void JS_SetMaxStackSize ( JSRuntime *  rt,
size_t  stack_size 
)

◆ JS_SetMemoryLimit()

void JS_SetMemoryLimit ( JSRuntime *  rt,
size_t  limit 
)

◆ JS_SetModuleExport()

int JS_SetModuleExport ( JSContext *  ctx,
JSModuleDef *  m,
const char *  export_name,
JSValue  val 
)

◆ JS_SetModuleExportList()

int JS_SetModuleExportList ( JSContext *  ctx,
JSModuleDef *  m,
const JSCFunctionListEntry *  tab,
int  len 
)

◆ JS_SetModuleLoaderFunc()

void JS_SetModuleLoaderFunc ( JSRuntime *  rt,
JSModuleNormalizeFunc *  module_normalize,
JSModuleLoaderFunc *  module_loader,
void *  opaque 
)

◆ JS_SetModuleLoaderFunc2()

void JS_SetModuleLoaderFunc2 ( JSRuntime *  rt,
JSModuleNormalizeFunc *  module_normalize,
JSModuleLoaderFunc2 *  module_loader,
JSModuleCheckSupportedImportAttributes *  module_check_attrs,
void *  opaque 
)

◆ JS_SetModulePrivateValue()

int JS_SetModulePrivateValue ( JSContext *  ctx,
JSModuleDef *  m,
JSValue  val 
)

◆ JS_SetOpaque()

void JS_SetOpaque ( JSValue  obj,
void *  opaque 
)

◆ JS_SetPropertyFunctionList()

int JS_SetPropertyFunctionList ( JSContext *  ctx,
JSValueConst  obj,
const JSCFunctionListEntry *  tab,
int  len 
)

◆ JS_SetPropertyInt64()

int JS_SetPropertyInt64 ( JSContext *  ctx,
JSValueConst  this_obj,
int64_t  idx,
JSValue  val 
)

◆ JS_SetPropertyInternal()

int JS_SetPropertyInternal ( JSContext *  ctx,
JSValueConst  obj,
JSAtom  prop,
JSValue  val,
JSValueConst  this_obj,
int  flags 
)

◆ JS_SetPropertyStr()

int JS_SetPropertyStr ( JSContext *  ctx,
JSValueConst  this_obj,
const char *  prop,
JSValue  val 
)

◆ JS_SetPropertyUint32()

int JS_SetPropertyUint32 ( JSContext *  ctx,
JSValueConst  this_obj,
uint32_t  idx,
JSValue  val 
)

◆ JS_SetPrototype()

int JS_SetPrototype ( JSContext *  ctx,
JSValueConst  obj,
JSValueConst  proto_val 
)

◆ JS_SetRuntimeInfo()

void JS_SetRuntimeInfo ( JSRuntime *  rt,
const char *  s 
)

◆ JS_SetRuntimeOpaque()

void JS_SetRuntimeOpaque ( JSRuntime *  rt,
void *  opaque 
)

◆ JS_SetSharedArrayBufferFunctions()

void JS_SetSharedArrayBufferFunctions ( JSRuntime *  rt,
const JSSharedArrayBufferFunctions *  sf 
)

◆ JS_SetStripInfo()

void JS_SetStripInfo ( JSRuntime *  rt,
int  flags 
)

◆ JS_SetUncatchableException()

void JS_SetUncatchableException ( JSContext *  ctx,
BOOL  flag 
)

◆ js_strdup()

char * js_strdup ( JSContext *  ctx,
const char *  str 
)

◆ JS_StrictEq()

BOOL JS_StrictEq ( JSContext *  ctx,
JSValueConst  op1,
JSValueConst  op2 
)

◆ js_string_codePointRange()

JSValue js_string_codePointRange ( JSContext *  ctx,
JSValueConst  this_val,
int  argc,
JSValueConst *  argv 
)

◆ js_strndup()

char * js_strndup ( JSContext *  ctx,
const char *  s,
size_t  n 
)

◆ JS_Throw()

JSValue JS_Throw ( JSContext *  ctx,
JSValue  obj 
)

◆ JS_ThrowOutOfMemory()

JSValue JS_ThrowOutOfMemory ( JSContext *  ctx)

◆ JS_ToBigInt64()

int JS_ToBigInt64 ( JSContext *  ctx,
int64_t *  pres,
JSValueConst  val 
)

◆ JS_ToBool()

int JS_ToBool ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_ToCStringLen2()

const char * JS_ToCStringLen2 ( JSContext *  ctx,
size_t *  plen,
JSValueConst  val1,
BOOL  cesu8 
)

◆ JS_ToFloat64()

int JS_ToFloat64 ( JSContext *  ctx,
double *  pres,
JSValueConst  val 
)

◆ JS_ToIndex()

int JS_ToIndex ( JSContext *  ctx,
uint64_t *  plen,
JSValueConst  val 
)

◆ JS_ToInt32()

int JS_ToInt32 ( JSContext *  ctx,
int32_t *  pres,
JSValueConst  val 
)

◆ JS_ToInt32Clamp()

int JS_ToInt32Clamp ( JSContext *  ctx,
int *  pres,
JSValueConst  val,
int  min,
int  max,
int  min_offset 
)

◆ JS_ToInt32Sat()

int JS_ToInt32Sat ( JSContext *  ctx,
int *  pres,
JSValueConst  val 
)

◆ JS_ToInt64()

int JS_ToInt64 ( JSContext *  ctx,
int64_t *  pres,
JSValueConst  val 
)

◆ JS_ToInt64Clamp()

int JS_ToInt64Clamp ( JSContext *  ctx,
int64_t *  pres,
JSValueConst  val,
int64_t  min,
int64_t  max,
int64_t  neg_offset 
)

◆ JS_ToInt64Ext()

int JS_ToInt64Ext ( JSContext *  ctx,
int64_t *  pres,
JSValueConst  val 
)

◆ JS_ToInt64Sat()

int JS_ToInt64Sat ( JSContext *  ctx,
int64_t *  pres,
JSValueConst  val 
)

◆ JS_ToPropertyKey()

JSValue JS_ToPropertyKey ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_ToString()

JSValue JS_ToString ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_UpdateStackTop()

void JS_UpdateStackTop ( JSRuntime *  rt)

◆ JS_ValueToAtom()

JSAtom JS_ValueToAtom ( JSContext *  ctx,
JSValueConst  val 
)

◆ JS_WriteObject()

uint8_t * JS_WriteObject ( JSContext *  ctx,
size_t *  psize,
JSValueConst  obj,
int  flags 
)

◆ JS_WriteObject2()

uint8_t * JS_WriteObject2 ( JSContext *  ctx,
size_t *  psize,
JSValueConst  obj,
int  flags,
uint8_t ***  psab_tab,
size_t *  psab_tab_len 
)

◆ lre_check_stack_overflow()

int lre_check_stack_overflow ( void *  opaque,
size_t  alloca_size 
)

◆ lre_check_timeout()

int lre_check_timeout ( void *  opaque)

◆ lre_realloc()

void * lre_realloc ( void *  opaque,
void *  ptr,
size_t  size 
)

Variable Documentation

◆ JSStrictEqModeEnum

JSStrictEqModeEnum

◆ name

char name[6]

◆ offset

int16_t offset