/home/travis/build/MoarVM/MoarVM/src/core/interp.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* A GC sync point is a point where we can check if we're being signalled |
2 | | * to stop to do a GC run. This is placed at points where it is safe to |
3 | | * do such a thing, and hopefully so that it happens often enough; note |
4 | | * that every call down to the allocator is also a sync point, so this |
5 | | * really only means we need to do this enough to make sure tight native |
6 | | * loops trigger it. */ |
7 | | /* Don't use a MVM_load(&tc->gc_status) here for performance, it's okay |
8 | | * if the interrupt is delayed a bit. */ |
9 | | #define GC_SYNC_POINT(tc) \ |
10 | 41.9M | if (tc->gc_status) { \ |
11 | 0 | MVM_gc_enter_from_interrupt(tc); \ |
12 | 0 | } |
13 | | |
14 | | /* Different views of a register. */ |
15 | | union MVMRegister { |
16 | | MVMObject *o; |
17 | | MVMString *s; |
18 | | MVMint8 i8; |
19 | | MVMuint8 u8; |
20 | | MVMint16 i16; |
21 | | MVMuint16 u16; |
22 | | MVMint32 i32; |
23 | | MVMuint32 u32; |
24 | | MVMint64 i64; |
25 | | MVMuint64 u64; |
26 | | MVMnum32 n32; |
27 | | MVMnum64 n64; |
28 | | }; |
29 | | |
30 | | /* Most operands an operation will have. */ |
31 | 0 | #define MVM_MAX_OPERANDS 8 |
32 | | |
33 | | /* Kind of de-opt mark. */ |
34 | 1.09M | #define MVM_DEOPT_MARK_ONE 1 |
35 | 1.09M | #define MVM_DEOPT_MARK_ALL 2 |
36 | 1.09M | #define MVM_DEOPT_MARK_OSR 4 |
37 | 1.09M | #define MVM_DEOPT_MARK_ONE_PRE 8 |
38 | | |
39 | | /* Information about an opcode. */ |
40 | | struct MVMOpInfo { |
41 | | MVMuint16 opcode; |
42 | | const char *name; |
43 | | char mark[2]; |
44 | | MVMuint16 num_operands; |
45 | | MVMuint8 pure; |
46 | | MVMuint8 deopt_point; |
47 | | MVMuint8 logged; |
48 | | MVMuint8 no_inline; |
49 | | MVMuint8 jittivity; |
50 | | MVMuint8 uses_hll; |
51 | | MVMuint8 operands[MVM_MAX_OPERANDS]; |
52 | | }; |
53 | | |
54 | | /* Operand read/write/literal flags. */ |
55 | 9.01M | #define MVM_operand_literal 0 |
56 | 30.3M | #define MVM_operand_read_reg 1 |
57 | 38.3M | #define MVM_operand_write_reg 2 |
58 | 902k | #define MVM_operand_read_lex 3 |
59 | 312k | #define MVM_operand_write_lex 4 |
60 | 55.1M | #define MVM_operand_rw_mask 7 |
61 | | |
62 | | /* Register data types. */ |
63 | 2 | #define MVM_reg_int8 1 |
64 | 4.37M | #define MVM_reg_int16 2 |
65 | 4.86k | #define MVM_reg_int32 3 |
66 | 58.6M | #define MVM_reg_int64 4 |
67 | 0 | #define MVM_reg_num32 5 |
68 | 7.98k | #define MVM_reg_num64 6 |
69 | 8.95M | #define MVM_reg_str 7 |
70 | 104M | #define MVM_reg_obj 8 |
71 | 0 | #define MVM_reg_uint8 17 |
72 | 0 | #define MVM_reg_uint16 18 |
73 | 42.6k | #define MVM_reg_uint32 19 |
74 | 0 | #define MVM_reg_uint64 20 |
75 | | |
76 | | /* Operand data types. */ |
77 | 0 | #define MVM_operand_int8 (MVM_reg_int8 << 3) |
78 | 4.37M | #define MVM_operand_int16 (MVM_reg_int16 << 3) |
79 | 4.86k | #define MVM_operand_int32 (MVM_reg_int32 << 3) |
80 | 40.2k | #define MVM_operand_int64 (MVM_reg_int64 << 3) |
81 | 0 | #define MVM_operand_num32 (MVM_reg_num32 << 3) |
82 | 3.94k | #define MVM_operand_num64 (MVM_reg_num64 << 3) |
83 | 3.83M | #define MVM_operand_str (MVM_reg_str << 3) |
84 | 41.3k | #define MVM_operand_obj (MVM_reg_obj << 3) |
85 | 4.06M | #define MVM_operand_ins (9 << 3) |
86 | 20.6M | #define MVM_operand_type_var (10 << 3) |
87 | 1.59M | #define MVM_operand_coderef (12 << 3) |
88 | 1.26M | #define MVM_operand_callsite (13 << 3) |
89 | 311k | #define MVM_operand_spesh_slot (16 << 3) |
90 | 0 | #define MVM_operand_uint8 (MVM_reg_uint8 << 3) |
91 | 0 | #define MVM_operand_uint16 (MVM_reg_uint16 << 3) |
92 | 42.6k | #define MVM_operand_uint32 (MVM_reg_uint32 << 3) |
93 | 0 | #define MVM_operand_uint64 (MVM_reg_uint64 << 3) |
94 | 31.0M | #define MVM_operand_type_mask (31 << 3) |
95 | | |
96 | | /* Functions. */ |
97 | | void MVM_interp_run(MVMThreadContext *tc, void (*initial_invoke)(MVMThreadContext *, void *), void *invoke_data); |
98 | | MVM_PUBLIC void MVM_interp_enable_tracing(); |
99 | | |
100 | 822k | MVM_STATIC_INLINE MVMint64 MVM_BC_get_I64(const MVMuint8 *cur_op, int offset) { |
101 | 822k | const MVMuint8 *const where = cur_op + offset; |
102 | 822k | #ifdef MVM_CAN_UNALIGNED_INT64 |
103 | 822k | return *(MVMint64 *)where; |
104 | 822k | #else |
105 | | MVMint64 temp; |
106 | | memmove(&temp, where, sizeof(MVMint64)); |
107 | | return temp; |
108 | | #endif |
109 | 822k | } Unexecuted instantiation: reprs.c:MVM_BC_get_I64 Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_BC_get_I64 Unexecuted instantiation: KnowHOWREPR.c:MVM_BC_get_I64 Unexecuted instantiation: MVMCFunction.c:MVM_BC_get_I64 Unexecuted instantiation: MVMHash.c:MVM_BC_get_I64 Unexecuted instantiation: VMArray.c:MVM_BC_get_I64 Unexecuted instantiation: MVMString.c:MVM_BC_get_I64 Unexecuted instantiation: parametric.c:MVM_BC_get_I64 Unexecuted instantiation: containers.c:MVM_BC_get_I64 Unexecuted instantiation: reprconv.c:MVM_BC_get_I64 Unexecuted instantiation: P6str.c:MVM_BC_get_I64 Unexecuted instantiation: asyncsocketudp.c:MVM_BC_get_I64 Unexecuted instantiation: asyncsocket.c:MVM_BC_get_I64 Unexecuted instantiation: signals.c:MVM_BC_get_I64 Unexecuted instantiation: filewatchers.c:MVM_BC_get_I64 Unexecuted instantiation: timers.c:MVM_BC_get_I64 Unexecuted instantiation: procops.c:MVM_BC_get_I64 Unexecuted instantiation: dirops.c:MVM_BC_get_I64 Unexecuted instantiation: fileops.c:MVM_BC_get_I64 Unexecuted instantiation: syncsocket.c:MVM_BC_get_I64 Unexecuted instantiation: MVMThread.c:MVM_BC_get_I64 Unexecuted instantiation: MVMMultiCache.c:MVM_BC_get_I64 Unexecuted instantiation: MVMDLLSym.c:MVM_BC_get_I64 Unexecuted instantiation: MVMException.c:MVM_BC_get_I64 Unexecuted instantiation: NFA.c:MVM_BC_get_I64 Unexecuted instantiation: P6bigint.c:MVM_BC_get_I64 Unexecuted instantiation: MVMCallCapture.c:MVM_BC_get_I64 Unexecuted instantiation: SCRef.c:MVM_BC_get_I64 Unexecuted instantiation: MVMContext.c:MVM_BC_get_I64 Unexecuted instantiation: MVMIter.c:MVM_BC_get_I64 Unexecuted instantiation: syncfile.c:MVM_BC_get_I64 Unexecuted instantiation: HashAttrStore.c:MVM_BC_get_I64 Unexecuted instantiation: Uninstantiable.c:MVM_BC_get_I64 Unexecuted instantiation: P6num.c:MVM_BC_get_I64 Unexecuted instantiation: P6int.c:MVM_BC_get_I64 Unexecuted instantiation: MVMStaticFrame.c:MVM_BC_get_I64 Unexecuted instantiation: MVMCompUnit.c:MVM_BC_get_I64 Unexecuted instantiation: MVMOSHandle.c:MVM_BC_get_I64 Unexecuted instantiation: MVMCode.c:MVM_BC_get_I64 Unexecuted instantiation: P6opaque.c:MVM_BC_get_I64 validation.c:MVM_BC_get_I64 Line | Count | Source | 100 | 23.3k | MVM_STATIC_INLINE MVMint64 MVM_BC_get_I64(const MVMuint8 *cur_op, int offset) { | 101 | 23.3k | const MVMuint8 *const where = cur_op + offset; | 102 | 23.3k | #ifdef MVM_CAN_UNALIGNED_INT64 | 103 | 23.3k | return *(MVMint64 *)where; | 104 | 23.3k | #else | 105 | | MVMint64 temp; | 106 | | memmove(&temp, where, sizeof(MVMint64)); | 107 | | return temp; | 108 | | #endif | 109 | 23.3k | } |
Unexecuted instantiation: ext.c:MVM_BC_get_I64 Unexecuted instantiation: dll.c:MVM_BC_get_I64 Unexecuted instantiation: coerce.c:MVM_BC_get_I64 Unexecuted instantiation: num.c:MVM_BC_get_I64 Unexecuted instantiation: loadbytecode.c:MVM_BC_get_I64 Unexecuted instantiation: hll.c:MVM_BC_get_I64 Unexecuted instantiation: ops.c:MVM_BC_get_I64 Unexecuted instantiation: threads.c:MVM_BC_get_I64 Unexecuted instantiation: bytecodedump.c:MVM_BC_get_I64 Unexecuted instantiation: nativecall.c:MVM_BC_get_I64 Unexecuted instantiation: callstack.c:MVM_BC_get_I64 Unexecuted instantiation: frame.c:MVM_BC_get_I64 Unexecuted instantiation: bytecode.c:MVM_BC_get_I64 Unexecuted instantiation: compunit.c:MVM_BC_get_I64 Unexecuted instantiation: threadcontext.c:MVM_BC_get_I64 Line | Count | Source | 100 | 793k | MVM_STATIC_INLINE MVMint64 MVM_BC_get_I64(const MVMuint8 *cur_op, int offset) { | 101 | 793k | const MVMuint8 *const where = cur_op + offset; | 102 | 793k | #ifdef MVM_CAN_UNALIGNED_INT64 | 103 | 793k | return *(MVMint64 *)where; | 104 | 793k | #else | 105 | | MVMint64 temp; | 106 | | memmove(&temp, where, sizeof(MVMint64)); | 107 | | return temp; | 108 | | #endif | 109 | 793k | } |
Unexecuted instantiation: exceptions.c:MVM_BC_get_I64 Unexecuted instantiation: args.c:MVM_BC_get_I64 Unexecuted instantiation: callsite.c:MVM_BC_get_I64 Unexecuted instantiation: worklist.c:MVM_BC_get_I64 Unexecuted instantiation: eventloop.c:MVM_BC_get_I64 Unexecuted instantiation: io.c:MVM_BC_get_I64 Unexecuted instantiation: debug.c:MVM_BC_get_I64 Unexecuted instantiation: finalize.c:MVM_BC_get_I64 Unexecuted instantiation: objectid.c:MVM_BC_get_I64 Unexecuted instantiation: wb.c:MVM_BC_get_I64 Unexecuted instantiation: gen2.c:MVM_BC_get_I64 Unexecuted instantiation: collect.c:MVM_BC_get_I64 Unexecuted instantiation: roots.c:MVM_BC_get_I64 Unexecuted instantiation: arch.c:MVM_BC_get_I64 Unexecuted instantiation: allocation.c:MVM_BC_get_I64 Unexecuted instantiation: orchestrate.c:MVM_BC_get_I64 Unexecuted instantiation: config.c:MVM_BC_get_I64 Unexecuted instantiation: debugserver.c:MVM_BC_get_I64 Unexecuted instantiation: regionalloc.c:MVM_BC_get_I64 Unexecuted instantiation: fixedsizealloc.c:MVM_BC_get_I64 Unexecuted instantiation: intcache.c:MVM_BC_get_I64 Unexecuted instantiation: continuation.c:MVM_BC_get_I64 Unexecuted instantiation: nativecall_dyncall.c:MVM_BC_get_I64 Unexecuted instantiation: utf8_c8.c:MVM_BC_get_I64 Unexecuted instantiation: bigintops.c:MVM_BC_get_I64 Unexecuted instantiation: shiftjis_codeindex.c:MVM_BC_get_I64 Unexecuted instantiation: shiftjis.c:MVM_BC_get_I64 Unexecuted instantiation: windows1252.c:MVM_BC_get_I64 Unexecuted instantiation: utf16.c:MVM_BC_get_I64 Unexecuted instantiation: latin1.c:MVM_BC_get_I64 Unexecuted instantiation: normalize.c:MVM_BC_get_I64 Unexecuted instantiation: unicode.c:MVM_BC_get_I64 Unexecuted instantiation: nfg.c:MVM_BC_get_I64 Unexecuted instantiation: instrument.c:MVM_BC_get_I64 Unexecuted instantiation: utf8.c:MVM_BC_get_I64 Unexecuted instantiation: parse_num.c:MVM_BC_get_I64 Unexecuted instantiation: ascii.c:MVM_BC_get_I64 Unexecuted instantiation: decode_stream.c:MVM_BC_get_I64 Unexecuted instantiation: plugin.c:MVM_BC_get_I64 Unexecuted instantiation: arg_guard.c:MVM_BC_get_I64 Unexecuted instantiation: plan.c:MVM_BC_get_I64 Unexecuted instantiation: stats.c:MVM_BC_get_I64 Unexecuted instantiation: worker.c:MVM_BC_get_I64 Unexecuted instantiation: mmap.c:MVM_BC_get_I64 Unexecuted instantiation: MVMContinuation.c:MVM_BC_get_I64 Unexecuted instantiation: emit.c:MVM_BC_get_I64 Unexecuted instantiation: interface.c:MVM_BC_get_I64 Unexecuted instantiation: linear_scan.c:MVM_BC_get_I64 Unexecuted instantiation: tile.c:MVM_BC_get_I64 Unexecuted instantiation: expr.c:MVM_BC_get_I64 Unexecuted instantiation: compile.c:MVM_BC_get_I64 Unexecuted instantiation: label.c:MVM_BC_get_I64 Unexecuted instantiation: time.c:MVM_BC_get_I64 Unexecuted instantiation: NativeCall.c:MVM_BC_get_I64 Unexecuted instantiation: moar.c:MVM_BC_get_I64 Unexecuted instantiation: memmem32.c:MVM_BC_get_I64 Unexecuted instantiation: random.c:MVM_BC_get_I64 Unexecuted instantiation: sys.c:MVM_BC_get_I64 Unexecuted instantiation: line_coverage.c:MVM_BC_get_I64 Unexecuted instantiation: crossthreadwrite.c:MVM_BC_get_I64 Unexecuted instantiation: telemeh.c:MVM_BC_get_I64 Unexecuted instantiation: heapsnapshot.c:MVM_BC_get_I64 Unexecuted instantiation: profile.c:MVM_BC_get_I64 Unexecuted instantiation: ConcBlockingQueue.c:MVM_BC_get_I64 Unexecuted instantiation: 6model.c:MVM_BC_get_I64 Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_BC_get_I64 Unexecuted instantiation: MVMSpeshLog.c:MVM_BC_get_I64 Unexecuted instantiation: Decoder.c:MVM_BC_get_I64 Unexecuted instantiation: MultiDimArray.c:MVM_BC_get_I64 Unexecuted instantiation: NativeRef.c:MVM_BC_get_I64 Unexecuted instantiation: CPPStruct.c:MVM_BC_get_I64 Unexecuted instantiation: MVMNull.c:MVM_BC_get_I64 Unexecuted instantiation: MVMAsyncTask.c:MVM_BC_get_I64 Unexecuted instantiation: lookup.c:MVM_BC_get_I64 Unexecuted instantiation: Semaphore.c:MVM_BC_get_I64 Unexecuted instantiation: ConditionVariable.c:MVM_BC_get_I64 Unexecuted instantiation: ReentrantMutex.c:MVM_BC_get_I64 Unexecuted instantiation: CUnion.c:MVM_BC_get_I64 Unexecuted instantiation: CStruct.c:MVM_BC_get_I64 Unexecuted instantiation: CArray.c:MVM_BC_get_I64 Unexecuted instantiation: CStr.c:MVM_BC_get_I64 Unexecuted instantiation: CPointer.c:MVM_BC_get_I64 Unexecuted instantiation: iterator.c:MVM_BC_get_I64 Unexecuted instantiation: sc.c:MVM_BC_get_I64 Unexecuted instantiation: bootstrap.c:MVM_BC_get_I64 Unexecuted instantiation: osr.c:MVM_BC_get_I64 Unexecuted instantiation: inline.c:MVM_BC_get_I64 Unexecuted instantiation: threshold.c:MVM_BC_get_I64 Unexecuted instantiation: log.c:MVM_BC_get_I64 Unexecuted instantiation: deopt.c:MVM_BC_get_I64 Unexecuted instantiation: dead_bb_elimination.c:MVM_BC_get_I64 Unexecuted instantiation: optimize.c:MVM_BC_get_I64 Unexecuted instantiation: facts.c:MVM_BC_get_I64 Unexecuted instantiation: candidate.c:MVM_BC_get_I64 Unexecuted instantiation: codegen.c:MVM_BC_get_I64 Line | Count | Source | 100 | 5.12k | MVM_STATIC_INLINE MVMint64 MVM_BC_get_I64(const MVMuint8 *cur_op, int offset) { | 101 | 5.12k | const MVMuint8 *const where = cur_op + offset; | 102 | 5.12k | #ifdef MVM_CAN_UNALIGNED_INT64 | 103 | 5.12k | return *(MVMint64 *)where; | 104 | 5.12k | #else | 105 | | MVMint64 temp; | 106 | | memmove(&temp, where, sizeof(MVMint64)); | 107 | | return temp; | 108 | | #endif | 109 | 5.12k | } |
Unexecuted instantiation: dump.c:MVM_BC_get_I64 Unexecuted instantiation: driver.c:MVM_BC_get_I64 Unexecuted instantiation: compiler.c:MVM_BC_get_I64 Unexecuted instantiation: serialization.c:MVM_BC_get_I64 Unexecuted instantiation: manipulate.c:MVM_BC_get_I64 |
110 | | |
111 | 1.01M | MVM_STATIC_INLINE MVMnum64 MVM_BC_get_N64(const MVMuint8 *cur_op, int offset) { |
112 | 1.01M | const MVMuint8 *const where = cur_op + offset; |
113 | 1.01M | #ifdef MVM_CAN_UNALIGNED_NUM64 |
114 | 1.01M | return *(MVMnum64 *)where; |
115 | 1.01M | #else |
116 | | MVMnum64 temp; |
117 | | memmove(&temp, cur_op + offset, sizeof(MVMnum64)); |
118 | | return temp; |
119 | | #endif |
120 | 1.01M | } Unexecuted instantiation: manipulate.c:MVM_BC_get_N64 Unexecuted instantiation: candidate.c:MVM_BC_get_N64 Unexecuted instantiation: codegen.c:MVM_BC_get_N64 Line | Count | Source | 111 | 102 | MVM_STATIC_INLINE MVMnum64 MVM_BC_get_N64(const MVMuint8 *cur_op, int offset) { | 112 | 102 | const MVMuint8 *const where = cur_op + offset; | 113 | 102 | #ifdef MVM_CAN_UNALIGNED_NUM64 | 114 | 102 | return *(MVMnum64 *)where; | 115 | 102 | #else | 116 | | MVMnum64 temp; | 117 | | memmove(&temp, cur_op + offset, sizeof(MVMnum64)); | 118 | | return temp; | 119 | | #endif | 120 | 102 | } |
Unexecuted instantiation: dump.c:MVM_BC_get_N64 Unexecuted instantiation: driver.c:MVM_BC_get_N64 Unexecuted instantiation: compiler.c:MVM_BC_get_N64 Unexecuted instantiation: serialization.c:MVM_BC_get_N64 Unexecuted instantiation: sc.c:MVM_BC_get_N64 Unexecuted instantiation: facts.c:MVM_BC_get_N64 Unexecuted instantiation: optimize.c:MVM_BC_get_N64 Unexecuted instantiation: dead_bb_elimination.c:MVM_BC_get_N64 Unexecuted instantiation: deopt.c:MVM_BC_get_N64 Unexecuted instantiation: log.c:MVM_BC_get_N64 Unexecuted instantiation: threshold.c:MVM_BC_get_N64 Unexecuted instantiation: inline.c:MVM_BC_get_N64 Unexecuted instantiation: osr.c:MVM_BC_get_N64 Unexecuted instantiation: lookup.c:MVM_BC_get_N64 Unexecuted instantiation: iterator.c:MVM_BC_get_N64 Unexecuted instantiation: ConcBlockingQueue.c:MVM_BC_get_N64 Unexecuted instantiation: NativeCall.c:MVM_BC_get_N64 Unexecuted instantiation: CPointer.c:MVM_BC_get_N64 Unexecuted instantiation: CStr.c:MVM_BC_get_N64 Unexecuted instantiation: CArray.c:MVM_BC_get_N64 Unexecuted instantiation: CStruct.c:MVM_BC_get_N64 Unexecuted instantiation: CUnion.c:MVM_BC_get_N64 Unexecuted instantiation: ReentrantMutex.c:MVM_BC_get_N64 Unexecuted instantiation: ConditionVariable.c:MVM_BC_get_N64 Unexecuted instantiation: Semaphore.c:MVM_BC_get_N64 Unexecuted instantiation: bootstrap.c:MVM_BC_get_N64 Unexecuted instantiation: MVMAsyncTask.c:MVM_BC_get_N64 Unexecuted instantiation: MVMNull.c:MVM_BC_get_N64 Unexecuted instantiation: CPPStruct.c:MVM_BC_get_N64 Unexecuted instantiation: NativeRef.c:MVM_BC_get_N64 Unexecuted instantiation: MultiDimArray.c:MVM_BC_get_N64 Unexecuted instantiation: Decoder.c:MVM_BC_get_N64 Unexecuted instantiation: MVMSpeshLog.c:MVM_BC_get_N64 Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_BC_get_N64 Unexecuted instantiation: 6model.c:MVM_BC_get_N64 Unexecuted instantiation: time.c:MVM_BC_get_N64 Unexecuted instantiation: heapsnapshot.c:MVM_BC_get_N64 Unexecuted instantiation: telemeh.c:MVM_BC_get_N64 Unexecuted instantiation: crossthreadwrite.c:MVM_BC_get_N64 Unexecuted instantiation: line_coverage.c:MVM_BC_get_N64 Unexecuted instantiation: sys.c:MVM_BC_get_N64 Unexecuted instantiation: random.c:MVM_BC_get_N64 Unexecuted instantiation: memmem32.c:MVM_BC_get_N64 Unexecuted instantiation: moar.c:MVM_BC_get_N64 Unexecuted instantiation: mmap.c:MVM_BC_get_N64 Unexecuted instantiation: profile.c:MVM_BC_get_N64 Unexecuted instantiation: label.c:MVM_BC_get_N64 Unexecuted instantiation: compile.c:MVM_BC_get_N64 Unexecuted instantiation: expr.c:MVM_BC_get_N64 Unexecuted instantiation: tile.c:MVM_BC_get_N64 Unexecuted instantiation: linear_scan.c:MVM_BC_get_N64 Unexecuted instantiation: interface.c:MVM_BC_get_N64 Unexecuted instantiation: emit.c:MVM_BC_get_N64 Unexecuted instantiation: arch.c:MVM_BC_get_N64 Unexecuted instantiation: MVMContinuation.c:MVM_BC_get_N64 Unexecuted instantiation: nfg.c:MVM_BC_get_N64 Unexecuted instantiation: stats.c:MVM_BC_get_N64 Unexecuted instantiation: plan.c:MVM_BC_get_N64 Unexecuted instantiation: arg_guard.c:MVM_BC_get_N64 Unexecuted instantiation: plugin.c:MVM_BC_get_N64 Unexecuted instantiation: decode_stream.c:MVM_BC_get_N64 Unexecuted instantiation: ascii.c:MVM_BC_get_N64 Unexecuted instantiation: parse_num.c:MVM_BC_get_N64 Unexecuted instantiation: utf8.c:MVM_BC_get_N64 Unexecuted instantiation: utf8_c8.c:MVM_BC_get_N64 Unexecuted instantiation: worker.c:MVM_BC_get_N64 Unexecuted instantiation: unicode.c:MVM_BC_get_N64 Unexecuted instantiation: normalize.c:MVM_BC_get_N64 Unexecuted instantiation: latin1.c:MVM_BC_get_N64 Unexecuted instantiation: utf16.c:MVM_BC_get_N64 Unexecuted instantiation: windows1252.c:MVM_BC_get_N64 Unexecuted instantiation: shiftjis.c:MVM_BC_get_N64 Unexecuted instantiation: shiftjis_codeindex.c:MVM_BC_get_N64 Unexecuted instantiation: bigintops.c:MVM_BC_get_N64 Unexecuted instantiation: instrument.c:MVM_BC_get_N64 Unexecuted instantiation: worklist.c:MVM_BC_get_N64 Unexecuted instantiation: nativecall_dyncall.c:MVM_BC_get_N64 Unexecuted instantiation: continuation.c:MVM_BC_get_N64 Unexecuted instantiation: intcache.c:MVM_BC_get_N64 Unexecuted instantiation: fixedsizealloc.c:MVM_BC_get_N64 Unexecuted instantiation: regionalloc.c:MVM_BC_get_N64 Unexecuted instantiation: debugserver.c:MVM_BC_get_N64 Unexecuted instantiation: config.c:MVM_BC_get_N64 Unexecuted instantiation: orchestrate.c:MVM_BC_get_N64 Unexecuted instantiation: allocation.c:MVM_BC_get_N64 Unexecuted instantiation: nativecall.c:MVM_BC_get_N64 Unexecuted instantiation: roots.c:MVM_BC_get_N64 Unexecuted instantiation: collect.c:MVM_BC_get_N64 Unexecuted instantiation: gen2.c:MVM_BC_get_N64 Unexecuted instantiation: wb.c:MVM_BC_get_N64 Unexecuted instantiation: objectid.c:MVM_BC_get_N64 Unexecuted instantiation: finalize.c:MVM_BC_get_N64 Unexecuted instantiation: debug.c:MVM_BC_get_N64 Unexecuted instantiation: io.c:MVM_BC_get_N64 Unexecuted instantiation: eventloop.c:MVM_BC_get_N64 Unexecuted instantiation: validation.c:MVM_BC_get_N64 Unexecuted instantiation: callsite.c:MVM_BC_get_N64 Unexecuted instantiation: args.c:MVM_BC_get_N64 Unexecuted instantiation: exceptions.c:MVM_BC_get_N64 Line | Count | Source | 111 | 1.01M | MVM_STATIC_INLINE MVMnum64 MVM_BC_get_N64(const MVMuint8 *cur_op, int offset) { | 112 | 1.01M | const MVMuint8 *const where = cur_op + offset; | 113 | 1.01M | #ifdef MVM_CAN_UNALIGNED_NUM64 | 114 | 1.01M | return *(MVMnum64 *)where; | 115 | 1.01M | #else | 116 | | MVMnum64 temp; | 117 | | memmove(&temp, cur_op + offset, sizeof(MVMnum64)); | 118 | | return temp; | 119 | | #endif | 120 | 1.01M | } |
Unexecuted instantiation: threadcontext.c:MVM_BC_get_N64 Unexecuted instantiation: compunit.c:MVM_BC_get_N64 Unexecuted instantiation: bytecode.c:MVM_BC_get_N64 Unexecuted instantiation: frame.c:MVM_BC_get_N64 Unexecuted instantiation: callstack.c:MVM_BC_get_N64 Unexecuted instantiation: MVMMultiCache.c:MVM_BC_get_N64 Unexecuted instantiation: bytecodedump.c:MVM_BC_get_N64 Unexecuted instantiation: threads.c:MVM_BC_get_N64 Unexecuted instantiation: ops.c:MVM_BC_get_N64 Unexecuted instantiation: hll.c:MVM_BC_get_N64 Unexecuted instantiation: loadbytecode.c:MVM_BC_get_N64 Unexecuted instantiation: num.c:MVM_BC_get_N64 Unexecuted instantiation: coerce.c:MVM_BC_get_N64 Unexecuted instantiation: dll.c:MVM_BC_get_N64 Unexecuted instantiation: ext.c:MVM_BC_get_N64 Unexecuted instantiation: MVMThread.c:MVM_BC_get_N64 Unexecuted instantiation: P6opaque.c:MVM_BC_get_N64 Unexecuted instantiation: MVMCode.c:MVM_BC_get_N64 Unexecuted instantiation: MVMOSHandle.c:MVM_BC_get_N64 Unexecuted instantiation: MVMCompUnit.c:MVM_BC_get_N64 Unexecuted instantiation: MVMStaticFrame.c:MVM_BC_get_N64 Unexecuted instantiation: P6int.c:MVM_BC_get_N64 Unexecuted instantiation: P6num.c:MVM_BC_get_N64 Unexecuted instantiation: Uninstantiable.c:MVM_BC_get_N64 Unexecuted instantiation: HashAttrStore.c:MVM_BC_get_N64 Unexecuted instantiation: syncsocket.c:MVM_BC_get_N64 Unexecuted instantiation: MVMIter.c:MVM_BC_get_N64 Unexecuted instantiation: MVMContext.c:MVM_BC_get_N64 Unexecuted instantiation: SCRef.c:MVM_BC_get_N64 Unexecuted instantiation: MVMCallCapture.c:MVM_BC_get_N64 Unexecuted instantiation: P6bigint.c:MVM_BC_get_N64 Unexecuted instantiation: NFA.c:MVM_BC_get_N64 Unexecuted instantiation: MVMException.c:MVM_BC_get_N64 Unexecuted instantiation: MVMDLLSym.c:MVM_BC_get_N64 Unexecuted instantiation: syncfile.c:MVM_BC_get_N64 Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_BC_get_N64 Unexecuted instantiation: P6str.c:MVM_BC_get_N64 Unexecuted instantiation: fileops.c:MVM_BC_get_N64 Unexecuted instantiation: dirops.c:MVM_BC_get_N64 Unexecuted instantiation: procops.c:MVM_BC_get_N64 Unexecuted instantiation: timers.c:MVM_BC_get_N64 Unexecuted instantiation: filewatchers.c:MVM_BC_get_N64 Unexecuted instantiation: signals.c:MVM_BC_get_N64 Unexecuted instantiation: asyncsocket.c:MVM_BC_get_N64 Unexecuted instantiation: asyncsocketudp.c:MVM_BC_get_N64 Unexecuted instantiation: reprconv.c:MVM_BC_get_N64 Unexecuted instantiation: reprs.c:MVM_BC_get_N64 Unexecuted instantiation: KnowHOWREPR.c:MVM_BC_get_N64 Unexecuted instantiation: MVMCFunction.c:MVM_BC_get_N64 Unexecuted instantiation: MVMHash.c:MVM_BC_get_N64 Unexecuted instantiation: VMArray.c:MVM_BC_get_N64 Unexecuted instantiation: MVMString.c:MVM_BC_get_N64 Unexecuted instantiation: parametric.c:MVM_BC_get_N64 Unexecuted instantiation: containers.c:MVM_BC_get_N64 |
121 | | /* For MVM_reg_* types */ |
122 | 0 | static char * MVM_reg_get_debug_name(MVMThreadContext *tc, MVMuint16 type) { |
123 | 0 | switch (type) { |
124 | 0 | case MVM_reg_int8: |
125 | 0 | return "int8"; |
126 | 0 | case MVM_reg_int16: |
127 | 0 | return "int16"; |
128 | 0 | case MVM_reg_int32: |
129 | 0 | return "int32"; |
130 | 0 | case MVM_reg_int64: |
131 | 0 | return "int64"; |
132 | 0 | case MVM_reg_num32: |
133 | 0 | return "num32"; |
134 | 0 | case MVM_reg_num64: |
135 | 0 | return "num64"; |
136 | 0 | case MVM_reg_str: |
137 | 0 | return "str"; |
138 | 0 | case MVM_reg_obj: |
139 | 0 | return "obj"; |
140 | 0 | case MVM_reg_uint8: |
141 | 0 | return "uint8"; |
142 | 0 | case MVM_reg_uint16: |
143 | 0 | return "uint16"; |
144 | 0 | case MVM_reg_uint32: |
145 | 0 | return "uint32"; |
146 | 0 | case MVM_reg_uint64: |
147 | 0 | return "uint64"; |
148 | 0 | default: |
149 | 0 | return "unknown"; |
150 | 0 | } |
151 | 0 | } Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_reg_get_debug_name Unexecuted instantiation: KnowHOWREPR.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMCFunction.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMHash.c:MVM_reg_get_debug_name Unexecuted instantiation: VMArray.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMString.c:MVM_reg_get_debug_name Unexecuted instantiation: parametric.c:MVM_reg_get_debug_name Unexecuted instantiation: containers.c:MVM_reg_get_debug_name Unexecuted instantiation: reprconv.c:MVM_reg_get_debug_name Unexecuted instantiation: reprs.c:MVM_reg_get_debug_name Unexecuted instantiation: asyncsocketudp.c:MVM_reg_get_debug_name Unexecuted instantiation: asyncsocket.c:MVM_reg_get_debug_name Unexecuted instantiation: signals.c:MVM_reg_get_debug_name Unexecuted instantiation: filewatchers.c:MVM_reg_get_debug_name Unexecuted instantiation: timers.c:MVM_reg_get_debug_name Unexecuted instantiation: procops.c:MVM_reg_get_debug_name Unexecuted instantiation: dirops.c:MVM_reg_get_debug_name Unexecuted instantiation: fileops.c:MVM_reg_get_debug_name Unexecuted instantiation: syncsocket.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMThread.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMMultiCache.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMDLLSym.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMException.c:MVM_reg_get_debug_name Unexecuted instantiation: NFA.c:MVM_reg_get_debug_name Unexecuted instantiation: P6bigint.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMCallCapture.c:MVM_reg_get_debug_name Unexecuted instantiation: SCRef.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMContext.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMIter.c:MVM_reg_get_debug_name Unexecuted instantiation: P6str.c:MVM_reg_get_debug_name Unexecuted instantiation: HashAttrStore.c:MVM_reg_get_debug_name Unexecuted instantiation: Uninstantiable.c:MVM_reg_get_debug_name Unexecuted instantiation: P6num.c:MVM_reg_get_debug_name Unexecuted instantiation: P6int.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMStaticFrame.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMCompUnit.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMOSHandle.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMCode.c:MVM_reg_get_debug_name Unexecuted instantiation: P6opaque.c:MVM_reg_get_debug_name Unexecuted instantiation: validation.c:MVM_reg_get_debug_name Unexecuted instantiation: ext.c:MVM_reg_get_debug_name Unexecuted instantiation: dll.c:MVM_reg_get_debug_name Unexecuted instantiation: coerce.c:MVM_reg_get_debug_name Unexecuted instantiation: num.c:MVM_reg_get_debug_name Unexecuted instantiation: loadbytecode.c:MVM_reg_get_debug_name Unexecuted instantiation: hll.c:MVM_reg_get_debug_name Unexecuted instantiation: ops.c:MVM_reg_get_debug_name Unexecuted instantiation: threads.c:MVM_reg_get_debug_name Unexecuted instantiation: bytecodedump.c:MVM_reg_get_debug_name Unexecuted instantiation: nativecall.c:MVM_reg_get_debug_name Unexecuted instantiation: callstack.c:MVM_reg_get_debug_name Unexecuted instantiation: frame.c:MVM_reg_get_debug_name Unexecuted instantiation: bytecode.c:MVM_reg_get_debug_name Unexecuted instantiation: compunit.c:MVM_reg_get_debug_name Unexecuted instantiation: threadcontext.c:MVM_reg_get_debug_name Unexecuted instantiation: interp.c:MVM_reg_get_debug_name Unexecuted instantiation: exceptions.c:MVM_reg_get_debug_name Unexecuted instantiation: callsite.c:MVM_reg_get_debug_name Unexecuted instantiation: args.c:MVM_reg_get_debug_name Unexecuted instantiation: worklist.c:MVM_reg_get_debug_name Unexecuted instantiation: eventloop.c:MVM_reg_get_debug_name Unexecuted instantiation: io.c:MVM_reg_get_debug_name Unexecuted instantiation: debug.c:MVM_reg_get_debug_name Unexecuted instantiation: finalize.c:MVM_reg_get_debug_name Unexecuted instantiation: objectid.c:MVM_reg_get_debug_name Unexecuted instantiation: wb.c:MVM_reg_get_debug_name Unexecuted instantiation: gen2.c:MVM_reg_get_debug_name Unexecuted instantiation: collect.c:MVM_reg_get_debug_name Unexecuted instantiation: roots.c:MVM_reg_get_debug_name Unexecuted instantiation: syncfile.c:MVM_reg_get_debug_name Unexecuted instantiation: allocation.c:MVM_reg_get_debug_name Unexecuted instantiation: orchestrate.c:MVM_reg_get_debug_name Unexecuted instantiation: config.c:MVM_reg_get_debug_name Unexecuted instantiation: debugserver.c:MVM_reg_get_debug_name Unexecuted instantiation: regionalloc.c:MVM_reg_get_debug_name Unexecuted instantiation: fixedsizealloc.c:MVM_reg_get_debug_name Unexecuted instantiation: intcache.c:MVM_reg_get_debug_name Unexecuted instantiation: continuation.c:MVM_reg_get_debug_name Unexecuted instantiation: nativecall_dyncall.c:MVM_reg_get_debug_name Unexecuted instantiation: utf8_c8.c:MVM_reg_get_debug_name Unexecuted instantiation: bigintops.c:MVM_reg_get_debug_name Unexecuted instantiation: shiftjis_codeindex.c:MVM_reg_get_debug_name Unexecuted instantiation: shiftjis.c:MVM_reg_get_debug_name Unexecuted instantiation: windows1252.c:MVM_reg_get_debug_name Unexecuted instantiation: utf16.c:MVM_reg_get_debug_name Unexecuted instantiation: latin1.c:MVM_reg_get_debug_name Unexecuted instantiation: normalize.c:MVM_reg_get_debug_name Unexecuted instantiation: unicode.c:MVM_reg_get_debug_name Unexecuted instantiation: nfg.c:MVM_reg_get_debug_name Unexecuted instantiation: instrument.c:MVM_reg_get_debug_name Unexecuted instantiation: utf8.c:MVM_reg_get_debug_name Unexecuted instantiation: parse_num.c:MVM_reg_get_debug_name Unexecuted instantiation: ascii.c:MVM_reg_get_debug_name Unexecuted instantiation: decode_stream.c:MVM_reg_get_debug_name Unexecuted instantiation: plugin.c:MVM_reg_get_debug_name Unexecuted instantiation: arg_guard.c:MVM_reg_get_debug_name Unexecuted instantiation: plan.c:MVM_reg_get_debug_name Unexecuted instantiation: stats.c:MVM_reg_get_debug_name Unexecuted instantiation: worker.c:MVM_reg_get_debug_name Unexecuted instantiation: mmap.c:MVM_reg_get_debug_name Unexecuted instantiation: arch.c:MVM_reg_get_debug_name Unexecuted instantiation: emit.c:MVM_reg_get_debug_name Unexecuted instantiation: interface.c:MVM_reg_get_debug_name Unexecuted instantiation: linear_scan.c:MVM_reg_get_debug_name Unexecuted instantiation: tile.c:MVM_reg_get_debug_name Unexecuted instantiation: expr.c:MVM_reg_get_debug_name Unexecuted instantiation: compile.c:MVM_reg_get_debug_name Unexecuted instantiation: label.c:MVM_reg_get_debug_name Unexecuted instantiation: time.c:MVM_reg_get_debug_name Unexecuted instantiation: iterator.c:MVM_reg_get_debug_name Unexecuted instantiation: moar.c:MVM_reg_get_debug_name Unexecuted instantiation: memmem32.c:MVM_reg_get_debug_name Unexecuted instantiation: random.c:MVM_reg_get_debug_name Unexecuted instantiation: sys.c:MVM_reg_get_debug_name Unexecuted instantiation: line_coverage.c:MVM_reg_get_debug_name Unexecuted instantiation: crossthreadwrite.c:MVM_reg_get_debug_name Unexecuted instantiation: telemeh.c:MVM_reg_get_debug_name Unexecuted instantiation: heapsnapshot.c:MVM_reg_get_debug_name Unexecuted instantiation: profile.c:MVM_reg_get_debug_name Unexecuted instantiation: ConcBlockingQueue.c:MVM_reg_get_debug_name Unexecuted instantiation: 6model.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMSpeshLog.c:MVM_reg_get_debug_name Unexecuted instantiation: Decoder.c:MVM_reg_get_debug_name Unexecuted instantiation: MultiDimArray.c:MVM_reg_get_debug_name Unexecuted instantiation: NativeRef.c:MVM_reg_get_debug_name Unexecuted instantiation: CPPStruct.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMNull.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMAsyncTask.c:MVM_reg_get_debug_name Unexecuted instantiation: bootstrap.c:MVM_reg_get_debug_name Unexecuted instantiation: Semaphore.c:MVM_reg_get_debug_name Unexecuted instantiation: ConditionVariable.c:MVM_reg_get_debug_name Unexecuted instantiation: ReentrantMutex.c:MVM_reg_get_debug_name Unexecuted instantiation: CUnion.c:MVM_reg_get_debug_name Unexecuted instantiation: CStruct.c:MVM_reg_get_debug_name Unexecuted instantiation: CArray.c:MVM_reg_get_debug_name Unexecuted instantiation: CStr.c:MVM_reg_get_debug_name Unexecuted instantiation: CPointer.c:MVM_reg_get_debug_name Unexecuted instantiation: NativeCall.c:MVM_reg_get_debug_name Unexecuted instantiation: manipulate.c:MVM_reg_get_debug_name Unexecuted instantiation: lookup.c:MVM_reg_get_debug_name Unexecuted instantiation: osr.c:MVM_reg_get_debug_name Unexecuted instantiation: inline.c:MVM_reg_get_debug_name Unexecuted instantiation: threshold.c:MVM_reg_get_debug_name Unexecuted instantiation: log.c:MVM_reg_get_debug_name Unexecuted instantiation: deopt.c:MVM_reg_get_debug_name Unexecuted instantiation: dead_bb_elimination.c:MVM_reg_get_debug_name Unexecuted instantiation: optimize.c:MVM_reg_get_debug_name Unexecuted instantiation: facts.c:MVM_reg_get_debug_name Unexecuted instantiation: MVMContinuation.c:MVM_reg_get_debug_name Unexecuted instantiation: candidate.c:MVM_reg_get_debug_name Unexecuted instantiation: codegen.c:MVM_reg_get_debug_name Unexecuted instantiation: graph.c:MVM_reg_get_debug_name Unexecuted instantiation: dump.c:MVM_reg_get_debug_name Unexecuted instantiation: driver.c:MVM_reg_get_debug_name Unexecuted instantiation: compiler.c:MVM_reg_get_debug_name Unexecuted instantiation: serialization.c:MVM_reg_get_debug_name Unexecuted instantiation: sc.c:MVM_reg_get_debug_name |