##MoarVM source C language macros
Alphabetical list of all (over 700) C language macros defined in the src/ subtree of MoarVM (https://github.com/MoarVM/MoarVM). Generated by script included at the end.
####ATKEY(vm, hash, k) src/mast/nodes_moarvm.h:149 #define ATKEY(vm, hash, k) (MVM_repr_at_key_boxed(vm, hash, k))
####ATKEY_I(vm, hash, k) src/mast/nodes_moarvm.h:150 #define ATKEY_I(vm, hash, k) (MVM_repr_get_int(tc, MVM_repr_at_key_boxed(vm, hash, k)))
####ATPOS(vm, arr, i) src/mast/nodes_moarvm.h:139 #define ATPOS(vm, arr, i) (MVM_repr_at_pos_o(vm, arr, i))
####ATPOS_I(vm, arr, i) src/mast/nodes_moarvm.h:140 #define ATPOS_I(vm, arr, i) (MVM_repr_at_pos_i(vm, arr, i))
####ATPOS_I_C(vm, arr, i) src/mast/nodes_moarvm.h:142 #define ATPOS_I_C(vm, arr, i) (MVM_repr_get_int(vm, MVM_repr_at_pos_o(vm, arr, i)))
####ATPOS_S(vm, arr, i) src/mast/nodes_moarvm.h:141 #define ATPOS_S(vm, arr, i) (MVM_repr_at_pos_s(vm, arr, i))
####ATPOS_S_C(vm, arr, i) src/mast/nodes_moarvm.h:143 #define ATPOS_S_C(vm, arr, i) (MVM_repr_get_str(vm, MVM_repr_at_pos_o(vm, arr, i)))
####BINDKEY(vm, hash, k, v) src/mast/nodes_moarvm.h:151 #define BINDKEY(vm, hash, k, v) (MVM_repr_bind_key_boxed(vm, hash, k, v))
####BINDKEY_I(vm, hash, k, v) src/mast/nodes_moarvm.h:152 #define BINDKEY_I(vm, hash, k, v) (MVM_repr_bind_key_boxed(vm, hash, k, MVM_repr_box_int(tc, tc->instance->boot_types->BOOTInt, v)))
####BINDPOS(vm, arr, i, v) src/mast/nodes_moarvm.h:144 #define BINDPOS(vm, arr, i, v) (MVM_repr_bind_pos_o(vm, arr, i, v))
####BINDPOS_I(vm, arr, i, v) src/mast/nodes_moarvm.h:145 #define BINDPOS_I(vm, arr, i, v) (MVM_repr_bind_pos_i(vm, arr, i, v))
####BINDPOS_S(vm, arr, i, v) src/mast/nodes_moarvm.h:146 #define BINDPOS_S(vm, arr, i, v) (MVM_repr_bind_pos_s(vm, arr, i, v))
####DECONT(tc, src, dest) src/6model/containers.h:59
#define DECONT(tc, src, dest) do {
if(IS_CONCRETE(src) && STABLE(src)->container_spec)
STABLE(src)->container_spec->fetch(tc, src, &(dest));
else
((dest).o = src);
} while(0)
####DELETEKEY(vm, hash, k) src/mast/nodes_moarvm.h:154 #define DELETEKEY(vm, hash, k) (MVM_repr_delete_key(vm, hash, k))
####DIE(vm, msg, ...) src/mast/nodes_moarvm.h:123 #define DIE(vm, msg, ...) MVM_exception_throw_adhoc(tc, msg, ## VA_ARGS)
####ELEMS(vm, arr) src/mast/nodes_moarvm.h:138 #define ELEMS(vm, arr) ((unsigned int )MVM_repr_elems(vm, arr))
####EMPTY_STRING(vm) src/mast/nodes_moarvm.h:155 #define EMPTY_STRING(vm) (MVM_string_ascii_decode_nt(tc, tc->instance->VMString, ""))
####ENCODING_VALID(enc) src/strings/ops.h:5
#define ENCODING_VALID(enc) (((enc) >= MVM_encoding_type_utf8 && (enc) <= MVM_encoding_type_latin1)
|| (MVM_exception_throw_adhoc(tc, "invalid encoding type flag: %d", (enc)),1))
####EXISTSKEY(vm, hash, k) src/mast/nodes_moarvm.h:153 #define EXISTSKEY(vm, hash, k) (MVM_repr_exists_key(vm, hash, k))
####GC_SYNC_POINT(tc) src/core/interp.h:9
#define GC_SYNC_POINT(tc)
if (tc->gc_status) {
MVM_gc_enter_from_interrupt(tc);
}
####GET_Annotated(n) src/mast/nodes_moarvm.h:134 #define GET_Annotated(n) ((MAST_Annotated *)n)
####GET_Call(n) src/mast/nodes_moarvm.h:133 #define GET_Call(n) ((MAST_Call *)n)
####GET_CompUnit(n) src/mast/nodes_moarvm.h:124 #define GET_CompUnit(n) ((MAST_CompUnit *)n)
####GET_Frame(n) src/mast/nodes_moarvm.h:125 #define GET_Frame(n) ((MAST_Frame *)n)
####GET_HandlerScope(n) src/mast/nodes_moarvm.h:135 #define GET_HandlerScope(n) ((MAST_HandlerScope *)n)
####GET_IVal(n) src/mast/nodes_moarvm.h:130 #define GET_IVal(n) ((MAST_IVal *)n)
####GET_Label(n) src/mast/nodes_moarvm.h:127 #define GET_Label(n) ((MAST_Label *)n)
####GET_Lexical(n) src/mast/nodes_moarvm.h:129 #define GET_Lexical(n) ((MAST_Lexical *)n)
####GET_Local(n) src/mast/nodes_moarvm.h:128 #define GET_Local(n) ((MAST_Local *)n)
####GET_NVal(n) src/mast/nodes_moarvm.h:131 #define GET_NVal(n) ((MAST_NVal *)n)
####GET_Op(n) src/mast/nodes_moarvm.h:126 #define GET_Op(n) ((MAST_Op *)n)
####GET_SVal(n) src/mast/nodes_moarvm.h:132 #define GET_SVal(n) ((MAST_SVal *)n)
####HASHELEMS(vm, hash) src/mast/nodes_moarvm.h:148 #define HASHELEMS(vm, hash) ((unsigned int )MVM_repr_elems(vm, hash))
####ISTYPE(VM, s, t) src/mast/nodes_moarvm.h:122 #define ISTYPE(VM, s, t) (MVM_6model_istype_cache_only(VM, s, t))
####IS_ASCII(str) src/strings/ops.h:52 #define IS_ASCII(str) (STR_FLAGS((str)) == MVM_STRING_TYPE_UINT8)
####IS_CONCRETE(o) src/6model/6model.h:492 #define IS_CONCRETE(o) (!(((MVMObject *)o)->header.flags & MVM_CF_TYPE_OBJECT))
####IS_ONE_STRING_ROPE(str) src/strings/ops.h:60 #define IS_ONE_STRING_ROPE(str) (IS_ROPE((str)) && (str)->body.num_strands == 1)
####IS_ROPE(str) src/strings/ops.h:54 #define IS_ROPE(str) (STR_FLAGS((str)) == MVM_STRING_TYPE_ROPE)
####IS_WIDE(str) src/strings/ops.h:49 #define IS_WIDE(str) (STR_FLAGS((str)) == MVM_STRING_TYPE_INT32)
####MVMCODEPOINTNAMESCOUNT src/strings/unicode_gen.h:11 #define MVMCODEPOINTNAMESCOUNT 43833
####MVMFramePoolLengthLimit src/core/threadcontext.h:45 #define MVMFramePoolLengthLimit 64
####MVMInitialFramePoolTableSize src/core/threadcontext.h:44 #define MVMInitialFramePoolTableSize 64
####MVMNUMPROPERTYCODES src/strings/unicode_gen.h:12 #define MVMNUMPROPERTYCODES 82
####MVMNUMUNICODEEXTENTS src/strings/unicode_gen.h:2 #define MVMNUMUNICODEEXTENTS 85
####MVMROOT(tc, obj_ref, block) src/gc/roots.h:17
#define MVMROOT(tc, obj_ref, block) do {
MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref));
block
MVM_gc_root_temp_pop(tc);
} while(0)
####MVM_ARG_OPTIONAL src/core/args.h:134 #define MVM_ARG_OPTIONAL 0
####MVM_ARG_REQUIRED src/core/args.h:135 #define MVM_ARG_REQUIRED 1
####MVM_ARRAY_I16 src/6model/reprs/MVMArray.h:36 #define MVM_ARRAY_I16 4
####MVM_ARRAY_I32 src/6model/reprs/MVMArray.h:35 #define MVM_ARRAY_I32 3
####MVM_ARRAY_I64 src/6model/reprs/MVMArray.h:34 #define MVM_ARRAY_I64 2
####MVM_ARRAY_I8 src/6model/reprs/MVMArray.h:37 #define MVM_ARRAY_I8 5
####MVM_ARRAY_N32 src/6model/reprs/MVMArray.h:39 #define MVM_ARRAY_N32 7
####MVM_ARRAY_N64 src/6model/reprs/MVMArray.h:38 #define MVM_ARRAY_N64 6
####MVM_ARRAY_OBJ src/6model/reprs/MVMArray.h:32 #define MVM_ARRAY_OBJ 0
####MVM_ARRAY_STR src/6model/reprs/MVMArray.h:33 #define MVM_ARRAY_STR 1
####MVM_ASSERT_NOT_FROMSPACE(tc, c) src/gc/debug.h:4
#define MVM_ASSERT_NOT_FROMSPACE(tc, c) do {
if ((char *)(c) >= (char *)tc->nursery_fromspace &&
(char *)(c) < (char *)tc->nursery_fromspace + MVM_NURSERY_SIZE)
MVM_exception_throw_adhoc(tc, "Collectable in fromspace accessed");
} while (0);
####MVM_ASSIGN_REF(tc, update_root, update_addr, referenced) src/gc/wb.h:15
#define MVM_ASSIGN_REF(tc, update_root, update_addr, referenced)
{
void *_r = referenced;
MVM_WB(tc, update_root, _r);
update_addr = _r;
}
####MVM_BIGENDIAN src/gen/config.h:21 #define MVM_BIGENDIAN 0
####MVM_BOOL_MODE_BIGINT src/6model/6model.h:8 #define MVM_BOOL_MODE_BIGINT 6
####MVM_BOOL_MODE_CALL_METHOD src/6model/6model.h:2 #define MVM_BOOL_MODE_CALL_METHOD 0
####MVM_BOOL_MODE_HAS_ELEMS src/6model/6model.h:10 #define MVM_BOOL_MODE_HAS_ELEMS 8
####MVM_BOOL_MODE_ITER src/6model/6model.h:9 #define MVM_BOOL_MODE_ITER 7
####MVM_BOOL_MODE_NOT_TYPE_OBJECT src/6model/6model.h:7 #define MVM_BOOL_MODE_NOT_TYPE_OBJECT 5
####MVM_BOOL_MODE_UNBOX_INT src/6model/6model.h:3 #define MVM_BOOL_MODE_UNBOX_INT 1
####MVM_BOOL_MODE_UNBOX_NUM src/6model/6model.h:4 #define MVM_BOOL_MODE_UNBOX_NUM 2
####MVM_BOOL_MODE_UNBOX_STR_NOT_EMPTY src/6model/6model.h:5 #define MVM_BOOL_MODE_UNBOX_STR_NOT_EMPTY 3
####MVM_BOOL_MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO src/6model/6model.h:6 #define MVM_BOOL_MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO 4
####MVM_CALLSITE_ARG_MASK src/core/args.h:2 #define MVM_CALLSITE_ARG_MASK 31
####MVM_CALL_CAPTURE_MODE_SAVE src/6model/reprs/MVMCallCapture.h:4 #define MVM_CALL_CAPTURE_MODE_SAVE 2
####MVM_CALL_CAPTURE_MODE_USE src/6model/reprs/MVMCallCapture.h:3 #define MVM_CALL_CAPTURE_MODE_USE 1
####MVM_CCLASS_ALPHABETIC src/strings/ops.h:70 #define MVM_CCLASS_ALPHABETIC 4
####MVM_CCLASS_ALPHANUMERIC src/strings/ops.h:77 #define MVM_CCLASS_ALPHANUMERIC 2048
####MVM_CCLASS_ANY src/strings/ops.h:67 #define MVM_CCLASS_ANY 65535
####MVM_CCLASS_BLANK src/strings/ops.h:74 #define MVM_CCLASS_BLANK 256
####MVM_CCLASS_CONTROL src/strings/ops.h:75 #define MVM_CCLASS_CONTROL 512
####MVM_CCLASS_HEXADECIMAL src/strings/ops.h:72 #define MVM_CCLASS_HEXADECIMAL 16
####MVM_CCLASS_LOWERCASE src/strings/ops.h:69 #define MVM_CCLASS_LOWERCASE 2
####MVM_CCLASS_NEWLINE src/strings/ops.h:78 #define MVM_CCLASS_NEWLINE 4096
####MVM_CCLASS_NUMERIC src/strings/ops.h:71 #define MVM_CCLASS_NUMERIC 8
####MVM_CCLASS_PUNCTUATION src/strings/ops.h:76 #define MVM_CCLASS_PUNCTUATION 1024
####MVM_CCLASS_UPPERCASE src/strings/ops.h:68 #define MVM_CCLASS_UPPERCASE 1
####MVM_CCLASS_WHITESPACE src/strings/ops.h:73 #define MVM_CCLASS_WHITESPACE 32
####MVM_CCLASS_WORD src/strings/ops.h:79 #define MVM_CCLASS_WORD 8192
####MVM_DLL_EXPORT src/gen/config.h:15 #define MVM_DLL_EXPORT attribute ((visibility ("default")))
####MVM_DLL_IMPORT src/gen/config.h:14 #define MVM_DLL_IMPORT attribute ((visibility ("default")))
####MVM_DLL_LOCAL src/gen/config.h:16 #define MVM_DLL_LOCAL attribute ((visibility ("hidden")))
####MVM_EX_ACTION_GOTO src/core/exceptions.h:2 #define MVM_EX_ACTION_GOTO 0
####MVM_EX_ACTION_GOTO_OBJ src/core/exceptions.h:3 #define MVM_EX_ACTION_GOTO_OBJ 1
####MVM_EX_ACTION_INVOKE src/core/exceptions.h:4 #define MVM_EX_ACTION_INVOKE 2
####MVM_EX_CAT_CATCH src/core/exceptions.h:7 #define MVM_EX_CAT_CATCH 1
####MVM_EX_CAT_CONTROL src/core/exceptions.h:8 #define MVM_EX_CAT_CONTROL 2
####MVM_EX_CAT_LAST src/core/exceptions.h:11 #define MVM_EX_CAT_LAST 16
####MVM_EX_CAT_NEXT src/core/exceptions.h:9 #define MVM_EX_CAT_NEXT 4
####MVM_EX_CAT_PROCEED src/core/exceptions.h:17 #define MVM_EX_CAT_PROCEED 1024
####MVM_EX_CAT_REDO src/core/exceptions.h:10 #define MVM_EX_CAT_REDO 8
####MVM_EX_CAT_RETURN src/core/exceptions.h:12 #define MVM_EX_CAT_RETURN 32
####MVM_EX_CAT_SUCCEED src/core/exceptions.h:16 #define MVM_EX_CAT_SUCCEED 512
####MVM_EX_CAT_TAKE src/core/exceptions.h:14 #define MVM_EX_CAT_TAKE 128
####MVM_EX_CAT_UNWIND src/core/exceptions.h:13 #define MVM_EX_CAT_UNWIND 64
####MVM_EX_CAT_WARN src/core/exceptions.h:15 #define MVM_EX_CAT_WARN 256
####MVM_EX_THROW_DYN src/core/exceptions.h:20 #define MVM_EX_THROW_DYN 0
####MVM_EX_THROW_LEX src/core/exceptions.h:21 #define MVM_EX_THROW_LEX 1
####MVM_EX_THROW_LEXOTIC src/core/exceptions.h:22 #define MVM_EX_THROW_LEXOTIC 2
####MVM_FILE_FLOCK_EXCLUSIVE src/io/fileops.h:2 #define MVM_FILE_FLOCK_EXCLUSIVE 2 /* Exclusive lock. Write lock. */
####MVM_FILE_FLOCK_NONBLOCK src/io/fileops.h:4 #define MVM_FILE_FLOCK_NONBLOCK 0x0010 /* asynchronous block during
####MVM_FILE_FLOCK_SHARED src/io/fileops.h:1 #define MVM_FILE_FLOCK_SHARED 1 /* Shared lock. Read lock */
####MVM_FILE_FLOCK_TYPEMASK src/io/fileops.h:3 #define MVM_FILE_FLOCK_TYPEMASK 0x000F /* a mask of lock type */
####MVM_GC_DEBUG_ENABLED(flags) src/gc/orchestrate.h:49
#define MVM_GC_DEBUG_ENABLED(flags)
((MVM_GC_DEBUG_LOG_FLAGS) & (flags))
####MVM_GC_DEBUG_LOG_FLAGS src/gc/orchestrate.h:46
#define MVM_GC_DEBUG_LOG_FLAGS
0
####MVM_GC_GEN2_RATIO src/gc/collect.h:8 #define MVM_GC_GEN2_RATIO 10
####MVM_GC_PASS_WORK_SIZE src/gc/collect.h:34 #define MVM_GC_PASS_WORK_SIZE 30
####MVM_GC_WORKLIST_START_SIZE src/gc/worklist.h:71 #define MVM_GC_WORKLIST_START_SIZE 256
####MVM_GEN2_BINS src/gc/gen2.h:59 #define MVM_GEN2_BINS 32
####MVM_GEN2_BIN_BITS src/gc/gen2.h:53 #define MVM_GEN2_BIN_BITS 3
####MVM_GEN2_BIN_MASK src/gc/gen2.h:56 #define MVM_GEN2_BIN_MASK ((1 << MVM_GEN2_BIN_BITS) - 1)
####MVM_GEN2_OVERFLOWS src/gc/gen2.h:62 #define MVM_GEN2_OVERFLOWS 32
####MVM_GEN2_PAGE_ITEMS src/gc/gen2.h:65 #define MVM_GEN2_PAGE_ITEMS 256
####MVM_HASH_ACTION(tc, hash, name, entry, action, member, size) src/6model/reprs/MVMHash.h:28
#define MVM_HASH_ACTION(tc, hash, name, entry, action, member, size)
action(hash_handle, hash,
name->body.int32s, NUM_GRAPHS(name) * sizeof(size), entry); \
####MVM_HASH_ACTION_SELECT(tc, hash, name, entry, action) src/6model/reprs/MVMHash.h:32
#define MVM_HASH_ACTION_SELECT(tc, hash, name, entry, action)
if (IS_WIDE(name))
MVM_HASH_ACTION(tc, hash, name, entry, action, int32s, MVMCodepoint32)
else
MVM_HASH_ACTION(tc, hash, name, entry, action, uint8s, MVMCodepoint8)
####MVM_HASH_BIND(tc, hash, name, entry) src/6model/reprs/MVMHash.h:38
#define MVM_HASH_BIND(tc, hash, name, entry)
MVM_HASH_ACTION_SELECT(tc, hash, name, entry, HASH_ADD_KEYPTR)
####MVM_HASH_DESTROY(hash_handle, hashentry_type, head_node) src/6model/reprs/MVMHash.h:60
#define MVM_HASH_DESTROY(hash_handle, hashentry_type, head_node) do {
hashentry_type *current, *tmp;
HASH_ITER(hash_handle, head_node, current, tmp) {
if (current != head_node)
free(current);
}
HASH_CLEAR(hash_handle, head_node);
MVM_checked_free_null(head_node);
} while (0)
####MVM_HASH_EXTRACT_KEY(tc, kdata, klen, key, error) src/6model/reprs/MVMHash.h:44
#define MVM_HASH_EXTRACT_KEY(tc, kdata, klen, key, error)
if (REPR(key)->ID == MVM_REPR_ID_MVMString && IS_CONCRETE(key)) {
MVM_string_flatten(tc, (MVMString *)key);
if (IS_WIDE(key)) {
*kdata = ((MVMString *)key)->body.int32s;
*klen = ((MVMString *)key)->body.graphs * sizeof(MVMCodepoint32);
}
else {
*kdata = ((MVMString *)key)->body.uint8s;
*klen = ((MVMString *)key)->body.graphs * sizeof(MVMCodepoint8);
}
}
else {
MVM_exception_throw_adhoc(tc, error);
}
####MVM_HASH_GET(tc, hash, name, entry) src/6model/reprs/MVMHash.h:41
#define MVM_HASH_GET(tc, hash, name, entry)
MVM_HASH_ACTION_SELECT(tc, hash, name, entry, HASH_FIND)
####MVM_HAS_READLINE src/gen/config.h:26 #define MVM_HAS_READLINE 0
####MVM_ITER_MODE_ARRAY src/6model/reprs/MVMIter.h:3 #define MVM_ITER_MODE_ARRAY 0
####MVM_ITER_MODE_HASH src/6model/reprs/MVMIter.h:4 #define MVM_ITER_MODE_HASH 1
####MVM_MAX_OPERANDS src/core/interp.h:31 #define MVM_MAX_OPERANDS 8
####MVM_METHOD_CACHE_AUTHORITATIVE src/6model/6model.h:26 #define MVM_METHOD_CACHE_AUTHORITATIVE 4
####MVM_NFA_EDGE_CHARCLASS src/6model/reprs/NFA.h:6 #define MVM_NFA_EDGE_CHARCLASS 4
####MVM_NFA_EDGE_CHARCLASS_NEG src/6model/reprs/NFA.h:7 #define MVM_NFA_EDGE_CHARCLASS_NEG 5
####MVM_NFA_EDGE_CHARLIST src/6model/reprs/NFA.h:8 #define MVM_NFA_EDGE_CHARLIST 6
####MVM_NFA_EDGE_CHARLIST_NEG src/6model/reprs/NFA.h:9 #define MVM_NFA_EDGE_CHARLIST_NEG 7
####MVM_NFA_EDGE_CODEPOINT src/6model/reprs/NFA.h:4 #define MVM_NFA_EDGE_CODEPOINT 2
####MVM_NFA_EDGE_CODEPOINT_I src/6model/reprs/NFA.h:10 #define MVM_NFA_EDGE_CODEPOINT_I 9
####MVM_NFA_EDGE_CODEPOINT_I_NEG src/6model/reprs/NFA.h:11 #define MVM_NFA_EDGE_CODEPOINT_I_NEG 10
####MVM_NFA_EDGE_CODEPOINT_NEG src/6model/reprs/NFA.h:5 #define MVM_NFA_EDGE_CODEPOINT_NEG 3
####MVM_NFA_EDGE_EPSILON src/6model/reprs/NFA.h:3 #define MVM_NFA_EDGE_EPSILON 1
####MVM_NFA_EDGE_FATE src/6model/reprs/NFA.h:2 #define MVM_NFA_EDGE_FATE 0
####MVM_NO_HINT src/6model/6model.h:30 #define MVM_NO_HINT -1
####MVM_NO_RETURN src/gen/config.h:10 #define MVM_NO_RETURN
####MVM_NO_RETURN_GCC src/gen/config.h:11 #define MVM_NO_RETURN_GCC attribute((noreturn))
####MVM_NURSERY_SIZE src/gc/collect.h:3 #define MVM_NURSERY_SIZE 2097152
####MVM_OP_abs_I src/core/ops.h:252 #define MVM_OP_abs_I 248
####MVM_OP_abs_i src/core/ops.h:63 #define MVM_OP_abs_i 59
####MVM_OP_abs_n src/core/ops.h:84 #define MVM_OP_abs_n 80
####MVM_OP_accept_sk src/core/ops.h:451 #define MVM_OP_accept_sk 447
####MVM_OP_acos_n src/core/ops.h:233 #define MVM_OP_acos_n 229
####MVM_OP_add_I src/core/ops.h:246 #define MVM_OP_add_I 242
####MVM_OP_add_i src/core/ops.h:55 #define MVM_OP_add_i 51
####MVM_OP_add_n src/core/ops.h:79 #define MVM_OP_add_n 75
####MVM_OP_append_f src/core/ops.h:422 #define MVM_OP_append_f 418
####MVM_OP_arg_i src/core/ops.h:70 #define MVM_OP_arg_i 66
####MVM_OP_arg_n src/core/ops.h:71 #define MVM_OP_arg_n 67
####MVM_OP_arg_o src/core/ops.h:73 #define MVM_OP_arg_o 69
####MVM_OP_arg_s src/core/ops.h:72 #define MVM_OP_arg_s 68
####MVM_OP_argconst_i src/core/ops.h:97 #define MVM_OP_argconst_i 93
####MVM_OP_argconst_n src/core/ops.h:98 #define MVM_OP_argconst_n 94
####MVM_OP_argconst_s src/core/ops.h:99 #define MVM_OP_argconst_s 95
####MVM_OP_asec_n src/core/ops.h:238 #define MVM_OP_asec_n 234
####MVM_OP_asin_n src/core/ops.h:231 #define MVM_OP_asin_n 227
####MVM_OP_assign src/core/ops.h:176 #define MVM_OP_assign 172
####MVM_OP_assignunchecked src/core/ops.h:177 #define MVM_OP_assignunchecked 173
####MVM_OP_atan2_n src/core/ops.h:236 #define MVM_OP_atan2_n 232
####MVM_OP_atan_n src/core/ops.h:235 #define MVM_OP_atan_n 231
####MVM_OP_atkey_i src/core/ops.h:290 #define MVM_OP_atkey_i 286
####MVM_OP_atkey_n src/core/ops.h:291 #define MVM_OP_atkey_n 287
####MVM_OP_atkey_o src/core/ops.h:293 #define MVM_OP_atkey_o 289
####MVM_OP_atkey_s src/core/ops.h:292 #define MVM_OP_atkey_s 288
####MVM_OP_atpos_i src/core/ops.h:304 #define MVM_OP_atpos_i 300
####MVM_OP_atpos_n src/core/ops.h:305 #define MVM_OP_atpos_n 301
####MVM_OP_atpos_o src/core/ops.h:307 #define MVM_OP_atpos_o 303
####MVM_OP_atpos_s src/core/ops.h:306 #define MVM_OP_atpos_s 302
####MVM_OP_attrinited src/core/ops.h:412 #define MVM_OP_attrinited 408
####MVM_OP_backtracestrings src/core/ops.h:179 #define MVM_OP_backtracestrings 175
####MVM_OP_band_I src/core/ops.h:262 #define MVM_OP_band_I 258
####MVM_OP_band_i src/core/ops.h:119 #define MVM_OP_band_i 115
####MVM_OP_base_I src/core/ops.h:277 #define MVM_OP_base_I 273
####MVM_OP_bind_sk src/core/ops.h:449 #define MVM_OP_bind_sk 445
####MVM_OP_bindattr_i src/core/ops.h:336 #define MVM_OP_bindattr_i 332
####MVM_OP_bindattr_n src/core/ops.h:337 #define MVM_OP_bindattr_n 333
####MVM_OP_bindattr_o src/core/ops.h:339 #define MVM_OP_bindattr_o 335
####MVM_OP_bindattr_s src/core/ops.h:338 #define MVM_OP_bindattr_s 334
####MVM_OP_bindattrs_i src/core/ops.h:340 #define MVM_OP_bindattrs_i 336
####MVM_OP_bindattrs_n src/core/ops.h:341 #define MVM_OP_bindattrs_n 337
####MVM_OP_bindattrs_o src/core/ops.h:343 #define MVM_OP_bindattrs_o 339
####MVM_OP_bindattrs_s src/core/ops.h:342 #define MVM_OP_bindattrs_s 338
####MVM_OP_bindcomp src/core/ops.h:394 #define MVM_OP_bindcomp 390
####MVM_OP_bindcurhllsym src/core/ops.h:396 #define MVM_OP_bindcurhllsym 392
####MVM_OP_binddynlex src/core/ops.h:131 #define MVM_OP_binddynlex 127
####MVM_OP_bindexcategory src/core/ops.h:148 #define MVM_OP_bindexcategory 144
####MVM_OP_bindexmessage src/core/ops.h:146 #define MVM_OP_bindexmessage 142
####MVM_OP_bindexpayload src/core/ops.h:147 #define MVM_OP_bindexpayload 143
####MVM_OP_bindkey_i src/core/ops.h:294 #define MVM_OP_bindkey_i 290
####MVM_OP_bindkey_n src/core/ops.h:295 #define MVM_OP_bindkey_n 291
####MVM_OP_bindkey_o src/core/ops.h:297 #define MVM_OP_bindkey_o 293
####MVM_OP_bindkey_s src/core/ops.h:296 #define MVM_OP_bindkey_s 292
####MVM_OP_bindlex src/core/ops.h:32 #define MVM_OP_bindlex 28
####MVM_OP_bindlex_ng src/core/ops.h:42 #define MVM_OP_bindlex_ng 38
####MVM_OP_bindlex_ni src/core/ops.h:37 #define MVM_OP_bindlex_ni 33
####MVM_OP_bindlex_nn src/core/ops.h:38 #define MVM_OP_bindlex_nn 34
####MVM_OP_bindlex_no src/core/ops.h:40 #define MVM_OP_bindlex_no 36
####MVM_OP_bindlex_ns src/core/ops.h:39 #define MVM_OP_bindlex_ns 35
####MVM_OP_bindpos_i src/core/ops.h:308 #define MVM_OP_bindpos_i 304
####MVM_OP_bindpos_n src/core/ops.h:309 #define MVM_OP_bindpos_n 305
####MVM_OP_bindpos_o src/core/ops.h:311 #define MVM_OP_bindpos_o 307
####MVM_OP_bindpos_s src/core/ops.h:310 #define MVM_OP_bindpos_s 306
####MVM_OP_blshift_I src/core/ops.h:264 #define MVM_OP_blshift_I 260
####MVM_OP_blshift_i src/core/ops.h:123 #define MVM_OP_blshift_i 119
####MVM_OP_bnot_I src/core/ops.h:263 #define MVM_OP_bnot_I 259
####MVM_OP_bnot_i src/core/ops.h:122 #define MVM_OP_bnot_i 118
####MVM_OP_bootarray src/core/ops.h:361 #define MVM_OP_bootarray 357
####MVM_OP_boothash src/core/ops.h:362 #define MVM_OP_boothash 358
####MVM_OP_bootint src/core/ops.h:358 #define MVM_OP_bootint 354
####MVM_OP_bootintarray src/core/ops.h:407 #define MVM_OP_bootintarray 403
####MVM_OP_bootnum src/core/ops.h:359 #define MVM_OP_bootnum 355
####MVM_OP_bootnumarray src/core/ops.h:408 #define MVM_OP_bootnumarray 404
####MVM_OP_bootstr src/core/ops.h:360 #define MVM_OP_bootstr 356
####MVM_OP_bootstrarray src/core/ops.h:409 #define MVM_OP_bootstrarray 405
####MVM_OP_bor_I src/core/ops.h:260 #define MVM_OP_bor_I 256
####MVM_OP_bor_i src/core/ops.h:120 #define MVM_OP_bor_i 116
####MVM_OP_box_i src/core/ops.h:330 #define MVM_OP_box_i 326
####MVM_OP_box_n src/core/ops.h:331 #define MVM_OP_box_n 327
####MVM_OP_box_s src/core/ops.h:332 #define MVM_OP_box_s 328
####MVM_OP_brshift_I src/core/ops.h:265 #define MVM_OP_brshift_I 261
####MVM_OP_brshift_i src/core/ops.h:124 #define MVM_OP_brshift_i 120
####MVM_OP_bxor_I src/core/ops.h:261 #define MVM_OP_bxor_I 257
####MVM_OP_bxor_i src/core/ops.h:121 #define MVM_OP_bxor_i 117
####MVM_OP_caller src/core/ops.h:129 #define MVM_OP_caller 125
####MVM_OP_callercode src/core/ops.h:406 #define MVM_OP_callercode 402
####MVM_OP_can src/core/ops.h:285 #define MVM_OP_can 281
####MVM_OP_can_s src/core/ops.h:286 #define MVM_OP_can_s 282
####MVM_OP_captureposarg src/core/ops.h:165 #define MVM_OP_captureposarg 161
####MVM_OP_captureposarg_i src/core/ops.h:166 #define MVM_OP_captureposarg_i 162
####MVM_OP_captureposarg_n src/core/ops.h:167 #define MVM_OP_captureposarg_n 163
####MVM_OP_captureposarg_s src/core/ops.h:168 #define MVM_OP_captureposarg_s 164
####MVM_OP_captureposelems src/core/ops.h:164 #define MVM_OP_captureposelems 160
####MVM_OP_captureposprimspec src/core/ops.h:169 #define MVM_OP_captureposprimspec 165
####MVM_OP_ceil_n src/core/ops.h:174 #define MVM_OP_ceil_n 170
####MVM_OP_chars src/core/ops.h:209 #define MVM_OP_chars 205
####MVM_OP_chdir src/core/ops.h:462 #define MVM_OP_chdir 458
####MVM_OP_checkarity src/core/ops.h:100 #define MVM_OP_checkarity 96
####MVM_OP_chmod_f src/core/ops.h:425 #define MVM_OP_chmod_f 421
####MVM_OP_chr src/core/ops.h:210 #define MVM_OP_chr 206
####MVM_OP_clargs src/core/ops.h:466 #define MVM_OP_clargs 462
####MVM_OP_clone src/core/ops.h:356 #define MVM_OP_clone 352
####MVM_OP_close_dir src/core/ops.h:431 #define MVM_OP_close_dir 427
####MVM_OP_close_fh src/core/ops.h:433 #define MVM_OP_close_fh 429
####MVM_OP_close_sk src/core/ops.h:448 #define MVM_OP_close_sk 444
####MVM_OP_cmp_I src/core/ops.h:253 #define MVM_OP_cmp_I 249
####MVM_OP_cmp_i src/core/ops.h:141 #define MVM_OP_cmp_i 137
####MVM_OP_cmp_n src/core/ops.h:142 #define MVM_OP_cmp_n 138
####MVM_OP_cmp_s src/core/ops.h:227 #define MVM_OP_cmp_s 223
####MVM_OP_codes_s src/core/ops.h:191 #define MVM_OP_codes_s 187
####MVM_OP_coerce_In src/core/ops.h:272 #define MVM_OP_coerce_In 268
####MVM_OP_coerce_Is src/core/ops.h:273 #define MVM_OP_coerce_Is 269
####MVM_OP_coerce_in src/core/ops.h:117 #define MVM_OP_coerce_in 113
####MVM_OP_coerce_is src/core/ops.h:132 #define MVM_OP_coerce_is 128
####MVM_OP_coerce_nI src/core/ops.h:274 #define MVM_OP_coerce_nI 270
####MVM_OP_coerce_ni src/core/ops.h:118 #define MVM_OP_coerce_ni 114
####MVM_OP_coerce_ns src/core/ops.h:133 #define MVM_OP_coerce_ns 129
####MVM_OP_coerce_sI src/core/ops.h:275 #define MVM_OP_coerce_sI 271
####MVM_OP_coerce_si src/core/ops.h:134 #define MVM_OP_coerce_si 130
####MVM_OP_coerce_sn src/core/ops.h:135 #define MVM_OP_coerce_sn 131
####MVM_OP_composetype src/core/ops.h:376 #define MVM_OP_composetype 372
####MVM_OP_compunitcodes src/core/ops.h:184 #define MVM_OP_compunitcodes 180
####MVM_OP_compunitmainline src/core/ops.h:183 #define MVM_OP_compunitmainline 179
####MVM_OP_concat_s src/core/ops.h:186 #define MVM_OP_concat_s 182
####MVM_OP_connect_sk src/core/ops.h:447 #define MVM_OP_connect_sk 443
####MVM_OP_const_i16 src/core/ops.h:49 #define MVM_OP_const_i16 45
####MVM_OP_const_i32 src/core/ops.h:50 #define MVM_OP_const_i32 46
####MVM_OP_const_i64 src/core/ops.h:51 #define MVM_OP_const_i64 47
####MVM_OP_const_i8 src/core/ops.h:48 #define MVM_OP_const_i8 44
####MVM_OP_const_n32 src/core/ops.h:52 #define MVM_OP_const_n32 48
####MVM_OP_const_n64 src/core/ops.h:53 #define MVM_OP_const_n64 49
####MVM_OP_const_s src/core/ops.h:54 #define MVM_OP_const_s 50
####MVM_OP_copy_f src/core/ops.h:421 #define MVM_OP_copy_f 417
####MVM_OP_cos_n src/core/ops.h:232 #define MVM_OP_cos_n 228
####MVM_OP_cosh_n src/core/ops.h:240 #define MVM_OP_cosh_n 236
####MVM_OP_create src/core/ops.h:287 #define MVM_OP_create 283
####MVM_OP_createsc src/core/ops.h:474 #define MVM_OP_createsc 470
####MVM_OP_ctx src/core/ops.h:401 #define MVM_OP_ctx 397
####MVM_OP_ctxcaller src/core/ops.h:403 #define MVM_OP_ctxcaller 399
####MVM_OP_ctxlexpad src/core/ops.h:404 #define MVM_OP_ctxlexpad 400
####MVM_OP_ctxouter src/core/ops.h:402 #define MVM_OP_ctxouter 398
####MVM_OP_curcode src/core/ops.h:405 #define MVM_OP_curcode 401
####MVM_OP_cwd src/core/ops.h:493 #define MVM_OP_cwd 489
####MVM_OP_dec_i src/core/ops.h:66 #define MVM_OP_dec_i 62
####MVM_OP_dec_u src/core/ops.h:67 #define MVM_OP_dec_u 63
####MVM_OP_decont src/core/ops.h:383 #define MVM_OP_decont 379
####MVM_OP_delete_f src/core/ops.h:424 #define MVM_OP_delete_f 420
####MVM_OP_deletekey src/core/ops.h:299 #define MVM_OP_deletekey 295
####MVM_OP_deserialize src/core/ops.h:485 #define MVM_OP_deserialize 481
####MVM_OP_die src/core/ops.h:158 #define MVM_OP_die 154
####MVM_OP_div_I src/core/ops.h:249 #define MVM_OP_div_I 245
####MVM_OP_div_In src/core/ops.h:279 #define MVM_OP_div_In 275
####MVM_OP_div_i src/core/ops.h:58 #define MVM_OP_div_i 54
####MVM_OP_div_n src/core/ops.h:82 #define MVM_OP_div_n 78
####MVM_OP_div_u src/core/ops.h:59 #define MVM_OP_div_u 55
####MVM_OP_elems src/core/ops.h:367 #define MVM_OP_elems 363
####MVM_OP_eof_fh src/core/ops.h:443 #define MVM_OP_eof_fh 439
####MVM_OP_eq_I src/core/ops.h:254 #define MVM_OP_eq_I 250
####MVM_OP_eq_i src/core/ops.h:85 #define MVM_OP_eq_i 81
####MVM_OP_eq_n src/core/ops.h:91 #define MVM_OP_eq_n 87
####MVM_OP_eq_s src/core/ops.h:192 #define MVM_OP_eq_s 188
####MVM_OP_eqaddr src/core/ops.h:301 #define MVM_OP_eqaddr 297
####MVM_OP_eqat_s src/core/ops.h:194 #define MVM_OP_eqat_s 190
####MVM_OP_eqatic_s src/core/ops.h:229 #define MVM_OP_eqatic_s 225
####MVM_OP_escape src/core/ops.h:214 #define MVM_OP_escape 210
####MVM_OP_exception src/core/ops.h:145 #define MVM_OP_exception 141
####MVM_OP_exists_f src/core/ops.h:426 #define MVM_OP_exists_f 422
####MVM_OP_existskey src/core/ops.h:298 #define MVM_OP_existskey 294
####MVM_OP_existspos src/core/ops.h:414 #define MVM_OP_existspos 410
####MVM_OP_exit src/core/ops.h:470 #define MVM_OP_exit 466
####MVM_OP_exp_n src/core/ops.h:281 #define MVM_OP_exp_n 277
####MVM_OP_expmod_I src/core/ops.h:269 #define MVM_OP_expmod_I 265
####MVM_OP_extend_i16 src/core/ops.h:21 #define MVM_OP_extend_i16 17
####MVM_OP_extend_i32 src/core/ops.h:22 #define MVM_OP_extend_i32 18
####MVM_OP_extend_i8 src/core/ops.h:20 #define MVM_OP_extend_i8 16
####MVM_OP_extend_n32 src/core/ops.h:29 #define MVM_OP_extend_n32 25
####MVM_OP_extend_u16 src/core/ops.h:18 #define MVM_OP_extend_u16 14
####MVM_OP_extend_u32 src/core/ops.h:19 #define MVM_OP_extend_u32 15
####MVM_OP_extend_u8 src/core/ops.h:17 #define MVM_OP_extend_u8 13
####MVM_OP_findcclass src/core/ops.h:217 #define MVM_OP_findcclass 213
####MVM_OP_findmeth src/core/ops.h:283 #define MVM_OP_findmeth 279
####MVM_OP_findmeth_s src/core/ops.h:284 #define MVM_OP_findmeth_s 280
####MVM_OP_findnotcclass src/core/ops.h:218 #define MVM_OP_findnotcclass 214
####MVM_OP_flattenropes src/core/ops.h:222 #define MVM_OP_flattenropes 218
####MVM_OP_flip src/core/ops.h:215 #define MVM_OP_flip 211
####MVM_OP_floor_n src/core/ops.h:175 #define MVM_OP_floor_n 171
####MVM_OP_forceouterctx src/core/ops.h:392 #define MVM_OP_forceouterctx 388
####MVM_OP_freshcoderef src/core/ops.h:416 #define MVM_OP_freshcoderef 412
####MVM_OP_gcd_I src/core/ops.h:267 #define MVM_OP_gcd_I 263
####MVM_OP_gcd_i src/core/ops.h:244 #define MVM_OP_gcd_i 240
####MVM_OP_ge_I src/core/ops.h:259 #define MVM_OP_ge_I 255
####MVM_OP_ge_i src/core/ops.h:90 #define MVM_OP_ge_i 86
####MVM_OP_ge_n src/core/ops.h:96 #define MVM_OP_ge_n 92
####MVM_OP_ge_s src/core/ops.h:224 #define MVM_OP_ge_s 220
####MVM_OP_getattr_i src/core/ops.h:344 #define MVM_OP_getattr_i 340
####MVM_OP_getattr_n src/core/ops.h:345 #define MVM_OP_getattr_n 341
####MVM_OP_getattr_o src/core/ops.h:347 #define MVM_OP_getattr_o 343
####MVM_OP_getattr_s src/core/ops.h:346 #define MVM_OP_getattr_s 342
####MVM_OP_getattrs_i src/core/ops.h:348 #define MVM_OP_getattrs_i 344
####MVM_OP_getattrs_n src/core/ops.h:349 #define MVM_OP_getattrs_n 345
####MVM_OP_getattrs_o src/core/ops.h:351 #define MVM_OP_getattrs_o 347
####MVM_OP_getattrs_s src/core/ops.h:350 #define MVM_OP_getattrs_s 346
####MVM_OP_getcode src/core/ops.h:68 #define MVM_OP_getcode 64
####MVM_OP_getcodecuid src/core/ops.h:420 #define MVM_OP_getcodecuid 416
####MVM_OP_getcodename src/core/ops.h:375 #define MVM_OP_getcodename 371
####MVM_OP_getcodeobj src/core/ops.h:389 #define MVM_OP_getcodeobj 385
####MVM_OP_getcomp src/core/ops.h:393 #define MVM_OP_getcomp 389
####MVM_OP_getcp_s src/core/ops.h:196 #define MVM_OP_getcp_s 192
####MVM_OP_getcpbyname src/core/ops.h:203 #define MVM_OP_getcpbyname 199
####MVM_OP_getcurhllsym src/core/ops.h:395 #define MVM_OP_getcurhllsym 391
####MVM_OP_getdynlex src/core/ops.h:130 #define MVM_OP_getdynlex 126
####MVM_OP_getenvhash src/core/ops.h:472 #define MVM_OP_getenvhash 468
####MVM_OP_getexcategory src/core/ops.h:151 #define MVM_OP_getexcategory 147
####MVM_OP_getexmessage src/core/ops.h:149 #define MVM_OP_getexmessage 145
####MVM_OP_getexpayload src/core/ops.h:150 #define MVM_OP_getexpayload 146
####MVM_OP_gethllsym src/core/ops.h:415 #define MVM_OP_gethllsym 411
####MVM_OP_gethow src/core/ops.h:288 #define MVM_OP_gethow 284
####MVM_OP_getlex src/core/ops.h:31 #define MVM_OP_getlex 27
####MVM_OP_getlex_ng src/core/ops.h:41 #define MVM_OP_getlex_ng 37
####MVM_OP_getlex_ni src/core/ops.h:33 #define MVM_OP_getlex_ni 29
####MVM_OP_getlex_nn src/core/ops.h:34 #define MVM_OP_getlex_nn 30
####MVM_OP_getlex_no src/core/ops.h:36 #define MVM_OP_getlex_no 32
####MVM_OP_getlex_ns src/core/ops.h:35 #define MVM_OP_getlex_ns 31
####MVM_OP_getobjsc src/core/ops.h:483 #define MVM_OP_getobjsc 479
####MVM_OP_getstaticcode src/core/ops.h:419 #define MVM_OP_getstaticcode 415
####MVM_OP_getstderr src/core/ops.h:446 #define MVM_OP_getstderr 442
####MVM_OP_getstdin src/core/ops.h:444 #define MVM_OP_getstdin 440
####MVM_OP_getstdout src/core/ops.h:445 #define MVM_OP_getstdout 441
####MVM_OP_getwhat src/core/ops.h:289 #define MVM_OP_getwhat 285
####MVM_OP_getwhere src/core/ops.h:300 #define MVM_OP_getwhere 296
####MVM_OP_getwho src/core/ops.h:397 #define MVM_OP_getwho 393
####MVM_OP_goto src/core/ops.h:5 #define MVM_OP_goto 1
####MVM_OP_graphs_s src/core/ops.h:190 #define MVM_OP_graphs_s 186
####MVM_OP_gt_I src/core/ops.h:258 #define MVM_OP_gt_I 254
####MVM_OP_gt_i src/core/ops.h:89 #define MVM_OP_gt_i 85
####MVM_OP_gt_n src/core/ops.h:95 #define MVM_OP_gt_n 91
####MVM_OP_gt_s src/core/ops.h:223 #define MVM_OP_gt_s 219
####MVM_OP_hasuniprop src/core/ops.h:207 #define MVM_OP_hasuniprop 203
####MVM_OP_hasunipropc src/core/ops.h:208 #define MVM_OP_hasunipropc 204
####MVM_OP_haveat_s src/core/ops.h:195 #define MVM_OP_haveat_s 191
####MVM_OP_hllboxtype_i src/core/ops.h:364 #define MVM_OP_hllboxtype_i 360
####MVM_OP_hllboxtype_n src/core/ops.h:365 #define MVM_OP_hllboxtype_n 361
####MVM_OP_hllboxtype_s src/core/ops.h:366 #define MVM_OP_hllboxtype_s 362
####MVM_OP_hllhash src/core/ops.h:411 #define MVM_OP_hllhash 407
####MVM_OP_hlllist src/core/ops.h:410 #define MVM_OP_hlllist 406
####MVM_OP_if_i src/core/ops.h:6 #define MVM_OP_if_i 2
####MVM_OP_if_n src/core/ops.h:8 #define MVM_OP_if_n 4
####MVM_OP_if_o src/core/ops.h:14 #define MVM_OP_if_o 10
####MVM_OP_if_s src/core/ops.h:10 #define MVM_OP_if_s 6
####MVM_OP_if_s0 src/core/ops.h:12 #define MVM_OP_if_s0 8
####MVM_OP_ifnonnull src/core/ops.h:140 #define MVM_OP_ifnonnull 136
####MVM_OP_inc_i src/core/ops.h:64 #define MVM_OP_inc_i 60
####MVM_OP_inc_u src/core/ops.h:65 #define MVM_OP_inc_u 61
####MVM_OP_index_s src/core/ops.h:189 #define MVM_OP_index_s 185
####MVM_OP_indexat_scb src/core/ops.h:204 #define MVM_OP_indexat_scb 200
####MVM_OP_indexcp_s src/core/ops.h:197 #define MVM_OP_indexcp_s 193
####MVM_OP_invoke_i src/core/ops.h:75 #define MVM_OP_invoke_i 71
####MVM_OP_invoke_n src/core/ops.h:76 #define MVM_OP_invoke_n 72
####MVM_OP_invoke_o src/core/ops.h:78 #define MVM_OP_invoke_o 74
####MVM_OP_invoke_s src/core/ops.h:77 #define MVM_OP_invoke_s 73
####MVM_OP_invoke_v src/core/ops.h:74 #define MVM_OP_invoke_v 70
####MVM_OP_invokewithcapture src/core/ops.h:170 #define MVM_OP_invokewithcapture 166
####MVM_OP_isbig_I src/core/ops.h:276 #define MVM_OP_isbig_I 272
####MVM_OP_iscclass src/core/ops.h:216 #define MVM_OP_iscclass 212
####MVM_OP_iscoderef src/core/ops.h:354 #define MVM_OP_iscoderef 350
####MVM_OP_iscompunit src/core/ops.h:182 #define MVM_OP_iscompunit 178
####MVM_OP_isconcrete src/core/ops.h:303 #define MVM_OP_isconcrete 299
####MVM_OP_iscont src/core/ops.h:382 #define MVM_OP_iscont 378
####MVM_OP_isfalse src/core/ops.h:386 #define MVM_OP_isfalse 382
####MVM_OP_isfalse_s src/core/ops.h:388 #define MVM_OP_isfalse_s 384
####MVM_OP_ishash src/core/ops.h:371 #define MVM_OP_ishash 367
####MVM_OP_isinvokable src/core/ops.h:381 #define MVM_OP_isinvokable 377
####MVM_OP_islist src/core/ops.h:370 #define MVM_OP_islist 366
####MVM_OP_isnull src/core/ops.h:352 #define MVM_OP_isnull 348
####MVM_OP_isnull_s src/core/ops.h:357 #define MVM_OP_isnull_s 353
####MVM_OP_isprime_I src/core/ops.h:270 #define MVM_OP_isprime_I 266
####MVM_OP_istrue src/core/ops.h:385 #define MVM_OP_istrue 381
####MVM_OP_istrue_s src/core/ops.h:387 #define MVM_OP_istrue_s 383
####MVM_OP_istype src/core/ops.h:400 #define MVM_OP_istype 396
####MVM_OP_iter src/core/ops.h:372 #define MVM_OP_iter 368
####MVM_OP_iterkey_s src/core/ops.h:373 #define MVM_OP_iterkey_s 369
####MVM_OP_iterval src/core/ops.h:374 #define MVM_OP_iterval 370
####MVM_OP_join src/core/ops.h:202 #define MVM_OP_join 198
####MVM_OP_jointhread src/core/ops.h:468 #define MVM_OP_jointhread 464
####MVM_OP_jumplist src/core/ops.h:128 #define MVM_OP_jumplist 124
####MVM_OP_knowhow src/core/ops.h:282 #define MVM_OP_knowhow 278
####MVM_OP_knowhowattr src/core/ops.h:353 #define MVM_OP_knowhowattr 349
####MVM_OP_lc src/core/ops.h:199 #define MVM_OP_lc 195
####MVM_OP_lcm_I src/core/ops.h:268 #define MVM_OP_lcm_I 264
####MVM_OP_lcm_i src/core/ops.h:245 #define MVM_OP_lcm_i 241
####MVM_OP_le_I src/core/ops.h:257 #define MVM_OP_le_I 253
####MVM_OP_le_i src/core/ops.h:88 #define MVM_OP_le_i 84
####MVM_OP_le_n src/core/ops.h:94 #define MVM_OP_le_n 90
####MVM_OP_le_s src/core/ops.h:226 #define MVM_OP_le_s 222
####MVM_OP_lexoticresult src/core/ops.h:160 #define MVM_OP_lexoticresult 156
####MVM_OP_lexprimspec src/core/ops.h:173 #define MVM_OP_lexprimspec 169
####MVM_OP_listen_sk src/core/ops.h:450 #define MVM_OP_listen_sk 446
####MVM_OP_loadbytecode src/core/ops.h:471 #define MVM_OP_loadbytecode 467
####MVM_OP_lock_fh src/core/ops.h:439 #define MVM_OP_lock_fh 435
####MVM_OP_log_n src/core/ops.h:280 #define MVM_OP_log_n 276
####MVM_OP_lt_I src/core/ops.h:256 #define MVM_OP_lt_I 252
####MVM_OP_lt_i src/core/ops.h:87 #define MVM_OP_lt_i 83
####MVM_OP_lt_n src/core/ops.h:93 #define MVM_OP_lt_n 89
####MVM_OP_lt_s src/core/ops.h:225 #define MVM_OP_lt_s 221
####MVM_OP_markcodestatic src/core/ops.h:417 #define MVM_OP_markcodestatic 413
####MVM_OP_markcodestub src/core/ops.h:418 #define MVM_OP_markcodestub 414
####MVM_OP_masttocu src/core/ops.h:181 #define MVM_OP_masttocu 177
####MVM_OP_masttofile src/core/ops.h:180 #define MVM_OP_masttofile 176
####MVM_OP_mkdir src/core/ops.h:427 #define MVM_OP_mkdir 423
####MVM_OP_mod_I src/core/ops.h:250 #define MVM_OP_mod_I 246
####MVM_OP_mod_i src/core/ops.h:60 #define MVM_OP_mod_i 56
####MVM_OP_mod_n src/core/ops.h:161 #define MVM_OP_mod_n 157
####MVM_OP_mod_u src/core/ops.h:61 #define MVM_OP_mod_u 57
####MVM_OP_mul_I src/core/ops.h:248 #define MVM_OP_mul_I 244
####MVM_OP_mul_i src/core/ops.h:57 #define MVM_OP_mul_i 53
####MVM_OP_mul_n src/core/ops.h:81 #define MVM_OP_mul_n 77
####MVM_OP_multicacheadd src/core/ops.h:171 #define MVM_OP_multicacheadd 167
####MVM_OP_multicachefind src/core/ops.h:172 #define MVM_OP_multicachefind 168
####MVM_OP_ne_I src/core/ops.h:255 #define MVM_OP_ne_I 251
####MVM_OP_ne_i src/core/ops.h:86 #define MVM_OP_ne_i 82
####MVM_OP_ne_n src/core/ops.h:92 #define MVM_OP_ne_n 88
####MVM_OP_ne_s src/core/ops.h:193 #define MVM_OP_ne_s 189
####MVM_OP_neg_I src/core/ops.h:251 #define MVM_OP_neg_I 247
####MVM_OP_neg_i src/core/ops.h:62 #define MVM_OP_neg_i 58
####MVM_OP_neg_n src/core/ops.h:83 #define MVM_OP_neg_n 79
####MVM_OP_newlexotic src/core/ops.h:159 #define MVM_OP_newlexotic 155
####MVM_OP_newthread src/core/ops.h:467 #define MVM_OP_newthread 463
####MVM_OP_newtype src/core/ops.h:369 #define MVM_OP_newtype 365
####MVM_OP_nfafromstatelist src/core/ops.h:219 #define MVM_OP_nfafromstatelist 215
####MVM_OP_nfarunalt src/core/ops.h:221 #define MVM_OP_nfarunalt 217
####MVM_OP_nfarunproto src/core/ops.h:220 #define MVM_OP_nfarunproto 216
####MVM_OP_no_op src/core/ops.h:4 #define MVM_OP_no_op 0
####MVM_OP_not_i src/core/ops.h:143 #define MVM_OP_not_i 139
####MVM_OP_null src/core/ops.h:355 #define MVM_OP_null 351
####MVM_OP_null_s src/core/ops.h:368 #define MVM_OP_null_s 364
####MVM_OP_objprimspec src/core/ops.h:178 #define MVM_OP_objprimspec 174
####MVM_OP_open_dir src/core/ops.h:429 #define MVM_OP_open_dir 425
####MVM_OP_open_fh src/core/ops.h:432 #define MVM_OP_open_fh 428
####MVM_OP_ordat src/core/ops.h:212 #define MVM_OP_ordat 208
####MVM_OP_ordfirst src/core/ops.h:211 #define MVM_OP_ordfirst 207
####MVM_OP_param_on_i src/core/ops.h:113 #define MVM_OP_param_on_i 109
####MVM_OP_param_on_n src/core/ops.h:114 #define MVM_OP_param_on_n 110
####MVM_OP_param_on_o src/core/ops.h:116 #define MVM_OP_param_on_o 112
####MVM_OP_param_on_s src/core/ops.h:115 #define MVM_OP_param_on_s 111
####MVM_OP_param_op_i src/core/ops.h:105 #define MVM_OP_param_op_i 101
####MVM_OP_param_op_n src/core/ops.h:106 #define MVM_OP_param_op_n 102
####MVM_OP_param_op_o src/core/ops.h:108 #define MVM_OP_param_op_o 104
####MVM_OP_param_op_s src/core/ops.h:107 #define MVM_OP_param_op_s 103
####MVM_OP_param_rn_i src/core/ops.h:109 #define MVM_OP_param_rn_i 105
####MVM_OP_param_rn_n src/core/ops.h:110 #define MVM_OP_param_rn_n 106
####MVM_OP_param_rn_o src/core/ops.h:112 #define MVM_OP_param_rn_o 108
####MVM_OP_param_rn_s src/core/ops.h:111 #define MVM_OP_param_rn_s 107
####MVM_OP_param_rp_i src/core/ops.h:101 #define MVM_OP_param_rp_i 97
####MVM_OP_param_rp_n src/core/ops.h:102 #define MVM_OP_param_rp_n 98
####MVM_OP_param_rp_o src/core/ops.h:104 #define MVM_OP_param_rp_o 100
####MVM_OP_param_rp_s src/core/ops.h:103 #define MVM_OP_param_rp_s 99
####MVM_OP_param_sn src/core/ops.h:139 #define MVM_OP_param_sn 135
####MVM_OP_param_sp src/core/ops.h:138 #define MVM_OP_param_sp 134
####MVM_OP_pop_i src/core/ops.h:316 #define MVM_OP_pop_i 312
####MVM_OP_pop_n src/core/ops.h:317 #define MVM_OP_pop_n 313
####MVM_OP_pop_o src/core/ops.h:319 #define MVM_OP_pop_o 315
####MVM_OP_pop_s src/core/ops.h:318 #define MVM_OP_pop_s 314
####MVM_OP_popcompsc src/core/ops.h:491 #define MVM_OP_popcompsc 487
####MVM_OP_pow_I src/core/ops.h:266 #define MVM_OP_pow_I 262
####MVM_OP_pow_i src/core/ops.h:125 #define MVM_OP_pow_i 121
####MVM_OP_pow_n src/core/ops.h:126 #define MVM_OP_pow_n 122
####MVM_OP_prepargs src/core/ops.h:69 #define MVM_OP_prepargs 65
####MVM_OP_print src/core/ops.h:455 #define MVM_OP_print 451
####MVM_OP_push_i src/core/ops.h:312 #define MVM_OP_push_i 308
####MVM_OP_push_n src/core/ops.h:313 #define MVM_OP_push_n 309
####MVM_OP_push_o src/core/ops.h:315 #define MVM_OP_push_o 311
####MVM_OP_push_s src/core/ops.h:314 #define MVM_OP_push_s 310
####MVM_OP_pushcompsc src/core/ops.h:490 #define MVM_OP_pushcompsc 486
####MVM_OP_radix src/core/ops.h:228 #define MVM_OP_radix 224
####MVM_OP_radix_I src/core/ops.h:278 #define MVM_OP_radix_I 274
####MVM_OP_rand_I src/core/ops.h:271 #define MVM_OP_rand_I 267
####MVM_OP_rand_i src/core/ops.h:463 #define MVM_OP_rand_i 459
####MVM_OP_rand_n src/core/ops.h:464 #define MVM_OP_rand_n 460
####MVM_OP_read_dir src/core/ops.h:430 #define MVM_OP_read_dir 426
####MVM_OP_read_fhs src/core/ops.h:434 #define MVM_OP_read_fhs 430
####MVM_OP_readall_fh src/core/ops.h:457 #define MVM_OP_readall_fh 453
####MVM_OP_readline_fh src/core/ops.h:460 #define MVM_OP_readline_fh 456
####MVM_OP_readlineint_fh src/core/ops.h:461 #define MVM_OP_readlineint_fh 457
####MVM_OP_rebless src/core/ops.h:399 #define MVM_OP_rebless 395
####MVM_OP_recv_sks src/core/ops.h:453 #define MVM_OP_recv_sks 449
####MVM_OP_rename_f src/core/ops.h:423 #define MVM_OP_rename_f 419
####MVM_OP_repeat_s src/core/ops.h:187 #define MVM_OP_repeat_s 183
####MVM_OP_reprname src/core/ops.h:302 #define MVM_OP_reprname 298
####MVM_OP_resume src/core/ops.h:496 #define MVM_OP_resume 492
####MVM_OP_rethrow src/core/ops.h:495 #define MVM_OP_rethrow 491
####MVM_OP_return src/core/ops.h:47 #define MVM_OP_return 43
####MVM_OP_return_i src/core/ops.h:43 #define MVM_OP_return_i 39
####MVM_OP_return_n src/core/ops.h:44 #define MVM_OP_return_n 40
####MVM_OP_return_o src/core/ops.h:46 #define MVM_OP_return_o 42
####MVM_OP_return_s src/core/ops.h:45 #define MVM_OP_return_s 41
####MVM_OP_rindexfrom src/core/ops.h:213 #define MVM_OP_rindexfrom 209
####MVM_OP_rmdir src/core/ops.h:428 #define MVM_OP_rmdir 424
####MVM_OP_savecapture src/core/ops.h:163 #define MVM_OP_savecapture 159
####MVM_OP_say src/core/ops.h:456 #define MVM_OP_say 452
####MVM_OP_scgethandle src/core/ops.h:478 #define MVM_OP_scgethandle 474
####MVM_OP_scgetobj src/core/ops.h:477 #define MVM_OP_scgetobj 473
####MVM_OP_scgetobjidx src/core/ops.h:479 #define MVM_OP_scgetobjidx 475
####MVM_OP_scobjcount src/core/ops.h:481 #define MVM_OP_scobjcount 477
####MVM_OP_scsetcode src/core/ops.h:476 #define MVM_OP_scsetcode 472
####MVM_OP_scsetdesc src/core/ops.h:480 #define MVM_OP_scsetdesc 476
####MVM_OP_scsetobj src/core/ops.h:475 #define MVM_OP_scsetobj 471
####MVM_OP_scwbdisable src/core/ops.h:488 #define MVM_OP_scwbdisable 484
####MVM_OP_scwbenable src/core/ops.h:489 #define MVM_OP_scwbenable 485
####MVM_OP_sec_n src/core/ops.h:237 #define MVM_OP_sec_n 233
####MVM_OP_sech_n src/core/ops.h:242 #define MVM_OP_sech_n 238
####MVM_OP_seed src/core/ops.h:494 #define MVM_OP_seed 490
####MVM_OP_seek_fh src/core/ops.h:438 #define MVM_OP_seek_fh 434
####MVM_OP_send_sks src/core/ops.h:452 #define MVM_OP_send_sks 448
####MVM_OP_serialize src/core/ops.h:484 #define MVM_OP_serialize 480
####MVM_OP_set src/core/ops.h:16 #define MVM_OP_set 12
####MVM_OP_setboolspec src/core/ops.h:384 #define MVM_OP_setboolspec 380
####MVM_OP_setcodename src/core/ops.h:391 #define MVM_OP_setcodename 387
####MVM_OP_setcodeobj src/core/ops.h:390 #define MVM_OP_setcodeobj 386
####MVM_OP_setcontspec src/core/ops.h:413 #define MVM_OP_setcontspec 409
####MVM_OP_setelemspos src/core/ops.h:329 #define MVM_OP_setelemspos 325
####MVM_OP_setencoding src/core/ops.h:454 #define MVM_OP_setencoding 450
####MVM_OP_sethllconfig src/core/ops.h:363 #define MVM_OP_sethllconfig 359
####MVM_OP_setinvokespec src/core/ops.h:380 #define MVM_OP_setinvokespec 376
####MVM_OP_setlexvalue src/core/ops.h:144 #define MVM_OP_setlexvalue 140
####MVM_OP_setmethcache src/core/ops.h:377 #define MVM_OP_setmethcache 373
####MVM_OP_setmethcacheauth src/core/ops.h:378 #define MVM_OP_setmethcacheauth 374
####MVM_OP_setobjsc src/core/ops.h:482 #define MVM_OP_setobjsc 478
####MVM_OP_settypecache src/core/ops.h:379 #define MVM_OP_settypecache 375
####MVM_OP_setwho src/core/ops.h:398 #define MVM_OP_setwho 394
####MVM_OP_sha1 src/core/ops.h:473 #define MVM_OP_sha1 469
####MVM_OP_shell src/core/ops.h:492 #define MVM_OP_shell 488
####MVM_OP_shift_i src/core/ops.h:320 #define MVM_OP_shift_i 316
####MVM_OP_shift_n src/core/ops.h:321 #define MVM_OP_shift_n 317
####MVM_OP_shift_o src/core/ops.h:323 #define MVM_OP_shift_o 319
####MVM_OP_shift_s src/core/ops.h:322 #define MVM_OP_shift_s 318
####MVM_OP_sin_n src/core/ops.h:230 #define MVM_OP_sin_n 226
####MVM_OP_sinh_n src/core/ops.h:239 #define MVM_OP_sinh_n 235
####MVM_OP_sleep src/core/ops.h:185 #define MVM_OP_sleep 181
####MVM_OP_slurp src/core/ops.h:435 #define MVM_OP_slurp 431
####MVM_OP_smrt_numify src/core/ops.h:136 #define MVM_OP_smrt_numify 132
####MVM_OP_smrt_strify src/core/ops.h:137 #define MVM_OP_smrt_strify 133
####MVM_OP_spew src/core/ops.h:436 #define MVM_OP_spew 432
####MVM_OP_splice src/core/ops.h:328 #define MVM_OP_splice 324
####MVM_OP_split src/core/ops.h:201 #define MVM_OP_split 197
####MVM_OP_sqrt_n src/core/ops.h:243 #define MVM_OP_sqrt_n 239
####MVM_OP_stat src/core/ops.h:459 #define MVM_OP_stat 455
####MVM_OP_sub_I src/core/ops.h:247 #define MVM_OP_sub_I 243
####MVM_OP_sub_i src/core/ops.h:56 #define MVM_OP_sub_i 52
####MVM_OP_sub_n src/core/ops.h:80 #define MVM_OP_sub_n 76
####MVM_OP_substr_s src/core/ops.h:188 #define MVM_OP_substr_s 184
####MVM_OP_sync_fh src/core/ops.h:441 #define MVM_OP_sync_fh 437
####MVM_OP_takeclosure src/core/ops.h:127 #define MVM_OP_takeclosure 123
####MVM_OP_tan_n src/core/ops.h:234 #define MVM_OP_tan_n 230
####MVM_OP_tanh_n src/core/ops.h:241 #define MVM_OP_tanh_n 237
####MVM_OP_tc src/core/ops.h:200 #define MVM_OP_tc 196
####MVM_OP_tell_fh src/core/ops.h:458 #define MVM_OP_tell_fh 454
####MVM_OP_throwcatdyn src/core/ops.h:155 #define MVM_OP_throwcatdyn 151
####MVM_OP_throwcatlex src/core/ops.h:156 #define MVM_OP_throwcatlex 152
####MVM_OP_throwcatlexotic src/core/ops.h:157 #define MVM_OP_throwcatlexotic 153
####MVM_OP_throwdyn src/core/ops.h:152 #define MVM_OP_throwdyn 148
####MVM_OP_throwlex src/core/ops.h:153 #define MVM_OP_throwlex 149
####MVM_OP_throwlexotic src/core/ops.h:154 #define MVM_OP_throwlexotic 150
####MVM_OP_time_i src/core/ops.h:465 #define MVM_OP_time_i 461
####MVM_OP_time_n src/core/ops.h:469 #define MVM_OP_time_n 465
####MVM_OP_trunc_fh src/core/ops.h:442 #define MVM_OP_trunc_fh 438
####MVM_OP_trunc_i16 src/core/ops.h:27 #define MVM_OP_trunc_i16 23
####MVM_OP_trunc_i32 src/core/ops.h:28 #define MVM_OP_trunc_i32 24
####MVM_OP_trunc_i8 src/core/ops.h:26 #define MVM_OP_trunc_i8 22
####MVM_OP_trunc_n32 src/core/ops.h:30 #define MVM_OP_trunc_n32 26
####MVM_OP_trunc_u16 src/core/ops.h:24 #define MVM_OP_trunc_u16 20
####MVM_OP_trunc_u32 src/core/ops.h:25 #define MVM_OP_trunc_u32 21
####MVM_OP_trunc_u8 src/core/ops.h:23 #define MVM_OP_trunc_u8 19
####MVM_OP_uc src/core/ops.h:198 #define MVM_OP_uc 194
####MVM_OP_unbox_i src/core/ops.h:333 #define MVM_OP_unbox_i 329
####MVM_OP_unbox_n src/core/ops.h:334 #define MVM_OP_unbox_n 330
####MVM_OP_unbox_s src/core/ops.h:335 #define MVM_OP_unbox_s 331
####MVM_OP_unipropcode src/core/ops.h:205 #define MVM_OP_unipropcode 201
####MVM_OP_unipvalcode src/core/ops.h:206 #define MVM_OP_unipvalcode 202
####MVM_OP_unless_i src/core/ops.h:7 #define MVM_OP_unless_i 3
####MVM_OP_unless_n src/core/ops.h:9 #define MVM_OP_unless_n 5
####MVM_OP_unless_o src/core/ops.h:15 #define MVM_OP_unless_o 11
####MVM_OP_unless_s src/core/ops.h:11 #define MVM_OP_unless_s 7
####MVM_OP_unless_s0 src/core/ops.h:13 #define MVM_OP_unless_s0 9
####MVM_OP_unlock_fh src/core/ops.h:440 #define MVM_OP_unlock_fh 436
####MVM_OP_unshift_i src/core/ops.h:324 #define MVM_OP_unshift_i 320
####MVM_OP_unshift_n src/core/ops.h:325 #define MVM_OP_unshift_n 321
####MVM_OP_unshift_o src/core/ops.h:327 #define MVM_OP_unshift_o 323
####MVM_OP_unshift_s src/core/ops.h:326 #define MVM_OP_unshift_s 322
####MVM_OP_usecapture src/core/ops.h:162 #define MVM_OP_usecapture 158
####MVM_OP_write_fhs src/core/ops.h:437 #define MVM_OP_write_fhs 433
####MVM_OP_wval src/core/ops.h:486 #define MVM_OP_wval 482
####MVM_OP_wval_wide src/core/ops.h:487 #define MVM_OP_wval_wide 483
####MVM_REPR_ID_HashAttrStore src/6model/reprs.h:47 #define MVM_REPR_ID_HashAttrStore 11
####MVM_REPR_ID_KnowHOWAttributeREPR src/6model/reprs.h:48 #define MVM_REPR_ID_KnowHOWAttributeREPR 12
####MVM_REPR_ID_KnowHOWREPR src/6model/reprs.h:40 #define MVM_REPR_ID_KnowHOWREPR 4
####MVM_REPR_ID_Lexotic src/6model/reprs.h:54 #define MVM_REPR_ID_Lexotic 18
####MVM_REPR_ID_MVMArray src/6model/reprs.h:37 #define MVM_REPR_ID_MVMArray 1
####MVM_REPR_ID_MVMCFunction src/6model/reprs.h:39 #define MVM_REPR_ID_MVMCFunction 3
####MVM_REPR_ID_MVMCallCapture src/6model/reprs.h:55 #define MVM_REPR_ID_MVMCallCapture 19
####MVM_REPR_ID_MVMCode src/6model/reprs.h:42 #define MVM_REPR_ID_MVMCode 6
####MVM_REPR_ID_MVMCompUnit src/6model/reprs.h:60 #define MVM_REPR_ID_MVMCompUnit 24
####MVM_REPR_ID_MVMContext src/6model/reprs.h:52 #define MVM_REPR_ID_MVMContext 16
####MVM_REPR_ID_MVMException src/6model/reprs.h:58 #define MVM_REPR_ID_MVMException 22
####MVM_REPR_ID_MVMHash src/6model/reprs.h:38 #define MVM_REPR_ID_MVMHash 2
####MVM_REPR_ID_MVMIter src/6model/reprs.h:51 #define MVM_REPR_ID_MVMIter 15
####MVM_REPR_ID_MVMOSHandle src/6model/reprs.h:43 #define MVM_REPR_ID_MVMOSHandle 7
####MVM_REPR_ID_MVMStaticFrame src/6model/reprs.h:59 #define MVM_REPR_ID_MVMStaticFrame 23
####MVM_REPR_ID_MVMString src/6model/reprs.h:36 #define MVM_REPR_ID_MVMString 0
####MVM_REPR_ID_MVMThread src/6model/reprs.h:50 #define MVM_REPR_ID_MVMThread 14
####MVM_REPR_ID_NFA src/6model/reprs.h:57 #define MVM_REPR_ID_NFA 21
####MVM_REPR_ID_P6bigint src/6model/reprs.h:56 #define MVM_REPR_ID_P6bigint 20
####MVM_REPR_ID_P6int src/6model/reprs.h:44 #define MVM_REPR_ID_P6int 8
####MVM_REPR_ID_P6num src/6model/reprs.h:45 #define MVM_REPR_ID_P6num 9
####MVM_REPR_ID_P6opaque src/6model/reprs.h:41 #define MVM_REPR_ID_P6opaque 5
####MVM_REPR_ID_P6str src/6model/reprs.h:49 #define MVM_REPR_ID_P6str 13
####MVM_REPR_ID_SCRef src/6model/reprs.h:53 #define MVM_REPR_ID_SCRef 17
####MVM_REPR_ID_Uninstantiable src/6model/reprs.h:46 #define MVM_REPR_ID_Uninstantiable 10
####MVM_RETURN_CALLER_FRAME src/core/args.h:130 #define MVM_RETURN_CALLER_FRAME 0
####MVM_RETURN_CURRENT_FRAME src/core/args.h:131 #define MVM_RETURN_CURRENT_FRAME 1
####MVM_STORAGE_SPEC_BP_INT src/6model/6model.h:61 #define MVM_STORAGE_SPEC_BP_INT 1
####MVM_STORAGE_SPEC_BP_NONE src/6model/6model.h:60 #define MVM_STORAGE_SPEC_BP_NONE 0
####MVM_STORAGE_SPEC_BP_NUM src/6model/6model.h:62 #define MVM_STORAGE_SPEC_BP_NUM 2
####MVM_STORAGE_SPEC_BP_STR src/6model/6model.h:63 #define MVM_STORAGE_SPEC_BP_STR 3
####MVM_STORAGE_SPEC_CAN_BOX_INT src/6model/6model.h:66 #define MVM_STORAGE_SPEC_CAN_BOX_INT 1
####MVM_STORAGE_SPEC_CAN_BOX_MASK src/6model/6model.h:69 #define MVM_STORAGE_SPEC_CAN_BOX_MASK 7
####MVM_STORAGE_SPEC_CAN_BOX_NUM src/6model/6model.h:67 #define MVM_STORAGE_SPEC_CAN_BOX_NUM 2
####MVM_STORAGE_SPEC_CAN_BOX_STR src/6model/6model.h:68 #define MVM_STORAGE_SPEC_CAN_BOX_STR 4
####MVM_STORAGE_SPEC_INLINED src/6model/6model.h:57 #define MVM_STORAGE_SPEC_INLINED 1
####MVM_STORAGE_SPEC_REFERENCE src/6model/6model.h:56 #define MVM_STORAGE_SPEC_REFERENCE 0
####MVM_STRING_TYPE_INT32 src/6model/reprs/MVMString.h:39 #define MVM_STRING_TYPE_INT32 0
####MVM_STRING_TYPE_MASK src/6model/reprs/MVMString.h:42 #define MVM_STRING_TYPE_MASK 3
####MVM_STRING_TYPE_ROPE src/6model/reprs/MVMString.h:41 #define MVM_STRING_TYPE_ROPE 2
####MVM_STRING_TYPE_UINT8 src/6model/reprs/MVMString.h:40 #define MVM_STRING_TYPE_UINT8 1
####MVM_SUBSTRING_CONSUMER(name) src/strings/ops.h:37
#define MVM_SUBSTRING_CONSUMER(name) MVMuint8 name(MVMThreadContext *tc,
MVMString *string, MVMStringIndex start, MVMStringIndex length, MVMStringIndex top_index, void *data)
####MVM_TYPE_CHECK_CACHE_DEFINITIVE src/6model/6model.h:20 #define MVM_TYPE_CHECK_CACHE_DEFINITIVE 0
####MVM_TYPE_CHECK_CACHE_FLAG_MASK src/6model/6model.h:23 #define MVM_TYPE_CHECK_CACHE_FLAG_MASK 3
####MVM_TYPE_CHECK_CACHE_THEN_METHOD src/6model/6model.h:21 #define MVM_TYPE_CHECK_CACHE_THEN_METHOD 1
####MVM_TYPE_CHECK_NEEDS_ACCEPTS src/6model/6model.h:22 #define MVM_TYPE_CHECK_NEEDS_ACCEPTS 2
####MVM_WB(tc, update_root, referenced) src/gc/wb.h:3
#define MVM_WB(tc, update_root, referenced)
{
MVMCollectable *u = (MVMCollectable *)update_root;
MVMCollectable *r = (MVMCollectable *)referenced;
if (((u->flags & MVM_CF_SECOND_GEN) && r && !(r->flags & MVM_CF_SECOND_GEN)))
MVM_gc_write_barrier_hit(tc, u);
}
####MVM_add(addr, add) src/moarvm.h:101 #define MVM_add(addr, add) AO_fetch_and_add_full((volatile AO_t *)(addr), (AO_t)(add))
####MVM_barrier() src/moarvm.h:113 #define MVM_barrier() AO_nop_full()
####MVM_cas(addr, old, new) src/moarvm.h:107 #define MVM_cas(addr, old, new) AO_fetch_compare_and_swap_full((addr), (old), (new))
####MVM_casptr(addr, old, new) src/moarvm.h:110 #define MVM_casptr(addr, old, new) ((void *)MVM_cas((AO_t *)(addr), (AO_t)(old), (AO_t)(new)))
####MVM_checked_free_null(addr) src/moarvm.h:116
#define MVM_checked_free_null(addr) do {
if ((addr)) {
free((addr));
(addr) = NULL;
}
} while (0)
####MVM_decr(addr) src/moarvm.h:100 #define MVM_decr(addr) AO_fetch_and_sub1_full((volatile AO_t *)(addr))
####MVM_encoding_type_ascii src/strings/ops.h:2 #define MVM_encoding_type_ascii 2
####MVM_encoding_type_latin1 src/strings/ops.h:3 #define MVM_encoding_type_latin1 3
####MVM_encoding_type_utf8 src/strings/ops.h:1 #define MVM_encoding_type_utf8 1
####MVM_exitcode_NYI src/core/exceptions.h:74 #define MVM_exitcode_NYI 12
####MVM_exitcode_compunit src/core/exceptions.h:75 #define MVM_exitcode_compunit 13
####MVM_exitcode_gcalloc src/core/exceptions.h:77 #define MVM_exitcode_gcalloc 15
####MVM_exitcode_gcnursery src/core/exceptions.h:79 #define MVM_exitcode_gcnursery 17
####MVM_exitcode_gcorch src/core/exceptions.h:81 #define MVM_exitcode_gcorch 19
####MVM_exitcode_gcroots src/core/exceptions.h:78 #define MVM_exitcode_gcroots 16
####MVM_exitcode_invalidopcode src/core/exceptions.h:76 #define MVM_exitcode_invalidopcode 14
####MVM_exitcode_threads src/core/exceptions.h:80 #define MVM_exitcode_threads 18
####MVM_gc_allocate(tc, size) src/gc/allocation.h:9
#define MVM_gc_allocate(tc, size) (tc->allocate_in == MVMAllocate_Nursery ?
MVM_gc_allocate_nursery(tc, size) :
MVM_gc_gen2_allocate_zeroed(tc->gen2, size))
####MVM_gc_worklist_add(tc, worklist, item) src/gc/worklist.h:33
#define MVM_gc_worklist_add(tc, worklist, item)
do {
if (worklist->items == worklist->alloc)
MVM_gc_worklist_add_slow(tc, worklist, (MVMCollectable **)(item));
else
worklist->list[worklist->items++] = (MVMCollectable **)(item);
} while (0)
####MVM_gc_worklist_add_frame(tc, worklist, frame) src/gc/worklist.h:41
#define MVM_gc_worklist_add_frame(tc, worklist, frame)
do {
if ((frame) && MVM_load(&(tc)->instance->gc_seq_number) != MVM_load(&(frame)->gc_seq_number)) {
if (worklist->frames == worklist->frames_alloc)
MVM_gc_worklist_add_frame_slow(tc, worklist, (frame));
else
worklist->frames_list[worklist->frames++] = (frame);
}
} while (0)
####MVM_gc_worklist_get(tc, worklist) src/gc/worklist.h:51
#define MVM_gc_worklist_get(tc, worklist)
(worklist->items ?
worklist->list[--worklist->items] :
NULL)
####MVM_gc_worklist_get_frame(tc, worklist) src/gc/worklist.h:56
#define MVM_gc_worklist_get_frame(tc, worklist)
(worklist->frames ?
worklist->frames_list[--worklist->frames] :
NULL)
####MVM_incr(addr) src/moarvm.h:99 #define MVM_incr(addr) AO_fetch_and_add1_full((volatile AO_t *)(addr))
####MVM_load(addr) src/moarvm.h:126 #define MVM_load(addr) AO_load_full((volatile AO_t *)(addr))
####MVM_operand_callsite src/core/interp.h:71 #define MVM_operand_callsite (13 << 3)
####MVM_operand_coderef src/core/interp.h:70 #define MVM_operand_coderef (12 << 3)
####MVM_operand_ins src/core/interp.h:68 #define MVM_operand_ins (9 << 3)
####MVM_operand_int16 src/core/interp.h:61 #define MVM_operand_int16 (MVM_reg_int16 << 3)
####MVM_operand_int32 src/core/interp.h:62 #define MVM_operand_int32 (MVM_reg_int32 << 3)
####MVM_operand_int64 src/core/interp.h:63 #define MVM_operand_int64 (MVM_reg_int64 << 3)
####MVM_operand_int8 src/core/interp.h:60 #define MVM_operand_int8 (MVM_reg_int8 << 3)
####MVM_operand_literal src/core/interp.h:42 #define MVM_operand_literal 0
####MVM_operand_num32 src/core/interp.h:64 #define MVM_operand_num32 (MVM_reg_num32 << 3)
####MVM_operand_num64 src/core/interp.h:65 #define MVM_operand_num64 (MVM_reg_num64 << 3)
####MVM_operand_obj src/core/interp.h:67 #define MVM_operand_obj (MVM_reg_obj << 3)
####MVM_operand_read_lex src/core/interp.h:45 #define MVM_operand_read_lex 3
####MVM_operand_read_reg src/core/interp.h:43 #define MVM_operand_read_reg 1
####MVM_operand_rw_mask src/core/interp.h:47 #define MVM_operand_rw_mask 7
####MVM_operand_str src/core/interp.h:66 #define MVM_operand_str (MVM_reg_str << 3)
####MVM_operand_type_mask src/core/interp.h:72 #define MVM_operand_type_mask (15 << 3)
####MVM_operand_type_var src/core/interp.h:69 #define MVM_operand_type_var (10 << 3)
####MVM_operand_write_lex src/core/interp.h:46 #define MVM_operand_write_lex 4
####MVM_operand_write_reg src/core/interp.h:44 #define MVM_operand_write_reg 2
####MVM_platform_lseek src/platform/io.h:4 #define MVM_platform_lseek lseek
####MVM_platform_yield src/platform/threads.h:2 #define MVM_platform_yield SwitchToThread
####MVM_platform_yield src/platform/threads.h:5 #define MVM_platform_yield sched_yield
####MVM_platform_yield src/platform/threads.h:7 #define MVM_platform_yield pthread_yield
####MVM_reg_int16 src/core/interp.h:51 #define MVM_reg_int16 2
####MVM_reg_int32 src/core/interp.h:52 #define MVM_reg_int32 3
####MVM_reg_int64 src/core/interp.h:53 #define MVM_reg_int64 4
####MVM_reg_int8 src/core/interp.h:50 #define MVM_reg_int8 1
####MVM_reg_num32 src/core/interp.h:54 #define MVM_reg_num32 5
####MVM_reg_num64 src/core/interp.h:55 #define MVM_reg_num64 6
####MVM_reg_obj src/core/interp.h:57 #define MVM_reg_obj 8
####MVM_reg_str src/core/interp.h:56 #define MVM_reg_str 7
####MVM_repr_at_key_int(tc, obj, key) src/6model/reprconv.h:44
#define MVM_repr_at_key_int(tc, obj, key)
MVM_repr_get_int((tc), MVM_repr_at_key_boxed((tc), (obj), (key)))
####MVM_repr_at_key_num(tc, obj, key) src/6model/reprconv.h:46
#define MVM_repr_at_key_num(tc, obj, key)
MVM_repr_get_num((tc), MVM_repr_at_key_boxed((tc), (obj), (key)))
####MVM_repr_at_key_str(tc, obj, key) src/6model/reprconv.h:48
#define MVM_repr_at_key_str(tc, obj, key)
MVM_repr_get_str((tc), MVM_repr_at_key_boxed((tc), (obj), (key)))
####MVM_repr_bind_key_int(tc, obj, key, val) src/6model/reprconv.h:51
#define MVM_repr_bind_key_int(tc, obj, key, val)
MVM_repr_bind_key_boxed((tc), (obj), (key), MVM_repr_box_int((tc), (*((tc)->interp_cu))->body.hll_config->int_box_type, (val)))
####MVM_repr_bind_key_num(tc, obj, key, val) src/6model/reprconv.h:53
#define MVM_repr_bind_key_num(tc, obj, key, val)
MVM_repr_bind_key_boxed((tc), (obj), (key), MVM_repr_box_num((tc), (*((tc)->interp_cu))->body.hll_config->num_box_type, (val)))
####MVM_repr_bind_key_str(tc, obj, key, val) src/6model/reprconv.h:55
#define MVM_repr_bind_key_str(tc, obj, key, val)
MVM_repr_bind_key_boxed((tc), (obj), (key), MVM_repr_box_str((tc), (*((tc)->interp_cu))->body.hll_config->str_box_type, (val)))
####MVM_stat_accesstime src/strings/ops.h:14 #define MVM_stat_accesstime 6
####MVM_stat_backuptime src/strings/ops.h:17 #define MVM_stat_backuptime 9
####MVM_stat_changetime src/strings/ops.h:16 #define MVM_stat_changetime 8
####MVM_stat_createtime src/strings/ops.h:13 #define MVM_stat_createtime 5
####MVM_stat_exists src/strings/ops.h:8 #define MVM_stat_exists 0
####MVM_stat_filesize src/strings/ops.h:9 #define MVM_stat_filesize 1
####MVM_stat_gid src/strings/ops.h:19 #define MVM_stat_gid 11
####MVM_stat_isdev src/strings/ops.h:12 #define MVM_stat_isdev 4
####MVM_stat_isdir src/strings/ops.h:10 #define MVM_stat_isdir 2
####MVM_stat_islnk src/strings/ops.h:20 #define MVM_stat_islnk 12
####MVM_stat_isreg src/strings/ops.h:11 #define MVM_stat_isreg 3
####MVM_stat_modifytime src/strings/ops.h:15 #define MVM_stat_modifytime 7
####MVM_stat_platform_blocks src/strings/ops.h:27 #define MVM_stat_platform_blocks -7
####MVM_stat_platform_blocksize src/strings/ops.h:26 #define MVM_stat_platform_blocksize -6
####MVM_stat_platform_dev src/strings/ops.h:21 #define MVM_stat_platform_dev -1
####MVM_stat_platform_devtype src/strings/ops.h:25 #define MVM_stat_platform_devtype -5
####MVM_stat_platform_inode src/strings/ops.h:22 #define MVM_stat_platform_inode -2
####MVM_stat_platform_mode src/strings/ops.h:23 #define MVM_stat_platform_mode -3
####MVM_stat_platform_nlinks src/strings/ops.h:24 #define MVM_stat_platform_nlinks -4
####MVM_stat_uid src/strings/ops.h:18 #define MVM_stat_uid 10
####MVM_store(addr, new) src/moarvm.h:125 #define MVM_store(addr, new) AO_store_full((volatile AO_t *)(addr), (AO_t)(new))
####MVM_trycas(addr, old, new) src/moarvm.h:104 #define MVM_trycas(addr, old, new) AO_compare_and_swap_full((volatile AO_t *)(addr), (AO_t)(old), (AO_t)(new))
####MVM_unicode_case_change_type_lower src/strings/unicode.h:7 #define MVM_unicode_case_change_type_lower 1
####MVM_unicode_case_change_type_title src/strings/unicode.h:8 #define MVM_unicode_case_change_type_title 2
####MVM_unicode_case_change_type_upper src/strings/unicode.h:6 #define MVM_unicode_case_change_type_upper 0
####NEWHASH(vm) src/mast/nodes_moarvm.h:147 #define NEWHASH(vm) (MVM_repr_alloc_init(tc, tc->instance->boot_types->BOOTHash))
####NEWLIST_I(vm) src/mast/nodes_moarvm.h:136 #define NEWLIST_I(vm) (MVM_repr_alloc_init(tc, tc->instance->boot_types->BOOTIntArray))
####NEWLIST_S(vm) src/mast/nodes_moarvm.h:137 #define NEWLIST_S(vm) (MVM_repr_alloc_init(tc, tc->instance->boot_types->BOOTStrArray))
####NUM_GRAPHS(str) src/strings/ops.h:43 #define NUM_GRAPHS(str) (IS_ROPE((str)) ? NUM_ROPE_GRAPHS((str)) : (str)->body.graphs)
####NUM_ROPE_GRAPHS(str) src/strings/ops.h:42 #define NUM_ROPE_GRAPHS(str) ((str)->body.num_strands ? (str)->body.strands[(str)->body.num_strands].graphs : 0)
####OBJECT_BODY(o) src/6model/6model.h:489 #define OBJECT_BODY(o) (&(((MVMObjectStooge *)(o))->data))
####REPR(o) src/6model/6model.h:488 #define REPR(o) (STABLE((o))->REPR)
####STABLE(o) src/6model/6model.h:487 #define STABLE(o) (((MVMObject *)(o))->st)
####STRAND_DEPTH(str) src/strings/ops.h:58 #define STRAND_DEPTH(str) ((IS_ROPE((str)) && NUM_ROPE_GRAPHS(str)) ? _STRAND_DEPTH((str)) : 0)
####STR_FLAGS(str) src/strings/ops.h:46 #define STR_FLAGS(str) (((MVMString *)(str))->body.flags & MVM_STRING_TYPE_MASK)
####VM src/mast/nodes_moarvm.h:118 #define VM MVMThreadContext *tc
####VM_OBJ_IS_NULL(o) src/mast/nodes_moarvm.h:157 #define VM_OBJ_IS_NULL(o) (o == NULL)
####VM_STRING_IS_NULL(s) src/mast/nodes_moarvm.h:156 #define VM_STRING_IS_NULL(s) (s == NULL)
####VM_STRING_TO_C_STRING(vm, s) src/mast/nodes_moarvm.h:158 #define VM_STRING_TO_C_STRING(vm, s) (MVM_string_ascii_encode_any(tc, s))
####_STRAND_DEPTH(str) src/strings/ops.h:56 #define _STRAND_DEPTH(str) ((str)->body.strands[(str)->body.num_strands].strand_depth)
####num_unicode_property_keypairs src/strings/unicode_gen.h:9 #define num_unicode_property_keypairs 287
####num_unicode_property_value_keypairs src/strings/unicode_gen.h:15 #define num_unicode_property_value_keypairs 2083
####uthash_fatal(msg) src/moarvm.h:11 #define uthash_fatal(msg) MVM_exception_throw_adhoc(tc, "internal hash error: " msg)
####vm src/mast/nodes_moarvm.h:119 #define vm tc
####BOM_UTF16BE src/strings/utf16.c:4 #define BOM_UTF16BE "\xfe\xff"
####BOM_UTF16LE src/strings/utf16.c:3 #define BOM_UTF16LE "\xff\xfe"
####BYTECODE_VERSION src/mast/compiler.c:17 #define BYTECODE_VERSION 1
####CLOSURES_TABLE_ENTRIES_GUESS src/6model/serialization.c:26 #define CLOSURES_TABLE_ENTRIES_GUESS 16
####CLOSURES_TABLE_ENTRY_SIZE src/6model/serialization.c:18 #define CLOSURES_TABLE_ENTRY_SIZE 24
####CONTEXTS_TABLE_ENTRIES_GUESS src/6model/serialization.c:27 #define CONTEXTS_TABLE_ENTRIES_GUESS 4
####CONTEXTS_TABLE_ENTRY_SIZE src/6model/serialization.c:19 #define CONTEXTS_TABLE_ENTRY_SIZE 16
####CURRENT_VERSION src/6model/serialization.c:10 #define CURRENT_VERSION 6
####DEFAULT_CONTEXTS_DATA_SIZE src/6model/serialization.c:28 #define DEFAULT_CONTEXTS_DATA_SIZE 1024
####DEFAULT_MODE src/io/fileops.c:7 #define DEFAULT_MODE 0x0FFF
####DEFAULT_MODE src/io/fileops.c:14 #define DEFAULT_MODE _S_IWRITE /* work around sucky libuv defaults */
####DEFAULT_STABLE_DATA_SIZE src/6model/serialization.c:23 #define DEFAULT_STABLE_DATA_SIZE 4096
####DEP_TABLE_ENTRY_SIZE src/6model/serialization.c:15 #define DEP_TABLE_ENTRY_SIZE 8
####DISPATCH(op) src/core/interp.c:20 #define DISPATCH(op)
####DISPATCH(op) src/core/interp.c:24 #define DISPATCH(op) switch (op)
####E6 src/platform/win32/time.c:9 #define E6 1000000
####E9 src/platform/posix/time.c:8 #define E9 1000000000
####FRAME_HANDLER_SIZE src/mast/compiler.c:19 #define FRAME_HANDLER_SIZE 4 * 4 + 2 * 2
####FRAME_HANDLER_SIZE src/core/bytecode.c:8 #define FRAME_HANDLER_SIZE 4 * 4 + 2 * 2
####FRAME_HEADER_SIZE src/mast/compiler.c:18 #define FRAME_HEADER_SIZE 7 * 4 + 3 * 2
####FRAME_HEADER_SIZE src/core/bytecode.c:7 #define FRAME_HEADER_SIZE 7 * 4 + 3 * 2
####GET_I16(pc, idx) src/core/validation.c:6 #define GET_I16(pc, idx) *((MVMint16 *)(pc + idx))
####GET_I16(pc, idx) src/core/interp.c:8 #define GET_I16(pc, idx) *((MVMint16 *)(pc + idx))
####GET_I16(pc, idx) src/core/bytecodedump.c:45 #define GET_I16(pc, idx) *((MVMint16 *)(pc + idx))
####GET_I32(pc, idx) src/core/validation.c:8 #define GET_I32(pc, idx) *((MVMint32 *)(pc + idx))
####GET_I32(pc, idx) src/core/interp.c:10 #define GET_I32(pc, idx) *((MVMint32 *)(pc + idx))
####GET_I32(pc, idx) src/core/bytecodedump.c:47 #define GET_I32(pc, idx) *((MVMint32 *)(pc + idx))
####GET_I64(pc, idx) src/core/validation.c:10 #define GET_I64(pc, idx) *((MVMint64 *)(pc + idx))
####GET_I64(pc, idx) src/core/interp.c:12 #define GET_I64(pc, idx) *((MVMint64 *)(pc + idx))
####GET_I64(pc, idx) src/core/bytecodedump.c:49 #define GET_I64(pc, idx) *((MVMint64 *)(pc + idx))
####GET_I8(pc, idx) src/core/bytecodedump.c:43 #define GET_I8(pc, idx) *((MVMint8 *)(pc + idx))
####GET_LEX(pc, idx, f) src/core/interp.c:7 #define GET_LEX(pc, idx, f) f->env[*((MVMuint16 *)(pc + idx))]
####GET_N32(pc, idx) src/core/validation.c:12 #define GET_N32(pc, idx) *((MVMnum32 *)(pc + idx))
####GET_N32(pc, idx) src/core/interp.c:14 #define GET_N32(pc, idx) *((MVMnum32 *)(pc + idx))
####GET_N32(pc, idx) src/core/bytecodedump.c:51 #define GET_N32(pc, idx) *((MVMnum32 *)(pc + idx))
####GET_N64(pc, idx) src/core/validation.c:13 #define GET_N64(pc, idx) *((MVMnum64 *)(pc + idx))
####GET_N64(pc, idx) src/core/interp.c:15 #define GET_N64(pc, idx) *((MVMnum64 *)(pc + idx))
####GET_N64(pc, idx) src/core/bytecodedump.c:52 #define GET_N64(pc, idx) *((MVMnum64 *)(pc + idx))
####GET_REG(pc, idx) src/core/validation.c:5 #define GET_REG(pc, idx) *((MVMuint16 *)(pc + idx))
####GET_REG(pc, idx) src/core/interp.c:6 #define GET_REG(pc, idx) reg_base[*((MVMuint16 *)(pc + idx))]
####GET_REG(pc, idx) src/core/bytecodedump.c:44 #define GET_REG(pc, idx) *((MVMuint16 *)(pc + idx))
####GET_UI16(pc, idx) src/core/validation.c:7 #define GET_UI16(pc, idx) *((MVMuint16 *)(pc + idx))
####GET_UI16(pc, idx) src/core/interp.c:9 #define GET_UI16(pc, idx) *((MVMuint16 *)(pc + idx))
####GET_UI16(pc, idx) src/core/bytecodedump.c:46 #define GET_UI16(pc, idx) *((MVMuint16 *)(pc + idx))
####GET_UI32(pc, idx) src/core/validation.c:9 #define GET_UI32(pc, idx) *((MVMuint32 *)(pc + idx))
####GET_UI32(pc, idx) src/core/interp.c:11 #define GET_UI32(pc, idx) *((MVMuint32 *)(pc + idx))
####GET_UI32(pc, idx) src/core/bytecodedump.c:48 #define GET_UI32(pc, idx) *((MVMuint32 *)(pc + idx))
####GET_UI64(pc, idx) src/core/validation.c:11 #define GET_UI64(pc, idx) *((MVMuint64 *)(pc + idx))
####GET_UI64(pc, idx) src/core/interp.c:13 #define GET_UI64(pc, idx) *((MVMuint64 *)(pc + idx))
####GET_UI64(pc, idx) src/core/bytecodedump.c:50 #define GET_UI64(pc, idx) *((MVMuint64 *)(pc + idx))
####HANDLER_INVOKE src/mast/compiler.c:54 #define HANDLER_INVOKE 2
####HANDLER_UNWIND_GOTO src/mast/compiler.c:52 #define HANDLER_UNWIND_GOTO 0
####HANDLER_UNWIND_GOTO_OBJ src/mast/compiler.c:53 #define HANDLER_UNWIND_GOTO_OBJ 1
####HEADER_SIZE src/6model/serialization.c:14 #define HEADER_SIZE 4 * 16
####HEADER_SIZE src/mast/compiler.c:16 #define HEADER_SIZE 88
####HEADER_SIZE src/core/bytecode.c:4 #define HEADER_SIZE 88
####LATIN1_CHAR_TO_CP(character) src/strings/latin1.c:3 #define LATIN1_CHAR_TO_CP(character) codepoints[character];
####MAX_BYTECODE_VERSION src/core/bytecode.c:6 #define MAX_BYTECODE_VERSION 1
####MIN_BYTECODE_VERSION src/core/bytecode.c:5 #define MIN_BYTECODE_VERSION 1
####MIN_VERSION src/6model/serialization.c:11 #define MIN_VERSION 5
####MOARVM_IN_COMPILER src/mast/compiler.c:12 #define MOARVM_IN_COMPILER
####MVM_BIGINT_BINARY_OP(opname) src/math/bigintops.c:148
#define MVM_BIGINT_BINARY_OP(opname)
void MVM_bigint_##opname(MVMThreadContext *tc, MVMObject *result, MVMObject *a, MVMObject *b) {
mp_int *ia = get_bigint(tc, a);
mp_int *ib = get_bigint(tc, b);
mp_int *ic = get_bigint(tc, result);
mp_##opname(ia, ib, ic);
}
####MVM_BIGINT_BINARY_OP_2(opname) src/math/bigintops.c:156
#define MVM_BIGINT_BINARY_OP_2(opname)
void MVM_bigint_##opname(MVMThreadContext *tc, MVMObject *result, MVMObject *a, MVMObject *b) {
mp_int *ia = get_bigint(tc, a);
mp_int *ib = get_bigint(tc, b);
mp_int *ic = get_bigint(tc, result);
two_complement_bitop(ia, ib, ic, mp_##opname);
}
####MVM_BIGINT_COMPARE_OP(opname) src/math/bigintops.c:164
#define MVM_BIGINT_COMPARE_OP(opname)
MVMint64 MVM_bigint_##opname(MVMThreadContext *tc, MVMObject *a, MVMObject *b) {
mp_int *ia = get_bigint(tc, a);
mp_int *ib = get_bigint(tc, b);
return (MVMint64) mp_##opname(ia, ib);
}
####MVM_BIGINT_UNARY_OP(opname) src/math/bigintops.c:141
#define MVM_BIGINT_UNARY_OP(opname)
void MVM_bigint_##opname(MVMThreadContext *tc, MVMObject *result, MVMObject *source) {
mp_int *ia = get_bigint(tc, source);
mp_int *ib = get_bigint(tc, result);
mp_##opname(ia, ib);
}
####MVM_MAP_ANON src/platform/posix/mmap.c:9 #define MVM_MAP_ANON MAP_ANONYMOUS
####MVM_MAP_ANON src/platform/posix/mmap.c:12 #define MVM_MAP_ANON MAP_ANON
####NEXT src/core/interp.c:22 #define NEXT *LABELS[NEXT_OP]
####NEXT src/core/interp.c:26 #define NEXT runloop
####NEXT_OP src/core/interp.c:17 #define NEXT_OP (op = *(MVMuint16 *)(cur_op), cur_op += 2, op)
####OBJECTS_TABLE_ENTRY_SIZE src/6model/serialization.c:17 #define OBJECTS_TABLE_ENTRY_SIZE 16
####OBJECT_SIZE_GUESS src/6model/serialization.c:25 #define OBJECT_SIZE_GUESS 8
####OBJ_IS_NULL(obj) src/6model/serialization.c:255 #define OBJ_IS_NULL(obj) ((obj) == NULL)
####OFFSET src/platform/win32/time.c:7 #define OFFSET 116444736000000000
####OP(name) src/core/interp.c:21 #define OP(name) OP_ ## name
####OP(name) src/core/interp.c:25 #define OP(name) case MVM_OP_ ## name
####O_CREAT src/io/fileops.c:10 #define O_CREAT _O_CREAT
####O_RDONLY src/core/compunit.c:6 #define O_RDONLY _O_RDONLY
####O_RDONLY src/io/fileops.c:11 #define O_RDONLY _O_RDONLY
####O_TRUNC src/io/fileops.c:13 #define O_TRUNC _O_TRUNC
####O_WRONLY src/io/fileops.c:12 #define O_WRONLY _O_WRONLY
####P6OMAX(x, y) src/6model/reprs/P6opaque.c:3 #define P6OMAX(x, y) ((y) > (x) ? (y) : (x))
####PARROT_IN_EXTENSION src/mast/compiler.c:2 #define PARROT_IN_EXTENSION
####PARROT_IN_EXTENSION src/core/ops.c:2 #define PARROT_IN_EXTENSION
####REFVAR_CLONED_CODEREF src/6model/serialization.c:42 #define REFVAR_CLONED_CODEREF 12
####REFVAR_NULL src/6model/serialization.c:31 #define REFVAR_NULL 1
####REFVAR_OBJECT src/6model/serialization.c:32 #define REFVAR_OBJECT 2
####REFVAR_STATIC_CODEREF src/6model/serialization.c:41 #define REFVAR_STATIC_CODEREF 11
####REFVAR_VM_ARR_INT src/6model/serialization.c:39 #define REFVAR_VM_ARR_INT 9
####REFVAR_VM_ARR_STR src/6model/serialization.c:38 #define REFVAR_VM_ARR_STR 8
####REFVAR_VM_ARR_VAR src/6model/serialization.c:37 #define REFVAR_VM_ARR_VAR 7
####REFVAR_VM_HASH_STR_VAR src/6model/serialization.c:40 #define REFVAR_VM_HASH_STR_VAR 10
####REFVAR_VM_HASH_STR_VAR src/6model/reprs/P6opaque.c:4 #define REFVAR_VM_HASH_STR_VAR 10
####REFVAR_VM_INT src/6model/serialization.c:34 #define REFVAR_VM_INT 4
####REFVAR_VM_NULL src/6model/serialization.c:33 #define REFVAR_VM_NULL 3
####REFVAR_VM_NUM src/6model/serialization.c:35 #define REFVAR_VM_NUM 5
####REFVAR_VM_STR src/6model/serialization.c:36 #define REFVAR_VM_STR 6
####REPOS_TABLE_ENTRY_SIZE src/6model/serialization.c:20 #define REPOS_TABLE_ENTRY_SIZE 16
####SC_DEP_SIZE src/mast/compiler.c:20 #define SC_DEP_SIZE 4
####SC_OBJ(obj) src/6model/serialization.c:306 #define SC_OBJ(obj) ((obj)->header.sc)
####STABLES_TABLE_ENTRIES_GUESS src/6model/serialization.c:24 #define STABLES_TABLE_ENTRIES_GUESS 16
####STABLES_TABLE_ENTRY_SIZE src/6model/serialization.c:16 #define STABLES_TABLE_ENTRY_SIZE 12
####STABLE_STRUCT(st) src/6model/serialization.c:257 #define STABLE_STRUCT(st) (&(st)->header)
####STRING_IS_NULL(s) src/6model/serialization.c:199 #define STRING_IS_NULL(s) ((s) == NULL)
####UTF8_ACCEPT src/strings/utf8.c:28 #define UTF8_ACCEPT 0
####UTF8_MAXINC src/strings/utf8.c:189 #define UTF8_MAXINC 32 * 1024 * 1024
####UTF8_REJECT src/strings/utf8.c:29 #define UTF8_REJECT 12
####_GNU_SOURCE src/platform/posix/sys.c:6 #define _GNU_SOURCE
####a(...) src/core/bytecodedump.c:40 #define a(...) append_string(&o,&s,&l, VA_ARGS)
####add_to_sc_with_st(tc, sc, variable) src/6model/bootstrap.c:530
#define add_to_sc_with_st(tc, sc, variable) do {
MVM_sc_set_object(tc, sc, obj_index++, variable);
MVM_sc_set_obj_sc(tc, variable, sc);
MVM_sc_set_stable(tc, sc, st_index++, STABLE(variable));
MVM_sc_set_stable_sc(tc, STABLE(variable), sc);
} while (0)
####add_to_sc_with_st_and_mo(tc, sc, variable) src/6model/bootstrap.c:536
#define add_to_sc_with_st_and_mo(tc, sc, variable) do {
add_to_sc_with_st(tc, sc, variable);
MVM_sc_set_object(tc, sc, obj_index++, STABLE(variable)->HOW);
MVM_sc_set_obj_sc(tc, STABLE(variable)->HOW, sc);
} while (0)
####args_get_named(tc, ctx, name, required, _type) src/core/args.c:229
#define args_get_named(tc, ctx, name, required, _type) do {
MVMuint32 flag_pos, arg_pos;
result.exists = 0;
for (flag_pos = arg_pos = ctx->num_pos; arg_pos < ctx->arg_count; flag_pos++, arg_pos += 2) {
if (MVM_string_equal(tc, ctx->args[arg_pos].s, name)) {
if (ctx->named_used[(arg_pos - ctx->num_pos)/2]) {
MVM_exception_throw_adhoc(tc, "Named argument already used: %s", MVM_string_utf8_encode_C_string(tc, name));
}
result.arg = ctx->args[arg_pos + 1];
result.flags = (ctx->arg_flags ? ctx->arg_flags : ctx->callsite->arg_flags)[flag_pos];
result.exists = 1;
ctx->named_used[(arg_pos - ctx->num_pos)/2] = 1;
break;
}
}
if (!result.exists && required)
MVM_exception_throw_adhoc(tc, "Required named " _type " argument missing: %s", MVM_string_utf8_encode_C_string(tc, name));
} while (0)
####args_get_pos(tc, ctx, pos, required, result) src/core/args.c:163
#define args_get_pos(tc, ctx, pos, required, result) do {
find_pos_arg(ctx, pos, result);
if (!result.exists && required) {
MVM_exception_throw_adhoc(tc, "Not enough positional arguments; needed at least %u", pos + 1);
}
} while (0)
####at_key(tc, st, root, data, _type, member, name) src/6model/reprs/MVMContext.c:57
#define at_key(tc, st, root, data, _type, member, name) do {
MVMContextBody *body = (MVMContextBody *)data;
MVMFrame *frame = body->context;
MVMObject *result = NULL;
MVMLexicalHashEntry *lexical_names = frame->static_info->body.lexical_names, *entry;
if (!lexical_names) {
MVM_exception_throw_adhoc(tc,
"Lexical with name '%s' does not exist in this frame",
MVM_string_utf8_encode_C_string(tc, name));
}
MVM_HASH_GET(tc, lexical_names, name, entry)
if (!entry) {
MVM_exception_throw_adhoc(tc,
"Lexical with name '%s' does not exist in this frame",
MVM_string_utf8_encode_C_string(tc, name));
}
if (frame->static_info->body.lexical_types[entry->value] != _type) {
MVM_exception_throw_adhoc(tc,
"Lexical with name '%s' has a different type in this frame",
MVM_string_utf8_encode_C_string(tc, name));
}
return frame->env[entry->value].member;
} while (0)
####autobox(tc, target, result, box_type_obj, is_object, set_func, dest) src/core/args.c:170
#define autobox(tc, target, result, box_type_obj, is_object, set_func, dest) do {
MVMObject *box, *box_type;
box_type = target->static_info->body.cu->body.hll_config->box_type_obj;
box = REPR(box_type)->allocate(tc, STABLE(box_type));
if (is_object) MVM_gc_root_temp_push(tc, (MVMCollectable **)&result);
MVM_gc_root_temp_push(tc, (MVMCollectable **)&box);
if (REPR(box)->initialize)
REPR(box)->initialize(tc, STABLE(box), box, OBJECT_BODY(box));
REPR(box)->box_funcs->set_func(tc, STABLE(box), box, OBJECT_BODY(box), result);
if (is_object) MVM_gc_root_temp_pop_n(tc, 2);
else MVM_gc_root_temp_pop(tc);
dest = box;
} while (0)
####autobox_switch(tc, result) src/core/args.c:184
#define autobox_switch(tc, result) do {
if (result.exists) {
switch (result.flags & MVM_CALLSITE_ARG_MASK) {
case MVM_CALLSITE_ARG_OBJ:
break;
case MVM_CALLSITE_ARG_INT:
autobox(tc, tc->cur_frame, result.arg.i64, int_box_type, 0, set_int, result.arg.o);
break;
case MVM_CALLSITE_ARG_NUM:
autobox(tc, tc->cur_frame, result.arg.n64, num_box_type, 0, set_num, result.arg.o);
break;
case MVM_CALLSITE_ARG_STR:
autobox(tc, tc->cur_frame, result.arg.s, str_box_type, 1, set_str, result.arg.o);
break;
default:
MVM_exception_throw_adhoc(tc, "invalid type flag");
}
}
} while (0)
####autounbox(tc, type_flag, expected, result) src/core/args.c:81
#define autounbox(tc, type_flag, expected, result) do {
if (result.exists && !(result.flags & type_flag)) {
if (result.flags & MVM_CALLSITE_ARG_OBJ) {
MVMObject *obj;
MVMStorageSpec ss;
obj = result.arg.o;
ss = REPR(obj)->get_storage_spec(tc, STABLE(obj));
switch (ss.can_box & MVM_STORAGE_SPEC_CAN_BOX_MASK) {
case MVM_STORAGE_SPEC_CAN_BOX_INT:
result.arg.i64 = MVM_repr_get_int(tc, obj);
result.flags = MVM_CALLSITE_ARG_INT;
break;
case MVM_STORAGE_SPEC_CAN_BOX_NUM:
result.arg.n64 = MVM_repr_get_num(tc, obj);
result.flags = MVM_CALLSITE_ARG_NUM;
break;
case MVM_STORAGE_SPEC_CAN_BOX_STR:
result.arg.s = MVM_repr_get_str(tc, obj);
result.flags = MVM_CALLSITE_ARG_STR;
break;
default:
MVM_exception_throw_adhoc(tc, "Failed to unbox object to " expected);
}
}
if (!(result.flags & type_flag)) {
switch (type_flag) {
case MVM_CALLSITE_ARG_OBJ:
MVM_exception_throw_adhoc(tc, "unreachable unbox 0");
case MVM_CALLSITE_ARG_INT:
switch (result.flags & MVM_CALLSITE_ARG_MASK) {
case MVM_CALLSITE_ARG_OBJ:
MVM_exception_throw_adhoc(tc, "unreachable unbox 1");
case MVM_CALLSITE_ARG_INT:
MVM_exception_throw_adhoc(tc, "unreachable unbox 2");
case MVM_CALLSITE_ARG_NUM:
result.arg.i64 = (MVMint64)result.arg.n64;
break;
case MVM_CALLSITE_ARG_STR:
MVM_exception_throw_adhoc(tc, "coerce string to int NYI");
default:
MVM_exception_throw_adhoc(tc, "unreachable unbox 3");
}
result.flags = MVM_CALLSITE_ARG_INT;
break;
case MVM_CALLSITE_ARG_NUM:
switch (result.flags & MVM_CALLSITE_ARG_MASK) {
case MVM_CALLSITE_ARG_OBJ:
MVM_exception_throw_adhoc(tc, "unreachable unbox 4");
case MVM_CALLSITE_ARG_INT:
result.arg.n64 = (MVMnum64)result.arg.i64;
break;
case MVM_CALLSITE_ARG_NUM:
MVM_exception_throw_adhoc(tc, "unreachable unbox 5");
case MVM_CALLSITE_ARG_STR:
MVM_exception_throw_adhoc(tc, "coerce string to num NYI");
default:
MVM_exception_throw_adhoc(tc, "unreachable unbox 6");
}
result.flags = MVM_CALLSITE_ARG_NUM;
break;
case MVM_CALLSITE_ARG_STR:
switch (result.flags & MVM_CALLSITE_ARG_MASK) {
case MVM_CALLSITE_ARG_OBJ:
MVM_exception_throw_adhoc(tc, "unreachable unbox 7");
case MVM_CALLSITE_ARG_INT:
MVM_exception_throw_adhoc(tc, "coerce int to string NYI");
case MVM_CALLSITE_ARG_NUM:
MVM_exception_throw_adhoc(tc, "coerce num to string NYI");
case MVM_CALLSITE_ARG_STR:
MVM_exception_throw_adhoc(tc, "unreachable unbox 8");
default:
MVM_exception_throw_adhoc(tc, "unreachable unbox 9");
}
result.flags = MVM_CALLSITE_ARG_STR;
break;
default:
MVM_exception_throw_adhoc(tc, "unreachable unbox 10");
}
}
}
} while (0)
####box_slurpy(tc, ctx, pos, type, result, box, arg_info, reg, box_type_obj, name, set_func, reg_member, stmt1, action_funcs, action_func, target1, target2) src/core/args.c:368
#define box_slurpy(tc, ctx, pos, type, result, box, arg_info, reg, box_type_obj, name, set_func, reg_member, stmt1, action_funcs, action_func, target1, target2) do {
type = (*(tc->interp_cu))->body.hll_config->box_type_obj;
if (!type || IS_CONCRETE(type)) {
MVM_exception_throw_adhoc(tc, "Missing hll " name " box type");
}
box = MVM_repr_alloc_init(tc, type);
REPR(box)->box_funcs->set_func(tc, STABLE(box), box,
OBJECT_BODY(box), arg_info.arg.reg_member);
stmt1;
REPR(result)->action_funcs->action_func(tc, STABLE(result), result,
OBJECT_BODY(result), target1, target2);
} while (0)
####case_change_func(funcname, type, error) src/strings/ops.c:675
#define case_change_func(funcname, type, error)
MVMString * funcname(MVMThreadContext *tc, MVMString *s) {
MVMString *result;
MVMStringIndex i;
MVMCaseChangeState state = { NULL, 0, type };
if (!IS_CONCRETE((MVMObject *)s)) {
MVM_exception_throw_adhoc(tc, error);
}
MVM_gc_root_temp_push(tc, (MVMCollectable **)&s);
state.dest = result = (MVMString *)REPR(s)->allocate(tc, STABLE(s));
MVM_gc_root_temp_pop(tc);
MVM_string_traverse_substring(tc, s, 0, NUM_GRAPHS(s), 0,
MVM_string_case_change_consumer, &state);
return result;
}
####change_case_iterate(member, dest_member, dest_size) src/strings/ops.c:630
#define change_case_iterate(member, dest_member, dest_size)
for (i = string->body.member + start; i < string->body.member + start + length; ) {
if (dest->body.graphs == state->size) {
if (!state->size) state->size = 16;
else state->size *= 2;
dest->body.dest_member = realloc(dest->body.dest_member,
state->size * sizeof(dest_size));
}
dest->body.dest_member[dest->body.graphs++] =
MVM_unicode_get_case_change(tc, (MVMCodepoint32) *i++, state->case_change_type);
}
####check_config_key(tc, hash, name, member, config) src/core/hll.c:40
#define check_config_key(tc, hash, name, member, config) do {
MVMString *key = MVM_string_utf8_decode((tc), (tc)->instance->VMString, (name), strlen((name)));
MVMObject *val = MVM_repr_at_key_boxed((tc), (hash), key);
if (val) (config)->member = val;
} while (0)
####create_stub_boot_type(tc, reprid, slot, makeboolspec, boolspec) src/6model/bootstrap.c:576
#define create_stub_boot_type(tc, reprid, slot, makeboolspec, boolspec) do {
MVMREPROps *repr = MVM_repr_get_by_id(tc, reprid);
MVMObject *type = tc->instance->slot = repr->type_object_for(tc, NULL);
if (makeboolspec) {
MVMBoolificationSpec *bs;
bs = malloc(sizeof(MVMBoolificationSpec));
bs->mode = boolspec;
bs->method = NULL;
type->st->boolification_spec = bs;
}
} while (0)
####descend_sized(member, other_member, size, other_size, cp, other_cp) src/strings/ops.c:127
#define descend_sized(member, other_member, size, other_size, cp, other_cp)
MVMStringIndex wehave = c->end_idx - c->string_idx;
if (st->available) {
MVMStringIndex tocompare = st->available < wehave ? st->available : wehave;
if (st->member) {
if (memcmp(st->member, c->string->body.member + c->string_idx,
wehave * sizeof(size))) {
*result = 1;
return;
}
descend_sized_chew_success(member, other_member)
}
else {
size
*cp = c->string->body.member + c->string_idx,
*final = cp + tocompare;
other_size *other_cp = st->other_member;
for (; cp < final; ) {
if (*cp32++ != (MVMCodepoint32) *cp8++) {
*result = 1;
return;
}
}
descend_sized_chew_success(other_member, member)
}
if (c->isa) { st->cursora = c->parent; }
else { st->cursorb = c->parent; }
return;
}
st->member = c->string->body.member + c->string_idx;
st->other_member = NULL;
st->available = wehave;
c->owns_buffer = 1;
continue;
####descend_sized_chew_success(member, other_member) src/strings/ops.c:110
#define descend_sized_chew_success(member, other_member)
st->needed -= tocompare;
if (!st->needed) {
*result = 2;
return;
}
else if (wehave > tocompare) {
st->member = c->string->body.member + c->string_idx + tocompare;
st->available = wehave - tocompare;
c->owns_buffer = 1;
st->other_member = NULL;
}
else {
st->other_member += tocompare;
st->available -= tocompare;
} \
####find_pos_arg(ctx, pos, result) src/core/args.c:70
#define find_pos_arg(ctx, pos, result) do {
if (pos < ctx->num_pos) {
result.arg = ctx->args[pos];
result.flags = (ctx->arg_flags ? ctx->arg_flags : ctx->callsite->arg_flags)[pos];
result.exists = 1;
}
else {
result.exists = 0;
}
} while (0)
####grab_type(name) src/mast/driver.c:9
#define grab_type(name) do {
MVMString *key = MVM_string_utf8_decode(tc, tc->instance->VMString, #name, strlen(#name));
result->name = MVM_repr_at_key_boxed(tc, types, key);
} while (0);
####init_mutex(loc, name) src/moarvm.c:3
#define init_mutex(loc, name) do {
if ((init_stat = uv_mutex_init(&loc)) < 0) {
fprintf(stderr, "MoarVM: Initialization of " name " mutex failed\n %s\n",
uv_strerror(init_stat));
exit(1);
}
} while (0)
####introspect_member(member, set_result, result) src/6model/bootstrap.c:254
#define introspect_member(member, set_result, result)
static void member(MVMThreadContext *tc, MVMCallsite *callsite, MVMRegister *args) {
MVMObject *self, *type_obj, *member;
MVMArgProcContext arg_ctx; arg_ctx.named_used = NULL;
MVM_args_proc_init(tc, &arg_ctx, callsite, args);
MVM_args_checkarity(tc, &arg_ctx, 2, 2);
self = MVM_args_get_pos_obj(tc, &arg_ctx, 0, MVM_ARG_REQUIRED).arg.o;
type_obj = MVM_args_get_pos_obj(tc, &arg_ctx, 1, MVM_ARG_REQUIRED).arg.o;
MVM_args_proc_cleanup(tc, &arg_ctx);
if (!self || !IS_CONCRETE(self) || REPR(self)->ID != MVM_REPR_ID_KnowHOWREPR)
MVM_exception_throw_adhoc(tc, "KnowHOW methods must be called on object instance with REPR KnowHOWREPR");
member = (MVMObject *)((MVMKnowHOWREPR *)self)->body.member;
set_result(tc, result, MVM_RETURN_CURRENT_FRAME);
}
####line_length src/core/bytecodedump.c:3 #define line_length 1024
####meta_objectifier(tc, slot, name) src/6model/bootstrap.c:623
#define meta_objectifier(tc, slot, name) do {
add_meta_object((tc), (tc)->instance->slot, (name));
MVM_gc_root_add_permanent((tc), (MVMCollectable **)&(tc)->instance->slot);
} while (0)
####repr_registrar(tc, name, init) src/6model/reprs.c:221
#define repr_registrar(tc, name, init)
register_repr((tc), MVM_string_ascii_decode_nt((tc),
(tc)->instance->VMString, (name)), init((tc)))
####string_creator(tc, variable, name) src/6model/bootstrap.c:606
#define string_creator(tc, variable, name) do {
variable = MVM_string_ascii_decode_nt((tc), (tc)->instance->VMString, (name));
MVM_gc_root_add_permanent((tc), (MVMCollectable **)&(variable));
} while (0)
####strtoll src/core/coerce.c:4 #define strtoll _strtoi64
####substring_consumer_iterate(member, size) src/strings/ops.c:892
#define substring_consumer_iterate(member, size)
size *i;
for (i = string->body.member + start; i < string->body.member + start + length; ) {
if (*i++ == state->search) {
state->result = top_index + (MVMStringIndex)(i - (string->body.member + start) - 1);
return 1;
}
}
break; \
##script The above list was generated by this Perl 5 script:
#/usr/bin/perl
use strict;
use warnings;
use File::Find;
our (@macros_from_c, @macros_from_h);
find( sub { /\.[ch]$/ && scanfile($_) }, 'src' );
@macros_from_c = sort { $$a[0] cmp $$b[0] } @macros_from_c;
@macros_from_h = sort { $$a[0] cmp $$b[0] } @macros_from_h;
print "##MoarVM source C language macros\n";
print "\n## Macros in .h files\n\n";
map { print markdown_macro(@$_) } @macros_from_h;
print "\n## Macros from .c files\n\n";
map { print markdown_macro(@$_) } @macros_from_c;
sub markdown_macro {
"####$_[0]$_[1] $_[2]:$_[3]\n " . join("\\\n ", @_[4..$#_]) . "\n";
}
sub scanfile {
my $file = shift;
# Read the #define macros in the file, rather like the C preprocessor does.
open my $input, '<', $file or die "can't open $file: $!";
my $in_macro = 0;
my @macro_lines;
while (my $line = <$input>) {
if ($line =~ /^#define / and not $in_macro) { $in_macro=1; }
if ($in_macro) { push @macro_lines, $line; }
if ($line !~ /\\$/) { $in_macro=0; }
if (@macro_lines and not $in_macro) {
scanned_macro($File::Find::name, $. - @macro_lines + 1, @macro_lines);
@macro_lines = ();
}
}
close $input or die "can't close $file: $!";
}
sub scanned_macro {
my ($file_name, $line_number, @macro_lines) = @_;
my $macro_oneline = join '', map { s/\\\n$//; $_ } @macro_lines;
$macro_oneline =~ /^
[#]define \s+
([a-zA-Z_][a-zA-Z_0-9]*) # macro name -> $1
(
\(
[^)]*
\)
)? # optional arguments -> $2
\s+
(
.*
)? # optional body -> $3
/x or die "macro not matched reading $file_name";
my ($macro_name, $macro_args, $macro_body) = ($1,$2||'',$3);
my $list_ref;
if ($file_name =~ /\.c$/) { $list_ref = \@macros_from_c; }
elsif ($file_name =~ /\.h$/) { $list_ref = \@macros_from_h; }
else { die "$file_name ends with unexpected name extension"; }
push @$list_ref, [ $macro_name, $macro_args, $file_name, $line_number, @macro_lines];
}
Thx