Skip to content

Instantly share code, notes, and snippets.

@mberends
Last active April 14, 2019 18:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mberends/6606401 to your computer and use it in GitHub Desktop.
Save mberends/6606401 to your computer and use it in GitHub Desktop.
MoarVM C language macros

##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.

Macros in .h files

####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

Macros from .c files

####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];
}
@cognominal
Copy link

Thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment