Coverage Report

Created: 2017-04-15 07:07

/home/travis/build/MoarVM/MoarVM/src/strings/iter.h
Line
Count
Source (jump to first uncovered line)
1
/* Grapheme iterator structure; iterates through graphemes in a string. */
2
struct MVMGraphemeIter {
3
    /* The blob we're currently iterating over. */
4
    union {
5
        MVMGrapheme32    *blob_32;
6
        MVMGraphemeASCII *blob_ascii;
7
        MVMGrapheme8     *blob_8;
8
        void             *any;
9
    } active_blob;
10
11
    /* The type of blob we have. */
12
    MVMuint16 blob_type;
13
14
    /* The number of strands remaining, if any. */
15
    MVMuint16 strands_remaining;
16
17
    /* The current position, and the end position. */
18
    MVMStringIndex pos;
19
    MVMStringIndex end;
20
21
    /* Repetition count, and the start index in the blob (only needed if we're
22
     * doing an iteration over a repetition). */
23
    MVMStringIndex start;
24
    MVMuint32      repetitions;
25
26
    /* The next strand, if we're doing a strand-based iteration. */
27
    MVMStringStrand *next_strand;
28
};
29
30
/* Initializes a grapheme iterator. */
31
10.6M
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
10.6M
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
6.95M
        MVMStringStrand *strands = s->body.storage.strands;
34
6.95M
        MVMString       *first   = strands[0].blob_string;
35
6.95M
        gi->active_blob.any      = first->body.storage.any;
36
6.95M
        gi->blob_type            = first->body.storage_type;
37
6.95M
        gi->strands_remaining    = s->body.num_strands - 1;
38
6.95M
        gi->pos                  = strands[0].start;
39
6.95M
        gi->end                  = strands[0].end;
40
6.95M
        gi->start                = strands[0].start;
41
6.95M
        gi->repetitions          = strands[0].repetitions;
42
6.95M
        gi->next_strand          = strands + 1;
43
6.95M
    }
44
3.68M
    else {
45
3.68M
        gi->active_blob.any   = s->body.storage.any;
46
3.68M
        gi->blob_type         = s->body.storage_type;
47
3.68M
        gi->strands_remaining = 0;
48
3.68M
        gi->pos               = 0;
49
3.68M
        gi->end               = s->body.num_graphs;
50
3.68M
        gi->repetitions       = 0;
51
3.68M
    }
52
10.6M
};
Unexecuted instantiation: dirops.c:MVM_string_gi_init
Unexecuted instantiation: reprconv.c:MVM_string_gi_init
Unexecuted instantiation: reprs.c:MVM_string_gi_init
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_init
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_init
Unexecuted instantiation: signals.c:MVM_string_gi_init
Unexecuted instantiation: filewatchers.c:MVM_string_gi_init
Unexecuted instantiation: timers.c:MVM_string_gi_init
Unexecuted instantiation: procops.c:MVM_string_gi_init
Unexecuted instantiation: containers.c:MVM_string_gi_init
Unexecuted instantiation: fileops.c:MVM_string_gi_init
Unexecuted instantiation: syncsocket.c:MVM_string_gi_init
Unexecuted instantiation: syncpipe.c:MVM_string_gi_init
Unexecuted instantiation: syncstream.c:MVM_string_gi_init
Unexecuted instantiation: syncfile.c:MVM_string_gi_init
Unexecuted instantiation: eventloop.c:MVM_string_gi_init
Unexecuted instantiation: io.c:MVM_string_gi_init
Unexecuted instantiation: debug.c:MVM_string_gi_init
Unexecuted instantiation: P6str.c:MVM_string_gi_init
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_init
Unexecuted instantiation: P6num.c:MVM_string_gi_init
Unexecuted instantiation: P6int.c:MVM_string_gi_init
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_init
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_init
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_init
Unexecuted instantiation: MVMCode.c:MVM_string_gi_init
Unexecuted instantiation: P6opaque.c:MVM_string_gi_init
Unexecuted instantiation: finalize.c:MVM_string_gi_init
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_init
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_init
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_init
Unexecuted instantiation: MVMHash.c:MVM_string_gi_init
Unexecuted instantiation: VMArray.c:MVM_string_gi_init
Unexecuted instantiation: MVMString.c:MVM_string_gi_init
Unexecuted instantiation: parametric.c:MVM_string_gi_init
Unexecuted instantiation: callstack.c:MVM_string_gi_init
Unexecuted instantiation: coerce.c:MVM_string_gi_init
Unexecuted instantiation: num.c:MVM_string_gi_init
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_init
Unexecuted instantiation: hll.c:MVM_string_gi_init
ops.c:MVM_string_gi_init
Line
Count
Source
31
10.5M
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
10.5M
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
6.92M
        MVMStringStrand *strands = s->body.storage.strands;
34
6.92M
        MVMString       *first   = strands[0].blob_string;
35
6.92M
        gi->active_blob.any      = first->body.storage.any;
36
6.92M
        gi->blob_type            = first->body.storage_type;
37
6.92M
        gi->strands_remaining    = s->body.num_strands - 1;
38
6.92M
        gi->pos                  = strands[0].start;
39
6.92M
        gi->end                  = strands[0].end;
40
6.92M
        gi->start                = strands[0].start;
41
6.92M
        gi->repetitions          = strands[0].repetitions;
42
6.92M
        gi->next_strand          = strands + 1;
43
6.92M
    }
44
3.61M
    else {
45
3.61M
        gi->active_blob.any   = s->body.storage.any;
46
3.61M
        gi->blob_type         = s->body.storage_type;
47
3.61M
        gi->strands_remaining = 0;
48
3.61M
        gi->pos               = 0;
49
3.61M
        gi->end               = s->body.num_graphs;
50
3.61M
        gi->repetitions       = 0;
51
3.61M
    }
52
10.5M
};
Unexecuted instantiation: threads.c:MVM_string_gi_init
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_init
Unexecuted instantiation: validation.c:MVM_string_gi_init
Unexecuted instantiation: dll.c:MVM_string_gi_init
Unexecuted instantiation: frame.c:MVM_string_gi_init
Unexecuted instantiation: bytecode.c:MVM_string_gi_init
Unexecuted instantiation: compunit.c:MVM_string_gi_init
Unexecuted instantiation: threadcontext.c:MVM_string_gi_init
Unexecuted instantiation: interp.c:MVM_string_gi_init
Unexecuted instantiation: exceptions.c:MVM_string_gi_init
Unexecuted instantiation: args.c:MVM_string_gi_init
Unexecuted instantiation: callsite.c:MVM_string_gi_init
Unexecuted instantiation: config.c:MVM_string_gi_init
Unexecuted instantiation: objectid.c:MVM_string_gi_init
Unexecuted instantiation: wb.c:MVM_string_gi_init
Unexecuted instantiation: gen2.c:MVM_string_gi_init
Unexecuted instantiation: collect.c:MVM_string_gi_init
Unexecuted instantiation: roots.c:MVM_string_gi_init
Unexecuted instantiation: worklist.c:MVM_string_gi_init
Unexecuted instantiation: allocation.c:MVM_string_gi_init
Unexecuted instantiation: orchestrate.c:MVM_string_gi_init
Unexecuted instantiation: emit_posix_x64.c:MVM_string_gi_init
Unexecuted instantiation: regionalloc.c:MVM_string_gi_init
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_init
Unexecuted instantiation: intcache.c:MVM_string_gi_init
Unexecuted instantiation: continuation.c:MVM_string_gi_init
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_init
Unexecuted instantiation: nativecall.c:MVM_string_gi_init
Unexecuted instantiation: ext.c:MVM_string_gi_init
Unexecuted instantiation: threshold.c:MVM_string_gi_init
utf8_c8.c:MVM_string_gi_init
Line
Count
Source
31
10.5k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
10.5k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
6.91k
        MVMStringStrand *strands = s->body.storage.strands;
34
6.91k
        MVMString       *first   = strands[0].blob_string;
35
6.91k
        gi->active_blob.any      = first->body.storage.any;
36
6.91k
        gi->blob_type            = first->body.storage_type;
37
6.91k
        gi->strands_remaining    = s->body.num_strands - 1;
38
6.91k
        gi->pos                  = strands[0].start;
39
6.91k
        gi->end                  = strands[0].end;
40
6.91k
        gi->start                = strands[0].start;
41
6.91k
        gi->repetitions          = strands[0].repetitions;
42
6.91k
        gi->next_strand          = strands + 1;
43
6.91k
    }
44
3.63k
    else {
45
3.63k
        gi->active_blob.any   = s->body.storage.any;
46
3.63k
        gi->blob_type         = s->body.storage_type;
47
3.63k
        gi->strands_remaining = 0;
48
3.63k
        gi->pos               = 0;
49
3.63k
        gi->end               = s->body.num_graphs;
50
3.63k
        gi->repetitions       = 0;
51
3.63k
    }
52
10.5k
};
utf8.c:MVM_string_gi_init
Line
Count
Source
31
13.6k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
13.6k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
791
        MVMStringStrand *strands = s->body.storage.strands;
34
791
        MVMString       *first   = strands[0].blob_string;
35
791
        gi->active_blob.any      = first->body.storage.any;
36
791
        gi->blob_type            = first->body.storage_type;
37
791
        gi->strands_remaining    = s->body.num_strands - 1;
38
791
        gi->pos                  = strands[0].start;
39
791
        gi->end                  = strands[0].end;
40
791
        gi->start                = strands[0].start;
41
791
        gi->repetitions          = strands[0].repetitions;
42
791
        gi->next_strand          = strands + 1;
43
791
    }
44
12.8k
    else {
45
12.8k
        gi->active_blob.any   = s->body.storage.any;
46
12.8k
        gi->blob_type         = s->body.storage_type;
47
12.8k
        gi->strands_remaining = 0;
48
12.8k
        gi->pos               = 0;
49
12.8k
        gi->end               = s->body.num_graphs;
50
12.8k
        gi->repetitions       = 0;
51
12.8k
    }
52
13.6k
};
ascii.c:MVM_string_gi_init
Line
Count
Source
31
4.37k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
4.37k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
655
        MVMStringStrand *strands = s->body.storage.strands;
34
655
        MVMString       *first   = strands[0].blob_string;
35
655
        gi->active_blob.any      = first->body.storage.any;
36
655
        gi->blob_type            = first->body.storage_type;
37
655
        gi->strands_remaining    = s->body.num_strands - 1;
38
655
        gi->pos                  = strands[0].start;
39
655
        gi->end                  = strands[0].end;
40
655
        gi->start                = strands[0].start;
41
655
        gi->repetitions          = strands[0].repetitions;
42
655
        gi->next_strand          = strands + 1;
43
655
    }
44
3.72k
    else {
45
3.72k
        gi->active_blob.any   = s->body.storage.any;
46
3.72k
        gi->blob_type         = s->body.storage_type;
47
3.72k
        gi->strands_remaining = 0;
48
3.72k
        gi->pos               = 0;
49
3.72k
        gi->end               = s->body.num_graphs;
50
3.72k
        gi->repetitions       = 0;
51
3.72k
    }
52
4.37k
};
decode_stream.c:MVM_string_gi_init
Line
Count
Source
31
21
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
21
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
0
        MVMStringStrand *strands = s->body.storage.strands;
34
0
        MVMString       *first   = strands[0].blob_string;
35
0
        gi->active_blob.any      = first->body.storage.any;
36
0
        gi->blob_type            = first->body.storage_type;
37
0
        gi->strands_remaining    = s->body.num_strands - 1;
38
0
        gi->pos                  = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->start                = strands[0].start;
41
0
        gi->repetitions          = strands[0].repetitions;
42
0
        gi->next_strand          = strands + 1;
43
0
    }
44
21
    else {
45
21
        gi->active_blob.any   = s->body.storage.any;
46
21
        gi->blob_type         = s->body.storage_type;
47
21
        gi->strands_remaining = 0;
48
21
        gi->pos               = 0;
49
21
        gi->end               = s->body.num_graphs;
50
21
        gi->repetitions       = 0;
51
21
    }
52
21
};
Unexecuted instantiation: compile.c:MVM_string_gi_init
Unexecuted instantiation: lookup.c:MVM_string_gi_init
Unexecuted instantiation: osr.c:MVM_string_gi_init
Unexecuted instantiation: inline.c:MVM_string_gi_init
Unexecuted instantiation: nfg.c:MVM_string_gi_init
Unexecuted instantiation: log.c:MVM_string_gi_init
Unexecuted instantiation: deopt.c:MVM_string_gi_init
Unexecuted instantiation: optimize.c:MVM_string_gi_init
Unexecuted instantiation: facts.c:MVM_string_gi_init
Unexecuted instantiation: manipulate.c:MVM_string_gi_init
Unexecuted instantiation: candidate.c:MVM_string_gi_init
Unexecuted instantiation: codegen.c:MVM_string_gi_init
Unexecuted instantiation: graph.c:MVM_string_gi_init
Unexecuted instantiation: profile.c:MVM_string_gi_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_init
Unexecuted instantiation: sys.c:MVM_string_gi_init
Unexecuted instantiation: time.c:MVM_string_gi_init
Unexecuted instantiation: mmap.c:MVM_string_gi_init
Unexecuted instantiation: moar.c:MVM_string_gi_init
Unexecuted instantiation: line_coverage.c:MVM_string_gi_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_init
Unexecuted instantiation: MVMThread.c:MVM_string_gi_init
Unexecuted instantiation: instrument.c:MVM_string_gi_init
Unexecuted instantiation: bigintops.c:MVM_string_gi_init
Unexecuted instantiation: windows1252.c:MVM_string_gi_init
utf16.c:MVM_string_gi_init
Line
Count
Source
31
1
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
1
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
0
        MVMStringStrand *strands = s->body.storage.strands;
34
0
        MVMString       *first   = strands[0].blob_string;
35
0
        gi->active_blob.any      = first->body.storage.any;
36
0
        gi->blob_type            = first->body.storage_type;
37
0
        gi->strands_remaining    = s->body.num_strands - 1;
38
0
        gi->pos                  = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->start                = strands[0].start;
41
0
        gi->repetitions          = strands[0].repetitions;
42
0
        gi->next_strand          = strands + 1;
43
0
    }
44
1
    else {
45
1
        gi->active_blob.any   = s->body.storage.any;
46
1
        gi->blob_type         = s->body.storage_type;
47
1
        gi->strands_remaining = 0;
48
1
        gi->pos               = 0;
49
1
        gi->end               = s->body.num_graphs;
50
1
        gi->repetitions       = 0;
51
1
    }
52
1
};
latin1.c:MVM_string_gi_init
Line
Count
Source
31
32.4k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
32.4k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
8.60k
        MVMStringStrand *strands = s->body.storage.strands;
34
8.60k
        MVMString       *first   = strands[0].blob_string;
35
8.60k
        gi->active_blob.any      = first->body.storage.any;
36
8.60k
        gi->blob_type            = first->body.storage_type;
37
8.60k
        gi->strands_remaining    = s->body.num_strands - 1;
38
8.60k
        gi->pos                  = strands[0].start;
39
8.60k
        gi->end                  = strands[0].end;
40
8.60k
        gi->start                = strands[0].start;
41
8.60k
        gi->repetitions          = strands[0].repetitions;
42
8.60k
        gi->next_strand          = strands + 1;
43
8.60k
    }
44
23.8k
    else {
45
23.8k
        gi->active_blob.any   = s->body.storage.any;
46
23.8k
        gi->blob_type         = s->body.storage_type;
47
23.8k
        gi->strands_remaining = 0;
48
23.8k
        gi->pos               = 0;
49
23.8k
        gi->end               = s->body.num_graphs;
50
23.8k
        gi->repetitions       = 0;
51
23.8k
    }
52
32.4k
};
Unexecuted instantiation: normalize.c:MVM_string_gi_init
Unexecuted instantiation: unicode.c:MVM_string_gi_init
Unexecuted instantiation: MVMException.c:MVM_string_gi_init
Unexecuted instantiation: CStruct.c:MVM_string_gi_init
Unexecuted instantiation: CArray.c:MVM_string_gi_init
Unexecuted instantiation: CStr.c:MVM_string_gi_init
Unexecuted instantiation: CPointer.c:MVM_string_gi_init
Unexecuted instantiation: NativeCall.c:MVM_string_gi_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_init
Unexecuted instantiation: driver.c:MVM_string_gi_init
Unexecuted instantiation: NFA.c:MVM_string_gi_init
Unexecuted instantiation: P6bigint.c:MVM_string_gi_init
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_init
Unexecuted instantiation: Lexotic.c:MVM_string_gi_init
Unexecuted instantiation: SCRef.c:MVM_string_gi_init
Unexecuted instantiation: MVMContext.c:MVM_string_gi_init
Unexecuted instantiation: MVMIter.c:MVM_string_gi_init
Unexecuted instantiation: dump.c:MVM_string_gi_init
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_init
Unexecuted instantiation: CUnion.c:MVM_string_gi_init
compiler.c:MVM_string_gi_init
Line
Count
Source
31
32.5k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
32.5k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
8.65k
        MVMStringStrand *strands = s->body.storage.strands;
34
8.65k
        MVMString       *first   = strands[0].blob_string;
35
8.65k
        gi->active_blob.any      = first->body.storage.any;
36
8.65k
        gi->blob_type            = first->body.storage_type;
37
8.65k
        gi->strands_remaining    = s->body.num_strands - 1;
38
8.65k
        gi->pos                  = strands[0].start;
39
8.65k
        gi->end                  = strands[0].end;
40
8.65k
        gi->start                = strands[0].start;
41
8.65k
        gi->repetitions          = strands[0].repetitions;
42
8.65k
        gi->next_strand          = strands + 1;
43
8.65k
    }
44
23.8k
    else {
45
23.8k
        gi->active_blob.any   = s->body.storage.any;
46
23.8k
        gi->blob_type         = s->body.storage_type;
47
23.8k
        gi->strands_remaining = 0;
48
23.8k
        gi->pos               = 0;
49
23.8k
        gi->end               = s->body.num_graphs;
50
23.8k
        gi->repetitions       = 0;
51
23.8k
    }
52
32.5k
};
Unexecuted instantiation: serialization.c:MVM_string_gi_init
Unexecuted instantiation: sc.c:MVM_string_gi_init
Unexecuted instantiation: bootstrap.c:MVM_string_gi_init
Unexecuted instantiation: 6model.c:MVM_string_gi_init
Unexecuted instantiation: Decoder.c:MVM_string_gi_init
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_init
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_init
Unexecuted instantiation: MVMNull.c:MVM_string_gi_init
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_init
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_init
Unexecuted instantiation: Semaphore.c:MVM_string_gi_init
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_init
Unexecuted instantiation: NativeRef.c:MVM_string_gi_init
53
54
/* Sets the position of the iterator. (Can be optimized in many ways in the
55
 * repetitions and strands branches.) */
56
8.00M
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
57
8.00M
    MVMuint32 remaining = pos;
58
8.00M
    MVMuint32 strand_graphs;
59
8.00M
60
8.00M
    /* Find the appropriate strand. */
61
63.1M
    while (remaining > (strand_graphs = (gi->end - gi->pos) * (gi->repetitions + 1))) {
62
55.1M
        MVMStringStrand *next = gi->next_strand;
63
55.1M
        if (!gi->strands_remaining)
64
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
65
55.1M
        gi->active_blob.any = next->blob_string->body.storage.any;
66
55.1M
        gi->blob_type       = next->blob_string->body.storage_type;
67
55.1M
        gi->pos             = next->start;
68
55.1M
        gi->end             = next->end;
69
55.1M
        gi->start           = next->start;
70
55.1M
        gi->repetitions     = next->repetitions;
71
55.1M
        gi->strands_remaining--;
72
55.1M
        gi->next_strand++;
73
55.1M
        remaining -= strand_graphs;
74
55.1M
    }
75
8.00M
76
8.00M
    /* Now look within the strand. */
77
8.01M
    while (1) {
78
8.01M
        if (remaining == 0) {
79
4.84M
            return;
80
4.84M
        }
81
3.17M
        if (gi->pos < gi->end) {
82
3.16M
            if (gi->pos + remaining <= gi->end) {
83
3.15M
                gi->pos += remaining;
84
3.15M
                return;
85
3.15M
            }
86
7.07k
            remaining -= gi->end - gi->pos;
87
7.07k
            gi->pos = gi->end;
88
7.07k
        }
89
7.07k
        else if (gi->repetitions) {
90
7.07k
            MVMuint32 rep_graphs     = gi->end - gi->start;
91
7.07k
            MVMuint32 remaining_reps = remaining / rep_graphs;
92
7.07k
            if (remaining_reps > gi->repetitions)
93
0
                remaining_reps = gi->repetitions;
94
7.07k
            gi->repetitions -= remaining_reps;
95
7.07k
            remaining       -= remaining_reps * rep_graphs;
96
7.07k
            if (gi->repetitions) {
97
6.76k
                gi->pos = gi->start;
98
6.76k
                gi->repetitions--; /* Next read will be reading *this* repetition. */
99
6.76k
            }
100
7.07k
        }
101
0
        else {
102
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
103
0
        }
104
3.17M
    }
105
8.00M
}
Unexecuted instantiation: reprconv.c:MVM_string_gi_move_to
Unexecuted instantiation: reprs.c:MVM_string_gi_move_to
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_move_to
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_move_to
Unexecuted instantiation: signals.c:MVM_string_gi_move_to
Unexecuted instantiation: filewatchers.c:MVM_string_gi_move_to
Unexecuted instantiation: timers.c:MVM_string_gi_move_to
Unexecuted instantiation: procops.c:MVM_string_gi_move_to
Unexecuted instantiation: dirops.c:MVM_string_gi_move_to
Unexecuted instantiation: fileops.c:MVM_string_gi_move_to
Unexecuted instantiation: syncsocket.c:MVM_string_gi_move_to
Unexecuted instantiation: syncpipe.c:MVM_string_gi_move_to
Unexecuted instantiation: syncstream.c:MVM_string_gi_move_to
Unexecuted instantiation: syncfile.c:MVM_string_gi_move_to
Unexecuted instantiation: eventloop.c:MVM_string_gi_move_to
Unexecuted instantiation: io.c:MVM_string_gi_move_to
Unexecuted instantiation: debug.c:MVM_string_gi_move_to
Unexecuted instantiation: P6opaque.c:MVM_string_gi_move_to
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_move_to
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_move_to
Unexecuted instantiation: P6num.c:MVM_string_gi_move_to
Unexecuted instantiation: P6int.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCode.c:MVM_string_gi_move_to
Unexecuted instantiation: containers.c:MVM_string_gi_move_to
Unexecuted instantiation: P6str.c:MVM_string_gi_move_to
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_move_to
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMHash.c:MVM_string_gi_move_to
Unexecuted instantiation: VMArray.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMString.c:MVM_string_gi_move_to
Unexecuted instantiation: parametric.c:MVM_string_gi_move_to
Unexecuted instantiation: callstack.c:MVM_string_gi_move_to
Unexecuted instantiation: coerce.c:MVM_string_gi_move_to
Unexecuted instantiation: num.c:MVM_string_gi_move_to
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_move_to
Unexecuted instantiation: hll.c:MVM_string_gi_move_to
ops.c:MVM_string_gi_move_to
Line
Count
Source
56
8.00M
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
57
8.00M
    MVMuint32 remaining = pos;
58
8.00M
    MVMuint32 strand_graphs;
59
8.00M
60
8.00M
    /* Find the appropriate strand. */
61
63.1M
    while (remaining > (strand_graphs = (gi->end - gi->pos) * (gi->repetitions + 1))) {
62
55.1M
        MVMStringStrand *next = gi->next_strand;
63
55.1M
        if (!gi->strands_remaining)
64
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
65
55.1M
        gi->active_blob.any = next->blob_string->body.storage.any;
66
55.1M
        gi->blob_type       = next->blob_string->body.storage_type;
67
55.1M
        gi->pos             = next->start;
68
55.1M
        gi->end             = next->end;
69
55.1M
        gi->start           = next->start;
70
55.1M
        gi->repetitions     = next->repetitions;
71
55.1M
        gi->strands_remaining--;
72
55.1M
        gi->next_strand++;
73
55.1M
        remaining -= strand_graphs;
74
55.1M
    }
75
8.00M
76
8.00M
    /* Now look within the strand. */
77
8.01M
    while (1) {
78
8.01M
        if (remaining == 0) {
79
4.84M
            return;
80
4.84M
        }
81
3.17M
        if (gi->pos < gi->end) {
82
3.16M
            if (gi->pos + remaining <= gi->end) {
83
3.15M
                gi->pos += remaining;
84
3.15M
                return;
85
3.15M
            }
86
7.07k
            remaining -= gi->end - gi->pos;
87
7.07k
            gi->pos = gi->end;
88
7.07k
        }
89
7.07k
        else if (gi->repetitions) {
90
7.07k
            MVMuint32 rep_graphs     = gi->end - gi->start;
91
7.07k
            MVMuint32 remaining_reps = remaining / rep_graphs;
92
7.07k
            if (remaining_reps > gi->repetitions)
93
0
                remaining_reps = gi->repetitions;
94
7.07k
            gi->repetitions -= remaining_reps;
95
7.07k
            remaining       -= remaining_reps * rep_graphs;
96
7.07k
            if (gi->repetitions) {
97
6.76k
                gi->pos = gi->start;
98
6.76k
                gi->repetitions--; /* Next read will be reading *this* repetition. */
99
6.76k
            }
100
7.07k
        }
101
0
        else {
102
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
103
0
        }
104
3.17M
    }
105
8.00M
}
Unexecuted instantiation: threads.c:MVM_string_gi_move_to
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_move_to
Unexecuted instantiation: validation.c:MVM_string_gi_move_to
Unexecuted instantiation: dll.c:MVM_string_gi_move_to
Unexecuted instantiation: frame.c:MVM_string_gi_move_to
Unexecuted instantiation: bytecode.c:MVM_string_gi_move_to
Unexecuted instantiation: compunit.c:MVM_string_gi_move_to
Unexecuted instantiation: threadcontext.c:MVM_string_gi_move_to
Unexecuted instantiation: interp.c:MVM_string_gi_move_to
Unexecuted instantiation: exceptions.c:MVM_string_gi_move_to
Unexecuted instantiation: args.c:MVM_string_gi_move_to
Unexecuted instantiation: callsite.c:MVM_string_gi_move_to
Unexecuted instantiation: config.c:MVM_string_gi_move_to
Unexecuted instantiation: objectid.c:MVM_string_gi_move_to
Unexecuted instantiation: wb.c:MVM_string_gi_move_to
Unexecuted instantiation: gen2.c:MVM_string_gi_move_to
Unexecuted instantiation: collect.c:MVM_string_gi_move_to
Unexecuted instantiation: roots.c:MVM_string_gi_move_to
Unexecuted instantiation: worklist.c:MVM_string_gi_move_to
Unexecuted instantiation: allocation.c:MVM_string_gi_move_to
Unexecuted instantiation: orchestrate.c:MVM_string_gi_move_to
Unexecuted instantiation: finalize.c:MVM_string_gi_move_to
Unexecuted instantiation: regionalloc.c:MVM_string_gi_move_to
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_move_to
Unexecuted instantiation: intcache.c:MVM_string_gi_move_to
Unexecuted instantiation: continuation.c:MVM_string_gi_move_to
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_move_to
Unexecuted instantiation: nativecall.c:MVM_string_gi_move_to
Unexecuted instantiation: ext.c:MVM_string_gi_move_to
Unexecuted instantiation: threshold.c:MVM_string_gi_move_to
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_move_to
Unexecuted instantiation: utf8.c:MVM_string_gi_move_to
Unexecuted instantiation: ascii.c:MVM_string_gi_move_to
Unexecuted instantiation: decode_stream.c:MVM_string_gi_move_to
Unexecuted instantiation: compile.c:MVM_string_gi_move_to
Unexecuted instantiation: lookup.c:MVM_string_gi_move_to
Unexecuted instantiation: osr.c:MVM_string_gi_move_to
Unexecuted instantiation: inline.c:MVM_string_gi_move_to
Unexecuted instantiation: nfg.c:MVM_string_gi_move_to
Unexecuted instantiation: log.c:MVM_string_gi_move_to
Unexecuted instantiation: deopt.c:MVM_string_gi_move_to
Unexecuted instantiation: optimize.c:MVM_string_gi_move_to
Unexecuted instantiation: facts.c:MVM_string_gi_move_to
Unexecuted instantiation: manipulate.c:MVM_string_gi_move_to
Unexecuted instantiation: candidate.c:MVM_string_gi_move_to
Unexecuted instantiation: codegen.c:MVM_string_gi_move_to
Unexecuted instantiation: graph.c:MVM_string_gi_move_to
Unexecuted instantiation: profile.c:MVM_string_gi_move_to
Unexecuted instantiation: emit_posix_x64.c:MVM_string_gi_move_to
Unexecuted instantiation: sys.c:MVM_string_gi_move_to
Unexecuted instantiation: time.c:MVM_string_gi_move_to
Unexecuted instantiation: mmap.c:MVM_string_gi_move_to
Unexecuted instantiation: moar.c:MVM_string_gi_move_to
Unexecuted instantiation: line_coverage.c:MVM_string_gi_move_to
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_move_to
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMIter.c:MVM_string_gi_move_to
Unexecuted instantiation: instrument.c:MVM_string_gi_move_to
Unexecuted instantiation: bigintops.c:MVM_string_gi_move_to
Unexecuted instantiation: windows1252.c:MVM_string_gi_move_to
Unexecuted instantiation: utf16.c:MVM_string_gi_move_to
Unexecuted instantiation: latin1.c:MVM_string_gi_move_to
Unexecuted instantiation: normalize.c:MVM_string_gi_move_to
Unexecuted instantiation: unicode.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMException.c:MVM_string_gi_move_to
Unexecuted instantiation: CStruct.c:MVM_string_gi_move_to
Unexecuted instantiation: CArray.c:MVM_string_gi_move_to
Unexecuted instantiation: CStr.c:MVM_string_gi_move_to
Unexecuted instantiation: CPointer.c:MVM_string_gi_move_to
Unexecuted instantiation: NativeCall.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_move_to
Unexecuted instantiation: driver.c:MVM_string_gi_move_to
Unexecuted instantiation: NFA.c:MVM_string_gi_move_to
Unexecuted instantiation: P6bigint.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_move_to
Unexecuted instantiation: Lexotic.c:MVM_string_gi_move_to
Unexecuted instantiation: SCRef.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMContext.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMThread.c:MVM_string_gi_move_to
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_move_to
Unexecuted instantiation: dump.c:MVM_string_gi_move_to
Unexecuted instantiation: compiler.c:MVM_string_gi_move_to
Unexecuted instantiation: serialization.c:MVM_string_gi_move_to
Unexecuted instantiation: sc.c:MVM_string_gi_move_to
Unexecuted instantiation: bootstrap.c:MVM_string_gi_move_to
Unexecuted instantiation: 6model.c:MVM_string_gi_move_to
Unexecuted instantiation: Decoder.c:MVM_string_gi_move_to
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_move_to
Unexecuted instantiation: NativeRef.c:MVM_string_gi_move_to
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMNull.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_move_to
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_move_to
Unexecuted instantiation: Semaphore.c:MVM_string_gi_move_to
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_move_to
Unexecuted instantiation: CUnion.c:MVM_string_gi_move_to
106
107
/* Checks if there is more to read from a grapheme iterator. */
108
12.9M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
1.74M
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
12.9M
}
Unexecuted instantiation: args.c:MVM_string_gi_has_more
Unexecuted instantiation: NativeRef.c:MVM_string_gi_has_more
Unexecuted instantiation: CUnion.c:MVM_string_gi_has_more
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_has_more
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_has_more
Unexecuted instantiation: Semaphore.c:MVM_string_gi_has_more
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMNull.c:MVM_string_gi_has_more
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_has_more
Unexecuted instantiation: CStruct.c:MVM_string_gi_has_more
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_has_more
Unexecuted instantiation: Decoder.c:MVM_string_gi_has_more
Unexecuted instantiation: 6model.c:MVM_string_gi_has_more
Unexecuted instantiation: bootstrap.c:MVM_string_gi_has_more
Unexecuted instantiation: sc.c:MVM_string_gi_has_more
Unexecuted instantiation: serialization.c:MVM_string_gi_has_more
compiler.c:MVM_string_gi_has_more
Line
Count
Source
108
400k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
35.5k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
400k
}
Unexecuted instantiation: driver.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMException.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMThread.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMIter.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMContext.c:MVM_string_gi_has_more
Unexecuted instantiation: SCRef.c:MVM_string_gi_has_more
Unexecuted instantiation: Lexotic.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_has_more
Unexecuted instantiation: P6bigint.c:MVM_string_gi_has_more
Unexecuted instantiation: NFA.c:MVM_string_gi_has_more
Unexecuted instantiation: dump.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_has_more
Unexecuted instantiation: NativeCall.c:MVM_string_gi_has_more
Unexecuted instantiation: CPointer.c:MVM_string_gi_has_more
Unexecuted instantiation: CStr.c:MVM_string_gi_has_more
Unexecuted instantiation: CArray.c:MVM_string_gi_has_more
Unexecuted instantiation: profile.c:MVM_string_gi_has_more
Unexecuted instantiation: nfg.c:MVM_string_gi_has_more
Unexecuted instantiation: unicode.c:MVM_string_gi_has_more
Unexecuted instantiation: normalize.c:MVM_string_gi_has_more
latin1.c:MVM_string_gi_has_more
Line
Count
Source
108
400k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
35.5k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
400k
}
utf16.c:MVM_string_gi_has_more
Line
Count
Source
108
2
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
1
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
2
}
Unexecuted instantiation: windows1252.c:MVM_string_gi_has_more
Unexecuted instantiation: bigintops.c:MVM_string_gi_has_more
Unexecuted instantiation: instrument.c:MVM_string_gi_has_more
utf8_c8.c:MVM_string_gi_has_more
Line
Count
Source
108
226k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
30.1k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
226k
}
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_has_more
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_has_more
Unexecuted instantiation: line_coverage.c:MVM_string_gi_has_more
Unexecuted instantiation: moar.c:MVM_string_gi_has_more
Unexecuted instantiation: mmap.c:MVM_string_gi_has_more
Unexecuted instantiation: time.c:MVM_string_gi_has_more
Unexecuted instantiation: sys.c:MVM_string_gi_has_more
Unexecuted instantiation: emit_posix_x64.c:MVM_string_gi_has_more
Unexecuted instantiation: threshold.c:MVM_string_gi_has_more
Unexecuted instantiation: graph.c:MVM_string_gi_has_more
Unexecuted instantiation: codegen.c:MVM_string_gi_has_more
Unexecuted instantiation: candidate.c:MVM_string_gi_has_more
Unexecuted instantiation: manipulate.c:MVM_string_gi_has_more
Unexecuted instantiation: facts.c:MVM_string_gi_has_more
Unexecuted instantiation: optimize.c:MVM_string_gi_has_more
Unexecuted instantiation: deopt.c:MVM_string_gi_has_more
Unexecuted instantiation: log.c:MVM_string_gi_has_more
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_has_more
Unexecuted instantiation: inline.c:MVM_string_gi_has_more
Unexecuted instantiation: osr.c:MVM_string_gi_has_more
Unexecuted instantiation: lookup.c:MVM_string_gi_has_more
Unexecuted instantiation: compile.c:MVM_string_gi_has_more
decode_stream.c:MVM_string_gi_has_more
Line
Count
Source
108
48
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
21
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
48
}
ascii.c:MVM_string_gi_has_more
Line
Count
Source
108
43.6k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
4.56k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
43.6k
}
utf8.c:MVM_string_gi_has_more
Line
Count
Source
108
1.12M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
15.3k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
1.12M
}
Unexecuted instantiation: orchestrate.c:MVM_string_gi_has_more
Unexecuted instantiation: ext.c:MVM_string_gi_has_more
Unexecuted instantiation: nativecall.c:MVM_string_gi_has_more
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_has_more
Unexecuted instantiation: continuation.c:MVM_string_gi_has_more
Unexecuted instantiation: intcache.c:MVM_string_gi_has_more
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_has_more
Unexecuted instantiation: regionalloc.c:MVM_string_gi_has_more
Unexecuted instantiation: config.c:MVM_string_gi_has_more
Unexecuted instantiation: dll.c:MVM_string_gi_has_more
Unexecuted instantiation: allocation.c:MVM_string_gi_has_more
Unexecuted instantiation: worklist.c:MVM_string_gi_has_more
Unexecuted instantiation: roots.c:MVM_string_gi_has_more
Unexecuted instantiation: collect.c:MVM_string_gi_has_more
Unexecuted instantiation: gen2.c:MVM_string_gi_has_more
Unexecuted instantiation: wb.c:MVM_string_gi_has_more
Unexecuted instantiation: objectid.c:MVM_string_gi_has_more
Unexecuted instantiation: finalize.c:MVM_string_gi_has_more
Unexecuted instantiation: validation.c:MVM_string_gi_has_more
Unexecuted instantiation: callsite.c:MVM_string_gi_has_more
Unexecuted instantiation: exceptions.c:MVM_string_gi_has_more
Unexecuted instantiation: interp.c:MVM_string_gi_has_more
Unexecuted instantiation: threadcontext.c:MVM_string_gi_has_more
Unexecuted instantiation: compunit.c:MVM_string_gi_has_more
Unexecuted instantiation: bytecode.c:MVM_string_gi_has_more
Unexecuted instantiation: frame.c:MVM_string_gi_has_more
Unexecuted instantiation: callstack.c:MVM_string_gi_has_more
Unexecuted instantiation: debug.c:MVM_string_gi_has_more
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_has_more
Unexecuted instantiation: threads.c:MVM_string_gi_has_more
ops.c:MVM_string_gi_has_more
Line
Count
Source
108
10.7M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
109
1.62M
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
110
10.7M
}
Unexecuted instantiation: hll.c:MVM_string_gi_has_more
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_has_more
Unexecuted instantiation: num.c:MVM_string_gi_has_more
Unexecuted instantiation: coerce.c:MVM_string_gi_has_more
Unexecuted instantiation: P6opaque.c:MVM_string_gi_has_more
Unexecuted instantiation: parametric.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMString.c:MVM_string_gi_has_more
Unexecuted instantiation: VMArray.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMHash.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_has_more
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_has_more
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_has_more
Unexecuted instantiation: P6str.c:MVM_string_gi_has_more
Unexecuted instantiation: containers.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMCode.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_has_more
Unexecuted instantiation: P6int.c:MVM_string_gi_has_more
Unexecuted instantiation: P6num.c:MVM_string_gi_has_more
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_has_more
Unexecuted instantiation: procops.c:MVM_string_gi_has_more
Unexecuted instantiation: io.c:MVM_string_gi_has_more
Unexecuted instantiation: eventloop.c:MVM_string_gi_has_more
Unexecuted instantiation: syncfile.c:MVM_string_gi_has_more
Unexecuted instantiation: syncstream.c:MVM_string_gi_has_more
Unexecuted instantiation: syncpipe.c:MVM_string_gi_has_more
Unexecuted instantiation: syncsocket.c:MVM_string_gi_has_more
Unexecuted instantiation: fileops.c:MVM_string_gi_has_more
Unexecuted instantiation: dirops.c:MVM_string_gi_has_more
Unexecuted instantiation: timers.c:MVM_string_gi_has_more
Unexecuted instantiation: filewatchers.c:MVM_string_gi_has_more
Unexecuted instantiation: signals.c:MVM_string_gi_has_more
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_has_more
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_has_more
Unexecuted instantiation: reprs.c:MVM_string_gi_has_more
Unexecuted instantiation: reprconv.c:MVM_string_gi_has_more
111
112
/* Gets the next grapheme. */
113
30.7M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
31.3M
    while (1) {
115
31.3M
        if (gi->pos < gi->end) {
116
30.7M
            switch (gi->blob_type) {
117
17.3M
            case MVM_STRING_GRAPHEME_32:
118
17.3M
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
13.3M
            case MVM_STRING_GRAPHEME_8:
122
13.3M
                return gi->active_blob.blob_8[gi->pos++];
123
30.7M
            }
124
30.7M
        }
125
658k
        else if (gi->repetitions) {
126
2.89k
            gi->pos = gi->start;
127
2.89k
            gi->repetitions--;
128
2.89k
        }
129
655k
        else if (gi->strands_remaining) {
130
655k
            MVMStringStrand *next = gi->next_strand;
131
655k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
655k
            gi->blob_type       = next->blob_string->body.storage_type;
133
655k
            gi->pos             = next->start;
134
655k
            gi->end             = next->end;
135
655k
            gi->start           = next->start;
136
655k
            gi->repetitions     = next->repetitions;
137
655k
            gi->strands_remaining--;
138
655k
            gi->next_strand++;
139
655k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
31.3M
    }
144
30.7M
}
Unexecuted instantiation: emit_posix_x64.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: NativeRef.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CUnion.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Semaphore.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMNull.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CStruct.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Decoder.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: 6model.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bootstrap.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: sc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: serialization.c:MVM_string_gi_get_grapheme
compiler.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
368k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
371k
    while (1) {
115
371k
        if (gi->pos < gi->end) {
116
368k
            switch (gi->blob_type) {
117
129k
            case MVM_STRING_GRAPHEME_32:
118
129k
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
238k
            case MVM_STRING_GRAPHEME_8:
122
238k
                return gi->active_blob.blob_8[gi->pos++];
123
368k
            }
124
368k
        }
125
3.08k
        else if (gi->repetitions) {
126
25
            gi->pos = gi->start;
127
25
            gi->repetitions--;
128
25
        }
129
3.06k
        else if (gi->strands_remaining) {
130
3.06k
            MVMStringStrand *next = gi->next_strand;
131
3.06k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
3.06k
            gi->blob_type       = next->blob_string->body.storage_type;
133
3.06k
            gi->pos             = next->start;
134
3.06k
            gi->end             = next->end;
135
3.06k
            gi->start           = next->start;
136
3.06k
            gi->repetitions     = next->repetitions;
137
3.06k
            gi->strands_remaining--;
138
3.06k
            gi->next_strand++;
139
3.06k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
371k
    }
144
368k
}
Unexecuted instantiation: driver.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMException.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMThread.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMIter.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMContext.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: SCRef.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Lexotic.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6bigint.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: NFA.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dump.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: NativeCall.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CPointer.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CStr.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: profile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: nfg.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: unicode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: normalize.c:MVM_string_gi_get_grapheme
latin1.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
368k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
371k
    while (1) {
115
371k
        if (gi->pos < gi->end) {
116
368k
            switch (gi->blob_type) {
117
129k
            case MVM_STRING_GRAPHEME_32:
118
129k
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
238k
            case MVM_STRING_GRAPHEME_8:
122
238k
                return gi->active_blob.blob_8[gi->pos++];
123
368k
            }
124
368k
        }
125
3.07k
        else if (gi->repetitions) {
126
25
            gi->pos = gi->start;
127
25
            gi->repetitions--;
128
25
        }
129
3.05k
        else if (gi->strands_remaining) {
130
3.05k
            MVMStringStrand *next = gi->next_strand;
131
3.05k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
3.05k
            gi->blob_type       = next->blob_string->body.storage_type;
133
3.05k
            gi->pos             = next->start;
134
3.05k
            gi->end             = next->end;
135
3.05k
            gi->start           = next->start;
136
3.05k
            gi->repetitions     = next->repetitions;
137
3.05k
            gi->strands_remaining--;
138
3.05k
            gi->next_strand++;
139
3.05k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
371k
    }
144
368k
}
utf16.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
1
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
1
    while (1) {
115
1
        if (gi->pos < gi->end) {
116
1
            switch (gi->blob_type) {
117
0
            case MVM_STRING_GRAPHEME_32:
118
0
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
1
            case MVM_STRING_GRAPHEME_8:
122
1
                return gi->active_blob.blob_8[gi->pos++];
123
1
            }
124
1
        }
125
0
        else if (gi->repetitions) {
126
0
            gi->pos = gi->start;
127
0
            gi->repetitions--;
128
0
        }
129
0
        else if (gi->strands_remaining) {
130
0
            MVMStringStrand *next = gi->next_strand;
131
0
            gi->active_blob.any = next->blob_string->body.storage.any;
132
0
            gi->blob_type       = next->blob_string->body.storage_type;
133
0
            gi->pos             = next->start;
134
0
            gi->end             = next->end;
135
0
            gi->start           = next->start;
136
0
            gi->repetitions     = next->repetitions;
137
0
            gi->strands_remaining--;
138
0
            gi->next_strand++;
139
0
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
1
    }
144
1
}
Unexecuted instantiation: windows1252.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bigintops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: instrument.c:MVM_string_gi_get_grapheme
utf8_c8.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
216k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
235k
    while (1) {
115
235k
        if (gi->pos < gi->end) {
116
216k
            switch (gi->blob_type) {
117
75.4k
            case MVM_STRING_GRAPHEME_32:
118
75.4k
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
140k
            case MVM_STRING_GRAPHEME_8:
122
140k
                return gi->active_blob.blob_8[gi->pos++];
123
216k
            }
124
216k
        }
125
19.5k
        else if (gi->repetitions) {
126
0
            gi->pos = gi->start;
127
0
            gi->repetitions--;
128
0
        }
129
19.5k
        else if (gi->strands_remaining) {
130
19.5k
            MVMStringStrand *next = gi->next_strand;
131
19.5k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
19.5k
            gi->blob_type       = next->blob_string->body.storage_type;
133
19.5k
            gi->pos             = next->start;
134
19.5k
            gi->end             = next->end;
135
19.5k
            gi->start           = next->start;
136
19.5k
            gi->repetitions     = next->repetitions;
137
19.5k
            gi->strands_remaining--;
138
19.5k
            gi->next_strand++;
139
19.5k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
235k
    }
144
216k
}
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: line_coverage.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: moar.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: mmap.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: time.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: sys.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: threshold.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: graph.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: codegen.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: candidate.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: manipulate.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: facts.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: optimize.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: deopt.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: log.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: args.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: inline.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: osr.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: lookup.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: compile.c:MVM_string_gi_get_grapheme
decode_stream.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
27
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
27
    while (1) {
115
27
        if (gi->pos < gi->end) {
116
27
            switch (gi->blob_type) {
117
0
            case MVM_STRING_GRAPHEME_32:
118
0
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
27
            case MVM_STRING_GRAPHEME_8:
122
27
                return gi->active_blob.blob_8[gi->pos++];
123
27
            }
124
27
        }
125
0
        else if (gi->repetitions) {
126
0
            gi->pos = gi->start;
127
0
            gi->repetitions--;
128
0
        }
129
0
        else if (gi->strands_remaining) {
130
0
            MVMStringStrand *next = gi->next_strand;
131
0
            gi->active_blob.any = next->blob_string->body.storage.any;
132
0
            gi->blob_type       = next->blob_string->body.storage_type;
133
0
            gi->pos             = next->start;
134
0
            gi->end             = next->end;
135
0
            gi->start           = next->start;
136
0
            gi->repetitions     = next->repetitions;
137
0
            gi->strands_remaining--;
138
0
            gi->next_strand++;
139
0
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
27
    }
144
27
}
ascii.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
39.2k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
39.4k
    while (1) {
115
39.4k
        if (gi->pos < gi->end) {
116
39.2k
            switch (gi->blob_type) {
117
35.4k
            case MVM_STRING_GRAPHEME_32:
118
35.4k
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
3.83k
            case MVM_STRING_GRAPHEME_8:
122
3.83k
                return gi->active_blob.blob_8[gi->pos++];
123
39.2k
            }
124
39.2k
        }
125
192
        else if (gi->repetitions) {
126
0
            gi->pos = gi->start;
127
0
            gi->repetitions--;
128
0
        }
129
192
        else if (gi->strands_remaining) {
130
192
            MVMStringStrand *next = gi->next_strand;
131
192
            gi->active_blob.any = next->blob_string->body.storage.any;
132
192
            gi->blob_type       = next->blob_string->body.storage_type;
133
192
            gi->pos             = next->start;
134
192
            gi->end             = next->end;
135
192
            gi->start           = next->start;
136
192
            gi->repetitions     = next->repetitions;
137
192
            gi->strands_remaining--;
138
192
            gi->next_strand++;
139
192
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
39.4k
    }
144
39.2k
}
utf8.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
1.10M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
1.10M
    while (1) {
115
1.10M
        if (gi->pos < gi->end) {
116
1.10M
            switch (gi->blob_type) {
117
1.08M
            case MVM_STRING_GRAPHEME_32:
118
1.08M
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
18.2k
            case MVM_STRING_GRAPHEME_8:
122
18.2k
                return gi->active_blob.blob_8[gi->pos++];
123
1.10M
            }
124
1.10M
        }
125
1.75k
        else if (gi->repetitions) {
126
0
            gi->pos = gi->start;
127
0
            gi->repetitions--;
128
0
        }
129
1.75k
        else if (gi->strands_remaining) {
130
1.75k
            MVMStringStrand *next = gi->next_strand;
131
1.75k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
1.75k
            gi->blob_type       = next->blob_string->body.storage_type;
133
1.75k
            gi->pos             = next->start;
134
1.75k
            gi->end             = next->end;
135
1.75k
            gi->start           = next->start;
136
1.75k
            gi->repetitions     = next->repetitions;
137
1.75k
            gi->strands_remaining--;
138
1.75k
            gi->next_strand++;
139
1.75k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
1.10M
    }
144
1.10M
}
Unexecuted instantiation: config.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dll.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ext.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: nativecall.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: continuation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: intcache.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: regionalloc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: coerce.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: orchestrate.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: allocation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: worklist.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: roots.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: collect.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: gen2.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: wb.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: objectid.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: callstack.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: callsite.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: exceptions.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: interp.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: threadcontext.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: compunit.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bytecode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: frame.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: validation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: threads.c:MVM_string_gi_get_grapheme
ops.c:MVM_string_gi_get_grapheme
Line
Count
Source
113
28.6M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
114
29.2M
    while (1) {
115
29.2M
        if (gi->pos < gi->end) {
116
28.6M
            switch (gi->blob_type) {
117
15.9M
            case MVM_STRING_GRAPHEME_32:
118
15.9M
                return gi->active_blob.blob_32[gi->pos++];
119
0
            case MVM_STRING_GRAPHEME_ASCII:
120
0
                return gi->active_blob.blob_ascii[gi->pos++];
121
12.6M
            case MVM_STRING_GRAPHEME_8:
122
12.6M
                return gi->active_blob.blob_8[gi->pos++];
123
28.6M
            }
124
28.6M
        }
125
630k
        else if (gi->repetitions) {
126
2.84k
            gi->pos = gi->start;
127
2.84k
            gi->repetitions--;
128
2.84k
        }
129
628k
        else if (gi->strands_remaining) {
130
628k
            MVMStringStrand *next = gi->next_strand;
131
628k
            gi->active_blob.any = next->blob_string->body.storage.any;
132
628k
            gi->blob_type       = next->blob_string->body.storage_type;
133
628k
            gi->pos             = next->start;
134
628k
            gi->end             = next->end;
135
628k
            gi->start           = next->start;
136
628k
            gi->repetitions     = next->repetitions;
137
628k
            gi->strands_remaining--;
138
628k
            gi->next_strand++;
139
628k
        }
140
0
        else {
141
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
142
0
        }
143
29.2M
    }
144
28.6M
}
Unexecuted instantiation: hll.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: num.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6str.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: containers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: parametric.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMString.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: VMArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMHash.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: debug.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6opaque.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6int.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6num.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: finalize.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: reprs.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: reprconv.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: io.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: eventloop.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncfile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncstream.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncpipe.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncsocket.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: fileops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dirops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: procops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: timers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: filewatchers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: signals.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_get_grapheme
145
146
/* Code point iterator. Uses the grapheme iterator, and adds some extra bits
147
 * in order to iterate the code points in synthetics. */
148
struct MVMCodepointIter {
149
    /* The grapheme iterator. */
150
    MVMGraphemeIter gi;
151
152
    /* The codes of the current synthetic we're walking through, if any, with
153
     * the number of combiners we returned so far, and the total number of
154
     * combiners there are. */
155
    MVMCodepoint  *synth_codes;
156
    MVMint32       visited_synth_codes;
157
    MVMint32       total_synth_codes;
158
159
    /* If we should translate newline \n into \r\n. */
160
    MVMint32       translate_newlines;
161
};
162
163
/* Initializes a code point iterator. */
164
MVM_STATIC_INLINE void MVM_string_ci_init(MVMThreadContext *tc, MVMCodepointIter *ci, MVMString *s,
165
50.4k
        MVMint32 translate_newlines) {
166
50.4k
    /* Initialize our underlying grapheme iterator. */
167
50.4k
    MVM_string_gi_init(tc, &(ci->gi), s);
168
50.4k
169
50.4k
    /* We've no currently active synthetic codepoint (and other fields are
170
50.4k
     * unused until we do, so leave them alone for now). */
171
50.4k
    ci->synth_codes = NULL;
172
50.4k
    ci->translate_newlines = translate_newlines;
173
50.4k
};
Unexecuted instantiation: CUnion.c:MVM_string_ci_init
Unexecuted instantiation: ReentrantMutex.c:MVM_string_ci_init
Unexecuted instantiation: ConditionVariable.c:MVM_string_ci_init
Unexecuted instantiation: Semaphore.c:MVM_string_ci_init
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_ci_init
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_ci_init
Unexecuted instantiation: MVMNull.c:MVM_string_ci_init
Unexecuted instantiation: CPPStruct.c:MVM_string_ci_init
Unexecuted instantiation: NativeRef.c:MVM_string_ci_init
Unexecuted instantiation: MultiDimArray.c:MVM_string_ci_init
Unexecuted instantiation: Decoder.c:MVM_string_ci_init
Unexecuted instantiation: 6model.c:MVM_string_ci_init
Unexecuted instantiation: bootstrap.c:MVM_string_ci_init
Unexecuted instantiation: sc.c:MVM_string_ci_init
Unexecuted instantiation: serialization.c:MVM_string_ci_init
Unexecuted instantiation: compiler.c:MVM_string_ci_init
Unexecuted instantiation: driver.c:MVM_string_ci_init
Unexecuted instantiation: MVMException.c:MVM_string_ci_init
Unexecuted instantiation: MVMThread.c:MVM_string_ci_init
Unexecuted instantiation: MVMIter.c:MVM_string_ci_init
Unexecuted instantiation: MVMContext.c:MVM_string_ci_init
Unexecuted instantiation: SCRef.c:MVM_string_ci_init
Unexecuted instantiation: Lexotic.c:MVM_string_ci_init
Unexecuted instantiation: MVMCallCapture.c:MVM_string_ci_init
Unexecuted instantiation: P6bigint.c:MVM_string_ci_init
Unexecuted instantiation: NFA.c:MVM_string_ci_init
Unexecuted instantiation: CStruct.c:MVM_string_ci_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_ci_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_ci_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_init
Unexecuted instantiation: NativeCall.c:MVM_string_ci_init
Unexecuted instantiation: CPointer.c:MVM_string_ci_init
Unexecuted instantiation: CStr.c:MVM_string_ci_init
Unexecuted instantiation: CArray.c:MVM_string_ci_init
Unexecuted instantiation: profile.c:MVM_string_ci_init
Unexecuted instantiation: nfg.c:MVM_string_ci_init
Unexecuted instantiation: unicode.c:MVM_string_ci_init
Unexecuted instantiation: normalize.c:MVM_string_ci_init
latin1.c:MVM_string_ci_init
Line
Count
Source
165
32.4k
        MVMint32 translate_newlines) {
166
32.4k
    /* Initialize our underlying grapheme iterator. */
167
32.4k
    MVM_string_gi_init(tc, &(ci->gi), s);
168
32.4k
169
32.4k
    /* We've no currently active synthetic codepoint (and other fields are
170
32.4k
     * unused until we do, so leave them alone for now). */
171
32.4k
    ci->synth_codes = NULL;
172
32.4k
    ci->translate_newlines = translate_newlines;
173
32.4k
};
utf16.c:MVM_string_ci_init
Line
Count
Source
165
1
        MVMint32 translate_newlines) {
166
1
    /* Initialize our underlying grapheme iterator. */
167
1
    MVM_string_gi_init(tc, &(ci->gi), s);
168
1
169
1
    /* We've no currently active synthetic codepoint (and other fields are
170
1
     * unused until we do, so leave them alone for now). */
171
1
    ci->synth_codes = NULL;
172
1
    ci->translate_newlines = translate_newlines;
173
1
};
Unexecuted instantiation: windows1252.c:MVM_string_ci_init
Unexecuted instantiation: bigintops.c:MVM_string_ci_init
Unexecuted instantiation: instrument.c:MVM_string_ci_init
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_ci_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_ci_init
Unexecuted instantiation: line_coverage.c:MVM_string_ci_init
Unexecuted instantiation: moar.c:MVM_string_ci_init
Unexecuted instantiation: mmap.c:MVM_string_ci_init
Unexecuted instantiation: time.c:MVM_string_ci_init
Unexecuted instantiation: sys.c:MVM_string_ci_init
Unexecuted instantiation: emit_posix_x64.c:MVM_string_ci_init
Unexecuted instantiation: threshold.c:MVM_string_ci_init
Unexecuted instantiation: graph.c:MVM_string_ci_init
Unexecuted instantiation: codegen.c:MVM_string_ci_init
Unexecuted instantiation: candidate.c:MVM_string_ci_init
Unexecuted instantiation: manipulate.c:MVM_string_ci_init
Unexecuted instantiation: facts.c:MVM_string_ci_init
Unexecuted instantiation: optimize.c:MVM_string_ci_init
Unexecuted instantiation: deopt.c:MVM_string_ci_init
Unexecuted instantiation: log.c:MVM_string_ci_init
Unexecuted instantiation: dump.c:MVM_string_ci_init
Unexecuted instantiation: inline.c:MVM_string_ci_init
Unexecuted instantiation: osr.c:MVM_string_ci_init
Unexecuted instantiation: lookup.c:MVM_string_ci_init
Unexecuted instantiation: compile.c:MVM_string_ci_init
Unexecuted instantiation: decode_stream.c:MVM_string_ci_init
ascii.c:MVM_string_ci_init
Line
Count
Source
165
4.37k
        MVMint32 translate_newlines) {
166
4.37k
    /* Initialize our underlying grapheme iterator. */
167
4.37k
    MVM_string_gi_init(tc, &(ci->gi), s);
168
4.37k
169
4.37k
    /* We've no currently active synthetic codepoint (and other fields are
170
4.37k
     * unused until we do, so leave them alone for now). */
171
4.37k
    ci->synth_codes = NULL;
172
4.37k
    ci->translate_newlines = translate_newlines;
173
4.37k
};
utf8.c:MVM_string_ci_init
Line
Count
Source
165
13.6k
        MVMint32 translate_newlines) {
166
13.6k
    /* Initialize our underlying grapheme iterator. */
167
13.6k
    MVM_string_gi_init(tc, &(ci->gi), s);
168
13.6k
169
13.6k
    /* We've no currently active synthetic codepoint (and other fields are
170
13.6k
     * unused until we do, so leave them alone for now). */
171
13.6k
    ci->synth_codes = NULL;
172
13.6k
    ci->translate_newlines = translate_newlines;
173
13.6k
};
Unexecuted instantiation: config.c:MVM_string_ci_init
Unexecuted instantiation: dll.c:MVM_string_ci_init
Unexecuted instantiation: ext.c:MVM_string_ci_init
Unexecuted instantiation: nativecall.c:MVM_string_ci_init
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_ci_init
Unexecuted instantiation: continuation.c:MVM_string_ci_init
Unexecuted instantiation: intcache.c:MVM_string_ci_init
Unexecuted instantiation: fixedsizealloc.c:MVM_string_ci_init
Unexecuted instantiation: regionalloc.c:MVM_string_ci_init
Unexecuted instantiation: coerce.c:MVM_string_ci_init
Unexecuted instantiation: orchestrate.c:MVM_string_ci_init
Unexecuted instantiation: allocation.c:MVM_string_ci_init
Unexecuted instantiation: worklist.c:MVM_string_ci_init
Unexecuted instantiation: roots.c:MVM_string_ci_init
Unexecuted instantiation: collect.c:MVM_string_ci_init
Unexecuted instantiation: gen2.c:MVM_string_ci_init
Unexecuted instantiation: wb.c:MVM_string_ci_init
Unexecuted instantiation: objectid.c:MVM_string_ci_init
Unexecuted instantiation: frame.c:MVM_string_ci_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_ci_init
Unexecuted instantiation: callsite.c:MVM_string_ci_init
Unexecuted instantiation: args.c:MVM_string_ci_init
Unexecuted instantiation: exceptions.c:MVM_string_ci_init
Unexecuted instantiation: interp.c:MVM_string_ci_init
Unexecuted instantiation: threadcontext.c:MVM_string_ci_init
Unexecuted instantiation: compunit.c:MVM_string_ci_init
Unexecuted instantiation: bytecode.c:MVM_string_ci_init
Unexecuted instantiation: Uninstantiable.c:MVM_string_ci_init
Unexecuted instantiation: callstack.c:MVM_string_ci_init
Unexecuted instantiation: validation.c:MVM_string_ci_init
Unexecuted instantiation: bytecodedump.c:MVM_string_ci_init
Unexecuted instantiation: threads.c:MVM_string_ci_init
ops.c:MVM_string_ci_init
Line
Count
Source
165
40
        MVMint32 translate_newlines) {
166
40
    /* Initialize our underlying grapheme iterator. */
167
40
    MVM_string_gi_init(tc, &(ci->gi), s);
168
40
169
40
    /* We've no currently active synthetic codepoint (and other fields are
170
40
     * unused until we do, so leave them alone for now). */
171
40
    ci->synth_codes = NULL;
172
40
    ci->translate_newlines = translate_newlines;
173
40
};
Unexecuted instantiation: hll.c:MVM_string_ci_init
Unexecuted instantiation: loadbytecode.c:MVM_string_ci_init
Unexecuted instantiation: num.c:MVM_string_ci_init
Unexecuted instantiation: P6str.c:MVM_string_ci_init
Unexecuted instantiation: containers.c:MVM_string_ci_init
Unexecuted instantiation: parametric.c:MVM_string_ci_init
Unexecuted instantiation: MVMString.c:MVM_string_ci_init
Unexecuted instantiation: VMArray.c:MVM_string_ci_init
Unexecuted instantiation: MVMHash.c:MVM_string_ci_init
Unexecuted instantiation: MVMCFunction.c:MVM_string_ci_init
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_ci_init
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_ci_init
Unexecuted instantiation: debug.c:MVM_string_ci_init
Unexecuted instantiation: P6opaque.c:MVM_string_ci_init
Unexecuted instantiation: MVMCode.c:MVM_string_ci_init
Unexecuted instantiation: MVMOSHandle.c:MVM_string_ci_init
Unexecuted instantiation: MVMCompUnit.c:MVM_string_ci_init
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_ci_init
Unexecuted instantiation: P6int.c:MVM_string_ci_init
Unexecuted instantiation: P6num.c:MVM_string_ci_init
Unexecuted instantiation: finalize.c:MVM_string_ci_init
Unexecuted instantiation: reprs.c:MVM_string_ci_init
Unexecuted instantiation: reprconv.c:MVM_string_ci_init
Unexecuted instantiation: io.c:MVM_string_ci_init
Unexecuted instantiation: eventloop.c:MVM_string_ci_init
Unexecuted instantiation: syncfile.c:MVM_string_ci_init
Unexecuted instantiation: syncstream.c:MVM_string_ci_init
Unexecuted instantiation: syncpipe.c:MVM_string_ci_init
Unexecuted instantiation: syncsocket.c:MVM_string_ci_init
Unexecuted instantiation: fileops.c:MVM_string_ci_init
Unexecuted instantiation: procops.c:MVM_string_ci_init
Unexecuted instantiation: timers.c:MVM_string_ci_init
Unexecuted instantiation: filewatchers.c:MVM_string_ci_init
Unexecuted instantiation: signals.c:MVM_string_ci_init
Unexecuted instantiation: asyncsocket.c:MVM_string_ci_init
Unexecuted instantiation: asyncsocketudp.c:MVM_string_ci_init
Unexecuted instantiation: dirops.c:MVM_string_ci_init
174
175
/* Checks if there is more to read from a code point iterator; this is the
176
 * case if we're still walking through a synthetic or we have more things
177
 * available from the underlying grapheme iterator. */
178
1.56M
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
1.56M
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
1.56M
}
Unexecuted instantiation: reprs.c:MVM_string_ci_has_more
Unexecuted instantiation: asyncsocketudp.c:MVM_string_ci_has_more
Unexecuted instantiation: asyncsocket.c:MVM_string_ci_has_more
Unexecuted instantiation: signals.c:MVM_string_ci_has_more
Unexecuted instantiation: filewatchers.c:MVM_string_ci_has_more
Unexecuted instantiation: timers.c:MVM_string_ci_has_more
Unexecuted instantiation: procops.c:MVM_string_ci_has_more
Unexecuted instantiation: dirops.c:MVM_string_ci_has_more
Unexecuted instantiation: fileops.c:MVM_string_ci_has_more
Unexecuted instantiation: syncsocket.c:MVM_string_ci_has_more
Unexecuted instantiation: syncpipe.c:MVM_string_ci_has_more
Unexecuted instantiation: syncstream.c:MVM_string_ci_has_more
Unexecuted instantiation: syncfile.c:MVM_string_ci_has_more
Unexecuted instantiation: eventloop.c:MVM_string_ci_has_more
Unexecuted instantiation: io.c:MVM_string_ci_has_more
Unexecuted instantiation: debug.c:MVM_string_ci_has_more
Unexecuted instantiation: finalize.c:MVM_string_ci_has_more
Unexecuted instantiation: P6str.c:MVM_string_ci_has_more
Unexecuted instantiation: Uninstantiable.c:MVM_string_ci_has_more
Unexecuted instantiation: P6num.c:MVM_string_ci_has_more
Unexecuted instantiation: P6int.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCompUnit.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMOSHandle.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCode.c:MVM_string_ci_has_more
Unexecuted instantiation: P6opaque.c:MVM_string_ci_has_more
Unexecuted instantiation: reprconv.c:MVM_string_ci_has_more
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_ci_has_more
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCFunction.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMHash.c:MVM_string_ci_has_more
Unexecuted instantiation: VMArray.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMString.c:MVM_string_ci_has_more
Unexecuted instantiation: parametric.c:MVM_string_ci_has_more
Unexecuted instantiation: containers.c:MVM_string_ci_has_more
Unexecuted instantiation: frame.c:MVM_string_ci_has_more
Unexecuted instantiation: num.c:MVM_string_ci_has_more
Unexecuted instantiation: loadbytecode.c:MVM_string_ci_has_more
Unexecuted instantiation: hll.c:MVM_string_ci_has_more
ops.c:MVM_string_ci_has_more
Line
Count
Source
178
274
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
274
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
274
}
Unexecuted instantiation: threads.c:MVM_string_ci_has_more
Unexecuted instantiation: bytecodedump.c:MVM_string_ci_has_more
Unexecuted instantiation: validation.c:MVM_string_ci_has_more
Unexecuted instantiation: callstack.c:MVM_string_ci_has_more
Unexecuted instantiation: coerce.c:MVM_string_ci_has_more
Unexecuted instantiation: bytecode.c:MVM_string_ci_has_more
Unexecuted instantiation: compunit.c:MVM_string_ci_has_more
Unexecuted instantiation: threadcontext.c:MVM_string_ci_has_more
Unexecuted instantiation: interp.c:MVM_string_ci_has_more
Unexecuted instantiation: exceptions.c:MVM_string_ci_has_more
Unexecuted instantiation: args.c:MVM_string_ci_has_more
Unexecuted instantiation: emit_posix_x64.c:MVM_string_ci_has_more
Unexecuted instantiation: callsite.c:MVM_string_ci_has_more
Unexecuted instantiation: regionalloc.c:MVM_string_ci_has_more
Unexecuted instantiation: wb.c:MVM_string_ci_has_more
Unexecuted instantiation: gen2.c:MVM_string_ci_has_more
Unexecuted instantiation: collect.c:MVM_string_ci_has_more
Unexecuted instantiation: roots.c:MVM_string_ci_has_more
Unexecuted instantiation: worklist.c:MVM_string_ci_has_more
Unexecuted instantiation: allocation.c:MVM_string_ci_has_more
Unexecuted instantiation: orchestrate.c:MVM_string_ci_has_more
Unexecuted instantiation: config.c:MVM_string_ci_has_more
Unexecuted instantiation: objectid.c:MVM_string_ci_has_more
Unexecuted instantiation: fixedsizealloc.c:MVM_string_ci_has_more
Unexecuted instantiation: intcache.c:MVM_string_ci_has_more
Unexecuted instantiation: continuation.c:MVM_string_ci_has_more
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_ci_has_more
Unexecuted instantiation: nativecall.c:MVM_string_ci_has_more
Unexecuted instantiation: ext.c:MVM_string_ci_has_more
Unexecuted instantiation: dll.c:MVM_string_ci_has_more
Unexecuted instantiation: log.c:MVM_string_ci_has_more
utf8.c:MVM_string_ci_has_more
Line
Count
Source
178
1.12M
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
1.12M
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
1.12M
}
ascii.c:MVM_string_ci_has_more
Line
Count
Source
178
43.6k
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
43.6k
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
43.6k
}
Unexecuted instantiation: decode_stream.c:MVM_string_ci_has_more
Unexecuted instantiation: compile.c:MVM_string_ci_has_more
Unexecuted instantiation: lookup.c:MVM_string_ci_has_more
Unexecuted instantiation: osr.c:MVM_string_ci_has_more
Unexecuted instantiation: inline.c:MVM_string_ci_has_more
Unexecuted instantiation: threshold.c:MVM_string_ci_has_more
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_has_more
Unexecuted instantiation: deopt.c:MVM_string_ci_has_more
Unexecuted instantiation: optimize.c:MVM_string_ci_has_more
Unexecuted instantiation: facts.c:MVM_string_ci_has_more
Unexecuted instantiation: manipulate.c:MVM_string_ci_has_more
Unexecuted instantiation: candidate.c:MVM_string_ci_has_more
Unexecuted instantiation: codegen.c:MVM_string_ci_has_more
Unexecuted instantiation: graph.c:MVM_string_ci_has_more
Unexecuted instantiation: dump.c:MVM_string_ci_has_more
Unexecuted instantiation: instrument.c:MVM_string_ci_has_more
Unexecuted instantiation: sys.c:MVM_string_ci_has_more
Unexecuted instantiation: time.c:MVM_string_ci_has_more
Unexecuted instantiation: mmap.c:MVM_string_ci_has_more
Unexecuted instantiation: moar.c:MVM_string_ci_has_more
Unexecuted instantiation: line_coverage.c:MVM_string_ci_has_more
Unexecuted instantiation: crossthreadwrite.c:MVM_string_ci_has_more
Unexecuted instantiation: heapsnapshot.c:MVM_string_ci_has_more
Unexecuted instantiation: profile.c:MVM_string_ci_has_more
Unexecuted instantiation: driver.c:MVM_string_ci_has_more
Unexecuted instantiation: bigintops.c:MVM_string_ci_has_more
Unexecuted instantiation: windows1252.c:MVM_string_ci_has_more
utf16.c:MVM_string_ci_has_more
Line
Count
Source
178
2
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
2
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
2
}
latin1.c:MVM_string_ci_has_more
Line
Count
Source
178
400k
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
179
400k
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
180
400k
}
Unexecuted instantiation: normalize.c:MVM_string_ci_has_more
Unexecuted instantiation: unicode.c:MVM_string_ci_has_more
Unexecuted instantiation: nfg.c:MVM_string_ci_has_more
Unexecuted instantiation: NFA.c:MVM_string_ci_has_more
Unexecuted instantiation: CArray.c:MVM_string_ci_has_more
Unexecuted instantiation: CStr.c:MVM_string_ci_has_more
Unexecuted instantiation: CPointer.c:MVM_string_ci_has_more
Unexecuted instantiation: NativeCall.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMMultiCache.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMDLLSym.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMException.c:MVM_string_ci_has_more
Unexecuted instantiation: CStruct.c:MVM_string_ci_has_more
Unexecuted instantiation: P6bigint.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCallCapture.c:MVM_string_ci_has_more
Unexecuted instantiation: Lexotic.c:MVM_string_ci_has_more
Unexecuted instantiation: SCRef.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMContext.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMIter.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMThread.c:MVM_string_ci_has_more
Unexecuted instantiation: CPPStruct.c:MVM_string_ci_has_more
Unexecuted instantiation: compiler.c:MVM_string_ci_has_more
Unexecuted instantiation: serialization.c:MVM_string_ci_has_more
Unexecuted instantiation: sc.c:MVM_string_ci_has_more
Unexecuted instantiation: bootstrap.c:MVM_string_ci_has_more
Unexecuted instantiation: 6model.c:MVM_string_ci_has_more
Unexecuted instantiation: Decoder.c:MVM_string_ci_has_more
Unexecuted instantiation: MultiDimArray.c:MVM_string_ci_has_more
Unexecuted instantiation: NativeRef.c:MVM_string_ci_has_more
Unexecuted instantiation: HashAttrStore.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMNull.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_ci_has_more
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_ci_has_more
Unexecuted instantiation: Semaphore.c:MVM_string_ci_has_more
Unexecuted instantiation: ConditionVariable.c:MVM_string_ci_has_more
Unexecuted instantiation: ReentrantMutex.c:MVM_string_ci_has_more
Unexecuted instantiation: CUnion.c:MVM_string_ci_has_more
181
182
/* Gets the next code point. */
183
1.51M
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
1.51M
    MVMCodepoint result;
185
1.51M
186
1.51M
    /* Do we have combiners from a synthetic to return? */
187
1.51M
    if (ci->synth_codes) {
188
14
        /* Take the current combiner as the result. */
189
14
        result = ci->synth_codes[ci->visited_synth_codes];
190
14
191
14
        /* If we've seen all of the synthetics, clear up so we'll take another
192
14
         * grapheme next time around. */
193
14
        ci->visited_synth_codes++;
194
14
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
14
            ci->synth_codes = NULL;
196
14
    }
197
1.51M
198
1.51M
    /* Otherwise, proceed to the next grapheme. */
199
1.51M
    else {
200
1.51M
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
1.51M
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
1.51M
        if (g >= 0) {
204
1.51M
            /* It's not a synthetic, so we're done. */
205
1.51M
            result = (MVMCodepoint)g;
206
1.51M
        }
207
14
        else {
208
14
            /* It's a synthetic. Look it up. */
209
14
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
14
211
14
            /* Set up the iterator so in the next iteration we will start to
212
14
            * hand back combiners. */
213
14
            ci->synth_codes         = synth->combs;
214
14
            ci->visited_synth_codes = 0;
215
14
            ci->total_synth_codes   = synth->num_combs;
216
14
217
14
            /* Result is the base character of the grapheme. */
218
14
            result = synth->base;
219
14
        }
220
1.51M
    }
221
1.51M
222
1.51M
    return result;
223
1.51M
}
Unexecuted instantiation: dirops.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: reprconv.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: reprs.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: asyncsocketudp.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: asyncsocket.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: signals.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: filewatchers.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: timers.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: procops.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: containers.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: fileops.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: syncsocket.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: syncpipe.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: syncstream.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: syncfile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: eventloop.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: io.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: debug.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: P6str.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: Uninstantiable.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: P6num.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: P6int.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMCompUnit.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMOSHandle.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMCode.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: P6opaque.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: finalize.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMCFunction.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMHash.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: VMArray.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMString.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: parametric.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: callstack.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: coerce.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: num.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: loadbytecode.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: hll.c:MVM_string_ci_get_codepoint
ops.c:MVM_string_ci_get_codepoint
Line
Count
Source
183
234
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
234
    MVMCodepoint result;
185
234
186
234
    /* Do we have combiners from a synthetic to return? */
187
234
    if (ci->synth_codes) {
188
0
        /* Take the current combiner as the result. */
189
0
        result = ci->synth_codes[ci->visited_synth_codes];
190
0
191
0
        /* If we've seen all of the synthetics, clear up so we'll take another
192
0
         * grapheme next time around. */
193
0
        ci->visited_synth_codes++;
194
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
0
            ci->synth_codes = NULL;
196
0
    }
197
234
198
234
    /* Otherwise, proceed to the next grapheme. */
199
234
    else {
200
234
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
234
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
234
        if (g >= 0) {
204
234
            /* It's not a synthetic, so we're done. */
205
234
            result = (MVMCodepoint)g;
206
234
        }
207
0
        else {
208
0
            /* It's a synthetic. Look it up. */
209
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
0
211
0
            /* Set up the iterator so in the next iteration we will start to
212
0
            * hand back combiners. */
213
0
            ci->synth_codes         = synth->combs;
214
0
            ci->visited_synth_codes = 0;
215
0
            ci->total_synth_codes   = synth->num_combs;
216
0
217
0
            /* Result is the base character of the grapheme. */
218
0
            result = synth->base;
219
0
        }
220
234
    }
221
234
222
234
    return result;
223
234
}
Unexecuted instantiation: threads.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: bytecodedump.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: validation.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: dll.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: frame.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: bytecode.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: compunit.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: threadcontext.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: interp.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: exceptions.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: args.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: callsite.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: config.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: objectid.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: wb.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: gen2.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: collect.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: roots.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: worklist.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: allocation.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: orchestrate.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: HashAttrStore.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: regionalloc.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: fixedsizealloc.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: intcache.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: continuation.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: nativecall.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: ext.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: log.c:MVM_string_ci_get_codepoint
utf8.c:MVM_string_ci_get_codepoint
Line
Count
Source
183
1.10M
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
1.10M
    MVMCodepoint result;
185
1.10M
186
1.10M
    /* Do we have combiners from a synthetic to return? */
187
1.10M
    if (ci->synth_codes) {
188
14
        /* Take the current combiner as the result. */
189
14
        result = ci->synth_codes[ci->visited_synth_codes];
190
14
191
14
        /* If we've seen all of the synthetics, clear up so we'll take another
192
14
         * grapheme next time around. */
193
14
        ci->visited_synth_codes++;
194
14
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
14
            ci->synth_codes = NULL;
196
14
    }
197
1.10M
198
1.10M
    /* Otherwise, proceed to the next grapheme. */
199
1.10M
    else {
200
1.10M
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
1.10M
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
1.10M
        if (g >= 0) {
204
1.10M
            /* It's not a synthetic, so we're done. */
205
1.10M
            result = (MVMCodepoint)g;
206
1.10M
        }
207
14
        else {
208
14
            /* It's a synthetic. Look it up. */
209
14
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
14
211
14
            /* Set up the iterator so in the next iteration we will start to
212
14
            * hand back combiners. */
213
14
            ci->synth_codes         = synth->combs;
214
14
            ci->visited_synth_codes = 0;
215
14
            ci->total_synth_codes   = synth->num_combs;
216
14
217
14
            /* Result is the base character of the grapheme. */
218
14
            result = synth->base;
219
14
        }
220
1.10M
    }
221
1.10M
222
1.10M
    return result;
223
1.10M
}
ascii.c:MVM_string_ci_get_codepoint
Line
Count
Source
183
39.2k
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
39.2k
    MVMCodepoint result;
185
39.2k
186
39.2k
    /* Do we have combiners from a synthetic to return? */
187
39.2k
    if (ci->synth_codes) {
188
0
        /* Take the current combiner as the result. */
189
0
        result = ci->synth_codes[ci->visited_synth_codes];
190
0
191
0
        /* If we've seen all of the synthetics, clear up so we'll take another
192
0
         * grapheme next time around. */
193
0
        ci->visited_synth_codes++;
194
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
0
            ci->synth_codes = NULL;
196
0
    }
197
39.2k
198
39.2k
    /* Otherwise, proceed to the next grapheme. */
199
39.2k
    else {
200
39.2k
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
39.2k
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
39.2k
        if (g >= 0) {
204
39.2k
            /* It's not a synthetic, so we're done. */
205
39.2k
            result = (MVMCodepoint)g;
206
39.2k
        }
207
0
        else {
208
0
            /* It's a synthetic. Look it up. */
209
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
0
211
0
            /* Set up the iterator so in the next iteration we will start to
212
0
            * hand back combiners. */
213
0
            ci->synth_codes         = synth->combs;
214
0
            ci->visited_synth_codes = 0;
215
0
            ci->total_synth_codes   = synth->num_combs;
216
0
217
0
            /* Result is the base character of the grapheme. */
218
0
            result = synth->base;
219
0
        }
220
39.2k
    }
221
39.2k
222
39.2k
    return result;
223
39.2k
}
Unexecuted instantiation: decode_stream.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: compile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: lookup.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: osr.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: inline.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: threshold.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: deopt.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: optimize.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: facts.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: manipulate.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: candidate.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: codegen.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: graph.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: dump.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: instrument.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: sys.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: time.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: mmap.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: moar.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: line_coverage.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: crossthreadwrite.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: heapsnapshot.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: profile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: driver.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: bigintops.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: windows1252.c:MVM_string_ci_get_codepoint
utf16.c:MVM_string_ci_get_codepoint
Line
Count
Source
183
1
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
1
    MVMCodepoint result;
185
1
186
1
    /* Do we have combiners from a synthetic to return? */
187
1
    if (ci->synth_codes) {
188
0
        /* Take the current combiner as the result. */
189
0
        result = ci->synth_codes[ci->visited_synth_codes];
190
0
191
0
        /* If we've seen all of the synthetics, clear up so we'll take another
192
0
         * grapheme next time around. */
193
0
        ci->visited_synth_codes++;
194
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
0
            ci->synth_codes = NULL;
196
0
    }
197
1
198
1
    /* Otherwise, proceed to the next grapheme. */
199
1
    else {
200
1
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
1
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
1
        if (g >= 0) {
204
1
            /* It's not a synthetic, so we're done. */
205
1
            result = (MVMCodepoint)g;
206
1
        }
207
0
        else {
208
0
            /* It's a synthetic. Look it up. */
209
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
0
211
0
            /* Set up the iterator so in the next iteration we will start to
212
0
            * hand back combiners. */
213
0
            ci->synth_codes         = synth->combs;
214
0
            ci->visited_synth_codes = 0;
215
0
            ci->total_synth_codes   = synth->num_combs;
216
0
217
0
            /* Result is the base character of the grapheme. */
218
0
            result = synth->base;
219
0
        }
220
1
    }
221
1
222
1
    return result;
223
1
}
latin1.c:MVM_string_ci_get_codepoint
Line
Count
Source
183
368k
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
184
368k
    MVMCodepoint result;
185
368k
186
368k
    /* Do we have combiners from a synthetic to return? */
187
368k
    if (ci->synth_codes) {
188
0
        /* Take the current combiner as the result. */
189
0
        result = ci->synth_codes[ci->visited_synth_codes];
190
0
191
0
        /* If we've seen all of the synthetics, clear up so we'll take another
192
0
         * grapheme next time around. */
193
0
        ci->visited_synth_codes++;
194
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
195
0
            ci->synth_codes = NULL;
196
0
    }
197
368k
198
368k
    /* Otherwise, proceed to the next grapheme. */
199
368k
    else {
200
368k
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
201
368k
        if (ci->translate_newlines && g == '\n')
202
0
            g = MVM_nfg_crlf_grapheme(tc);
203
368k
        if (g >= 0) {
204
368k
            /* It's not a synthetic, so we're done. */
205
368k
            result = (MVMCodepoint)g;
206
368k
        }
207
0
        else {
208
0
            /* It's a synthetic. Look it up. */
209
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
210
0
211
0
            /* Set up the iterator so in the next iteration we will start to
212
0
            * hand back combiners. */
213
0
            ci->synth_codes         = synth->combs;
214
0
            ci->visited_synth_codes = 0;
215
0
            ci->total_synth_codes   = synth->num_combs;
216
0
217
0
            /* Result is the base character of the grapheme. */
218
0
            result = synth->base;
219
0
        }
220
368k
    }
221
368k
222
368k
    return result;
223
368k
}
Unexecuted instantiation: normalize.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: unicode.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: nfg.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: NFA.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CArray.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CStr.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CPointer.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: NativeCall.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMMultiCache.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMDLLSym.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMException.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CStruct.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: P6bigint.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMCallCapture.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: Lexotic.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: SCRef.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMContext.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMIter.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMThread.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CPPStruct.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: compiler.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: serialization.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: sc.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: bootstrap.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: 6model.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: Decoder.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MultiDimArray.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: NativeRef.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: emit_posix_x64.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMNull.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: Semaphore.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: ConditionVariable.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: ReentrantMutex.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: CUnion.c:MVM_string_ci_get_codepoint