Coverage Report

Created: 2018-07-03 15:31

/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
7.56M
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
7.56M
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
4.53M
        MVMStringStrand *strands = s->body.storage.strands;
34
4.53M
        MVMString       *first   = strands[0].blob_string;
35
4.53M
        gi->active_blob.any      = first->body.storage.any;
36
4.53M
        gi->blob_type            = first->body.storage_type;
37
4.53M
        gi->strands_remaining    = s->body.num_strands - 1;
38
4.53M
        gi->pos = gi->start      = strands[0].start;
39
4.53M
        gi->end                  = strands[0].end;
40
4.53M
        gi->repetitions          = strands[0].repetitions;
41
4.53M
        gi->next_strand          = strands + 1;
42
4.53M
    }
43
3.02M
    else {
44
3.02M
        gi->active_blob.any   = s->body.storage.any;
45
3.02M
        gi->blob_type         = s->body.storage_type;
46
3.02M
        gi->end               = s->body.num_graphs;
47
3.02M
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
3.02M
    }
49
7.56M
};
Unexecuted instantiation: manipulate.c:MVM_string_gi_init
Unexecuted instantiation: bootstrap.c:MVM_string_gi_init
Unexecuted instantiation: sc.c:MVM_string_gi_init
Unexecuted instantiation: serialization.c:MVM_string_gi_init
compiler.c:MVM_string_gi_init
Line
Count
Source
31
34.0k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
34.0k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
10.1k
        MVMStringStrand *strands = s->body.storage.strands;
34
10.1k
        MVMString       *first   = strands[0].blob_string;
35
10.1k
        gi->active_blob.any      = first->body.storage.any;
36
10.1k
        gi->blob_type            = first->body.storage_type;
37
10.1k
        gi->strands_remaining    = s->body.num_strands - 1;
38
10.1k
        gi->pos = gi->start      = strands[0].start;
39
10.1k
        gi->end                  = strands[0].end;
40
10.1k
        gi->repetitions          = strands[0].repetitions;
41
10.1k
        gi->next_strand          = strands + 1;
42
10.1k
    }
43
23.9k
    else {
44
23.9k
        gi->active_blob.any   = s->body.storage.any;
45
23.9k
        gi->blob_type         = s->body.storage_type;
46
23.9k
        gi->end               = s->body.num_graphs;
47
23.9k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
23.9k
    }
49
34.0k
};
Unexecuted instantiation: driver.c:MVM_string_gi_init
Unexecuted instantiation: dump.c:MVM_string_gi_init
Unexecuted instantiation: graph.c:MVM_string_gi_init
Unexecuted instantiation: codegen.c:MVM_string_gi_init
Unexecuted instantiation: candidate.c:MVM_string_gi_init
Unexecuted instantiation: 6model.c:MVM_string_gi_init
Unexecuted instantiation: facts.c:MVM_string_gi_init
Unexecuted instantiation: optimize.c:MVM_string_gi_init
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_init
Unexecuted instantiation: deopt.c:MVM_string_gi_init
Unexecuted instantiation: log.c:MVM_string_gi_init
Unexecuted instantiation: threshold.c:MVM_string_gi_init
Unexecuted instantiation: inline.c:MVM_string_gi_init
Unexecuted instantiation: osr.c:MVM_string_gi_init
Unexecuted instantiation: lookup.c:MVM_string_gi_init
Unexecuted instantiation: Semaphore.c:MVM_string_gi_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_init
Unexecuted instantiation: NativeCall.c:MVM_string_gi_init
Unexecuted instantiation: CPointer.c:MVM_string_gi_init
Unexecuted instantiation: CStr.c:MVM_string_gi_init
Unexecuted instantiation: CArray.c:MVM_string_gi_init
Unexecuted instantiation: CStruct.c:MVM_string_gi_init
Unexecuted instantiation: CUnion.c:MVM_string_gi_init
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_init
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_init
Unexecuted instantiation: iterator.c:MVM_string_gi_init
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_init
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_init
Unexecuted instantiation: MVMNull.c:MVM_string_gi_init
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_init
Unexecuted instantiation: NativeRef.c:MVM_string_gi_init
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_init
Unexecuted instantiation: Decoder.c:MVM_string_gi_init
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_init
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_init
Unexecuted instantiation: mmap.c:MVM_string_gi_init
Unexecuted instantiation: profile.c:MVM_string_gi_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_init
Unexecuted instantiation: telemeh.c:MVM_string_gi_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_init
Unexecuted instantiation: line_coverage.c:MVM_string_gi_init
Unexecuted instantiation: sys.c:MVM_string_gi_init
Unexecuted instantiation: random.c:MVM_string_gi_init
Unexecuted instantiation: memmem32.c:MVM_string_gi_init
Unexecuted instantiation: moar.c:MVM_string_gi_init
Unexecuted instantiation: instrument.c:MVM_string_gi_init
Unexecuted instantiation: time.c:MVM_string_gi_init
Unexecuted instantiation: label.c:MVM_string_gi_init
Unexecuted instantiation: compile.c:MVM_string_gi_init
Unexecuted instantiation: expr.c:MVM_string_gi_init
Unexecuted instantiation: tile.c:MVM_string_gi_init
Unexecuted instantiation: linear_scan.c:MVM_string_gi_init
Unexecuted instantiation: interface.c:MVM_string_gi_init
Unexecuted instantiation: emit.c:MVM_string_gi_init
Unexecuted instantiation: arch.c:MVM_string_gi_init
utf8_c8.c:MVM_string_gi_init
Line
Count
Source
31
4.27k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
4.27k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
3.55k
        MVMStringStrand *strands = s->body.storage.strands;
34
3.55k
        MVMString       *first   = strands[0].blob_string;
35
3.55k
        gi->active_blob.any      = first->body.storage.any;
36
3.55k
        gi->blob_type            = first->body.storage_type;
37
3.55k
        gi->strands_remaining    = s->body.num_strands - 1;
38
3.55k
        gi->pos = gi->start      = strands[0].start;
39
3.55k
        gi->end                  = strands[0].end;
40
3.55k
        gi->repetitions          = strands[0].repetitions;
41
3.55k
        gi->next_strand          = strands + 1;
42
3.55k
    }
43
725
    else {
44
725
        gi->active_blob.any   = s->body.storage.any;
45
725
        gi->blob_type         = s->body.storage_type;
46
725
        gi->end               = s->body.num_graphs;
47
725
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
725
    }
49
4.27k
};
Unexecuted instantiation: worker.c:MVM_string_gi_init
Unexecuted instantiation: stats.c:MVM_string_gi_init
Unexecuted instantiation: plan.c:MVM_string_gi_init
Unexecuted instantiation: arg_guard.c:MVM_string_gi_init
Unexecuted instantiation: plugin.c:MVM_string_gi_init
decode_stream.c:MVM_string_gi_init
Line
Count
Source
31
1.30k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
1.30k
    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 = gi->start      = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->repetitions          = strands[0].repetitions;
41
0
        gi->next_strand          = strands + 1;
42
0
    }
43
1.30k
    else {
44
1.30k
        gi->active_blob.any   = s->body.storage.any;
45
1.30k
        gi->blob_type         = s->body.storage_type;
46
1.30k
        gi->end               = s->body.num_graphs;
47
1.30k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
1.30k
    }
49
1.30k
};
ascii.c:MVM_string_gi_init
Line
Count
Source
31
1.96k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
1.96k
    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 = gi->start      = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->repetitions          = strands[0].repetitions;
41
0
        gi->next_strand          = strands + 1;
42
0
    }
43
1.96k
    else {
44
1.96k
        gi->active_blob.any   = s->body.storage.any;
45
1.96k
        gi->blob_type         = s->body.storage_type;
46
1.96k
        gi->end               = s->body.num_graphs;
47
1.96k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
1.96k
    }
49
1.96k
};
parse_num.c:MVM_string_gi_init
Line
Count
Source
31
5.91k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
5.91k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
2.44k
        MVMStringStrand *strands = s->body.storage.strands;
34
2.44k
        MVMString       *first   = strands[0].blob_string;
35
2.44k
        gi->active_blob.any      = first->body.storage.any;
36
2.44k
        gi->blob_type            = first->body.storage_type;
37
2.44k
        gi->strands_remaining    = s->body.num_strands - 1;
38
2.44k
        gi->pos = gi->start      = strands[0].start;
39
2.44k
        gi->end                  = strands[0].end;
40
2.44k
        gi->repetitions          = strands[0].repetitions;
41
2.44k
        gi->next_strand          = strands + 1;
42
2.44k
    }
43
3.47k
    else {
44
3.47k
        gi->active_blob.any   = s->body.storage.any;
45
3.47k
        gi->blob_type         = s->body.storage_type;
46
3.47k
        gi->end               = s->body.num_graphs;
47
3.47k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
3.47k
    }
49
5.91k
};
utf8.c:MVM_string_gi_init
Line
Count
Source
31
16.0k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
16.0k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
13.8k
        MVMStringStrand *strands = s->body.storage.strands;
34
13.8k
        MVMString       *first   = strands[0].blob_string;
35
13.8k
        gi->active_blob.any      = first->body.storage.any;
36
13.8k
        gi->blob_type            = first->body.storage_type;
37
13.8k
        gi->strands_remaining    = s->body.num_strands - 1;
38
13.8k
        gi->pos = gi->start      = strands[0].start;
39
13.8k
        gi->end                  = strands[0].end;
40
13.8k
        gi->repetitions          = strands[0].repetitions;
41
13.8k
        gi->next_strand          = strands + 1;
42
13.8k
    }
43
2.19k
    else {
44
2.19k
        gi->active_blob.any   = s->body.storage.any;
45
2.19k
        gi->blob_type         = s->body.storage_type;
46
2.19k
        gi->end               = s->body.num_graphs;
47
2.19k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
2.19k
    }
49
16.0k
};
Unexecuted instantiation: callsite.c:MVM_string_gi_init
nfg.c:MVM_string_gi_init
Line
Count
Source
31
2.38M
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
2.38M
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
2.38M
        MVMStringStrand *strands = s->body.storage.strands;
34
2.38M
        MVMString       *first   = strands[0].blob_string;
35
2.38M
        gi->active_blob.any      = first->body.storage.any;
36
2.38M
        gi->blob_type            = first->body.storage_type;
37
2.38M
        gi->strands_remaining    = s->body.num_strands - 1;
38
2.38M
        gi->pos = gi->start      = strands[0].start;
39
2.38M
        gi->end                  = strands[0].end;
40
2.38M
        gi->repetitions          = strands[0].repetitions;
41
2.38M
        gi->next_strand          = strands + 1;
42
2.38M
    }
43
0
    else {
44
0
        gi->active_blob.any   = s->body.storage.any;
45
0
        gi->blob_type         = s->body.storage_type;
46
0
        gi->end               = s->body.num_graphs;
47
0
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
0
    }
49
2.38M
};
Unexecuted instantiation: unicode.c:MVM_string_gi_init
normalize.c:MVM_string_gi_init
Line
Count
Source
31
2
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
2
    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 = gi->start      = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->repetitions          = strands[0].repetitions;
41
0
        gi->next_strand          = strands + 1;
42
0
    }
43
2
    else {
44
2
        gi->active_blob.any   = s->body.storage.any;
45
2
        gi->blob_type         = s->body.storage_type;
46
2
        gi->end               = s->body.num_graphs;
47
2
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
2
    }
49
2
};
latin1.c:MVM_string_gi_init
Line
Count
Source
31
33.9k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
33.9k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
10.0k
        MVMStringStrand *strands = s->body.storage.strands;
34
10.0k
        MVMString       *first   = strands[0].blob_string;
35
10.0k
        gi->active_blob.any      = first->body.storage.any;
36
10.0k
        gi->blob_type            = first->body.storage_type;
37
10.0k
        gi->strands_remaining    = s->body.num_strands - 1;
38
10.0k
        gi->pos = gi->start      = strands[0].start;
39
10.0k
        gi->end                  = strands[0].end;
40
10.0k
        gi->repetitions          = strands[0].repetitions;
41
10.0k
        gi->next_strand          = strands + 1;
42
10.0k
    }
43
23.9k
    else {
44
23.9k
        gi->active_blob.any   = s->body.storage.any;
45
23.9k
        gi->blob_type         = s->body.storage_type;
46
23.9k
        gi->end               = s->body.num_graphs;
47
23.9k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
23.9k
    }
49
33.9k
};
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 = gi->start      = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->repetitions          = strands[0].repetitions;
41
0
        gi->next_strand          = strands + 1;
42
0
    }
43
1
    else {
44
1
        gi->active_blob.any   = s->body.storage.any;
45
1
        gi->blob_type         = s->body.storage_type;
46
1
        gi->end               = s->body.num_graphs;
47
1
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
1
    }
49
1
};
windows1252.c:MVM_string_gi_init
Line
Count
Source
31
13
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
13
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
1
        MVMStringStrand *strands = s->body.storage.strands;
34
1
        MVMString       *first   = strands[0].blob_string;
35
1
        gi->active_blob.any      = first->body.storage.any;
36
1
        gi->blob_type            = first->body.storage_type;
37
1
        gi->strands_remaining    = s->body.num_strands - 1;
38
1
        gi->pos = gi->start      = strands[0].start;
39
1
        gi->end                  = strands[0].end;
40
1
        gi->repetitions          = strands[0].repetitions;
41
1
        gi->next_strand          = strands + 1;
42
1
    }
43
12
    else {
44
12
        gi->active_blob.any   = s->body.storage.any;
45
12
        gi->blob_type         = s->body.storage_type;
46
12
        gi->end               = s->body.num_graphs;
47
12
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
12
    }
49
13
};
Unexecuted instantiation: shiftjis.c:MVM_string_gi_init
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_init
bigintops.c:MVM_string_gi_init
Line
Count
Source
31
101
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
101
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
101
        MVMStringStrand *strands = s->body.storage.strands;
34
101
        MVMString       *first   = strands[0].blob_string;
35
101
        gi->active_blob.any      = first->body.storage.any;
36
101
        gi->blob_type            = first->body.storage_type;
37
101
        gi->strands_remaining    = s->body.num_strands - 1;
38
101
        gi->pos = gi->start      = strands[0].start;
39
101
        gi->end                  = strands[0].end;
40
101
        gi->repetitions          = strands[0].repetitions;
41
101
        gi->next_strand          = strands + 1;
42
101
    }
43
0
    else {
44
0
        gi->active_blob.any   = s->body.storage.any;
45
0
        gi->blob_type         = s->body.storage_type;
46
0
        gi->end               = s->body.num_graphs;
47
0
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
0
    }
49
101
};
Unexecuted instantiation: worklist.c:MVM_string_gi_init
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_init
Unexecuted instantiation: continuation.c:MVM_string_gi_init
Unexecuted instantiation: intcache.c:MVM_string_gi_init
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_init
Unexecuted instantiation: regionalloc.c:MVM_string_gi_init
Unexecuted instantiation: debugserver.c:MVM_string_gi_init
Unexecuted instantiation: config.c:MVM_string_gi_init
Unexecuted instantiation: orchestrate.c:MVM_string_gi_init
Unexecuted instantiation: allocation.c:MVM_string_gi_init
Unexecuted instantiation: nativecall.c:MVM_string_gi_init
Unexecuted instantiation: roots.c:MVM_string_gi_init
Unexecuted instantiation: collect.c:MVM_string_gi_init
Unexecuted instantiation: gen2.c:MVM_string_gi_init
Unexecuted instantiation: wb.c:MVM_string_gi_init
Unexecuted instantiation: objectid.c:MVM_string_gi_init
Unexecuted instantiation: finalize.c:MVM_string_gi_init
Unexecuted instantiation: debug.c:MVM_string_gi_init
Unexecuted instantiation: io.c:MVM_string_gi_init
Unexecuted instantiation: eventloop.c:MVM_string_gi_init
Unexecuted instantiation: validation.c:MVM_string_gi_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_init
Unexecuted instantiation: args.c:MVM_string_gi_init
Unexecuted instantiation: exceptions.c:MVM_string_gi_init
interp.c:MVM_string_gi_init
Line
Count
Source
31
4
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
4
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
1
        MVMStringStrand *strands = s->body.storage.strands;
34
1
        MVMString       *first   = strands[0].blob_string;
35
1
        gi->active_blob.any      = first->body.storage.any;
36
1
        gi->blob_type            = first->body.storage_type;
37
1
        gi->strands_remaining    = s->body.num_strands - 1;
38
1
        gi->pos = gi->start      = strands[0].start;
39
1
        gi->end                  = strands[0].end;
40
1
        gi->repetitions          = strands[0].repetitions;
41
1
        gi->next_strand          = strands + 1;
42
1
    }
43
3
    else {
44
3
        gi->active_blob.any   = s->body.storage.any;
45
3
        gi->blob_type         = s->body.storage_type;
46
3
        gi->end               = s->body.num_graphs;
47
3
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
3
    }
49
4
};
Unexecuted instantiation: threadcontext.c:MVM_string_gi_init
Unexecuted instantiation: compunit.c:MVM_string_gi_init
Unexecuted instantiation: bytecode.c:MVM_string_gi_init
Unexecuted instantiation: frame.c:MVM_string_gi_init
Unexecuted instantiation: callstack.c:MVM_string_gi_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_init
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_init
Unexecuted instantiation: threads.c:MVM_string_gi_init
ops.c:MVM_string_gi_init
Line
Count
Source
31
4.35M
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
4.35M
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
2.09M
        MVMStringStrand *strands = s->body.storage.strands;
34
2.09M
        MVMString       *first   = strands[0].blob_string;
35
2.09M
        gi->active_blob.any      = first->body.storage.any;
36
2.09M
        gi->blob_type            = first->body.storage_type;
37
2.09M
        gi->strands_remaining    = s->body.num_strands - 1;
38
2.09M
        gi->pos = gi->start      = strands[0].start;
39
2.09M
        gi->end                  = strands[0].end;
40
2.09M
        gi->repetitions          = strands[0].repetitions;
41
2.09M
        gi->next_strand          = strands + 1;
42
2.09M
    }
43
2.25M
    else {
44
2.25M
        gi->active_blob.any   = s->body.storage.any;
45
2.25M
        gi->blob_type         = s->body.storage_type;
46
2.25M
        gi->end               = s->body.num_graphs;
47
2.25M
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
2.25M
    }
49
4.35M
};
Unexecuted instantiation: hll.c:MVM_string_gi_init
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_init
Unexecuted instantiation: num.c:MVM_string_gi_init
coerce.c:MVM_string_gi_init
Line
Count
Source
31
9.48k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
9.48k
    if (s->body.storage_type == MVM_STRING_STRAND) {
33
9.48k
        MVMStringStrand *strands = s->body.storage.strands;
34
9.48k
        MVMString       *first   = strands[0].blob_string;
35
9.48k
        gi->active_blob.any      = first->body.storage.any;
36
9.48k
        gi->blob_type            = first->body.storage_type;
37
9.48k
        gi->strands_remaining    = s->body.num_strands - 1;
38
9.48k
        gi->pos = gi->start      = strands[0].start;
39
9.48k
        gi->end                  = strands[0].end;
40
9.48k
        gi->repetitions          = strands[0].repetitions;
41
9.48k
        gi->next_strand          = strands + 1;
42
9.48k
    }
43
0
    else {
44
0
        gi->active_blob.any   = s->body.storage.any;
45
0
        gi->blob_type         = s->body.storage_type;
46
0
        gi->end               = s->body.num_graphs;
47
0
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
0
    }
49
9.48k
};
Unexecuted instantiation: dll.c:MVM_string_gi_init
Unexecuted instantiation: ext.c:MVM_string_gi_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_init
Unexecuted instantiation: P6str.c:MVM_string_gi_init
Unexecuted instantiation: P6opaque.c:MVM_string_gi_init
Unexecuted instantiation: MVMCode.c:MVM_string_gi_init
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_init
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_init
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_init
Unexecuted instantiation: P6int.c:MVM_string_gi_init
Unexecuted instantiation: P6num.c:MVM_string_gi_init
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_init
Unexecuted instantiation: syncsocket.c:MVM_string_gi_init
Unexecuted instantiation: MVMThread.c:MVM_string_gi_init
Unexecuted instantiation: MVMIter.c:MVM_string_gi_init
Unexecuted instantiation: MVMContext.c:MVM_string_gi_init
Unexecuted instantiation: SCRef.c:MVM_string_gi_init
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_init
Unexecuted instantiation: P6bigint.c:MVM_string_gi_init
NFA.c:MVM_string_gi_init
Line
Count
Source
31
713k
MVM_STATIC_INLINE void MVM_string_gi_init(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMString *s) {
32
713k
    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 = gi->start      = strands[0].start;
39
0
        gi->end                  = strands[0].end;
40
0
        gi->repetitions          = strands[0].repetitions;
41
0
        gi->next_strand          = strands + 1;
42
0
    }
43
713k
    else {
44
713k
        gi->active_blob.any   = s->body.storage.any;
45
713k
        gi->blob_type         = s->body.storage_type;
46
713k
        gi->end               = s->body.num_graphs;
47
713k
        gi->strands_remaining = gi->start = gi->pos = gi->repetitions = 0;
48
713k
    }
49
713k
};
Unexecuted instantiation: MVMException.c:MVM_string_gi_init
Unexecuted instantiation: syncfile.c:MVM_string_gi_init
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_init
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_init
Unexecuted instantiation: fileops.c:MVM_string_gi_init
Unexecuted instantiation: dirops.c:MVM_string_gi_init
Unexecuted instantiation: procops.c:MVM_string_gi_init
Unexecuted instantiation: timers.c:MVM_string_gi_init
Unexecuted instantiation: filewatchers.c:MVM_string_gi_init
Unexecuted instantiation: signals.c:MVM_string_gi_init
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_init
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_init
Unexecuted instantiation: reprconv.c:MVM_string_gi_init
Unexecuted instantiation: containers.c:MVM_string_gi_init
Unexecuted instantiation: parametric.c:MVM_string_gi_init
Unexecuted instantiation: MVMString.c:MVM_string_gi_init
Unexecuted instantiation: VMArray.c:MVM_string_gi_init
Unexecuted instantiation: MVMHash.c:MVM_string_gi_init
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_init
Unexecuted instantiation: reprs.c:MVM_string_gi_init
50
/* Gets the number of graphemes remaining in the current strand of the grapheme
51
 * iterator, including repetitions */
52
#define MVM_string_gi_graphs_left_in_strand_rep(gi) \
53
3.94M
    (gi->end - gi->pos + gi->repetitions * (gi->end - gi->start))
54
/* graphs left in strand + graphs left in repetitions of current strand */
55
56
/* Moves to the next strand, or repetition if there is one. */
57
43.1k
static void MVM_string_gi_next_strand_rep(MVMThreadContext *tc, MVMGraphemeIter *gi) {
58
43.1k
    MVMStringStrand *next = NULL;
59
43.1k
    if (gi->repetitions) {
60
40.0k
        gi->pos = gi->start;
61
40.0k
        gi->repetitions--;
62
40.0k
        return;
63
40.0k
    }
64
3.11k
    if (gi->strands_remaining <= 0)
65
0
        MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator\n");
66
3.11k
67
3.11k
    next = (gi->next_strand)++;
68
3.11k
    gi->pos = gi->start = next->start;
69
3.11k
    gi->end             = next->end;
70
3.11k
    gi->repetitions     = next->repetitions;
71
3.11k
    gi->blob_type       = next->blob_string->body.storage_type;
72
3.11k
    gi->active_blob.any = next->blob_string->body.storage.any;
73
3.11k
    gi->strands_remaining--;
74
3.11k
}
Unexecuted instantiation: reprs.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: reprconv.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: containers.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: parametric.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMString.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: VMArray.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMHash.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: signals.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: filewatchers.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: timers.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: procops.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: dirops.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: fileops.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: syncsocket.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: syncfile.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMThread.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMException.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: NFA.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: P6bigint.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: SCRef.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMContext.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMIter.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: P6str.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: P6num.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: P6int.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMCode.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: P6opaque.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: callstack.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: dll.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: coerce.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: num.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: hll.c:MVM_string_gi_next_strand_rep
ops.c:MVM_string_gi_next_strand_rep
Line
Count
Source
57
43.1k
static void MVM_string_gi_next_strand_rep(MVMThreadContext *tc, MVMGraphemeIter *gi) {
58
43.1k
    MVMStringStrand *next = NULL;
59
43.1k
    if (gi->repetitions) {
60
40.0k
        gi->pos = gi->start;
61
40.0k
        gi->repetitions--;
62
40.0k
        return;
63
40.0k
    }
64
3.11k
    if (gi->strands_remaining <= 0)
65
0
        MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator\n");
66
3.11k
67
3.11k
    next = (gi->next_strand)++;
68
3.11k
    gi->pos = gi->start = next->start;
69
3.11k
    gi->end             = next->end;
70
3.11k
    gi->repetitions     = next->repetitions;
71
3.11k
    gi->blob_type       = next->blob_string->body.storage_type;
72
3.11k
    gi->active_blob.any = next->blob_string->body.storage.any;
73
3.11k
    gi->strands_remaining--;
74
3.11k
}
Unexecuted instantiation: threads.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: validation.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: ext.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: frame.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: bytecode.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: compunit.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: threadcontext.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: interp.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: exceptions.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: args.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: callsite.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: worker.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: allocation.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: io.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: debug.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: finalize.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: objectid.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: wb.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: gen2.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: collect.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: roots.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: worklist.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: eventloop.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: orchestrate.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: config.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: debugserver.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: regionalloc.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: intcache.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: continuation.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: nativecall.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: nfg.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: instrument.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: bigintops.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: shiftjis.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: windows1252.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: utf16.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: latin1.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: normalize.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: unicode.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: profile.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: utf8.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: parse_num.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: ascii.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: decode_stream.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: plugin.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: arg_guard.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: plan.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: stats.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: mmap.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: arch.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: emit.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: interface.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: linear_scan.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: tile.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: expr.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: compile.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: label.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: time.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: NativeCall.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: moar.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: memmem32.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: random.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: sys.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: line_coverage.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: telemeh.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: Semaphore.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: 6model.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: Decoder.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: NativeRef.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMNull.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CUnion.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CStruct.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CArray.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CStr.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: CPointer.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: iterator.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: sc.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: lookup.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: osr.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: inline.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: threshold.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: log.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: deopt.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: optimize.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: facts.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: candidate.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: codegen.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: graph.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: dump.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: driver.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: compiler.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: serialization.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: bootstrap.c:MVM_string_gi_next_strand_rep
Unexecuted instantiation: manipulate.c:MVM_string_gi_next_strand_rep
75
/* Sets the position of the iterator. (Can be optimized in many ways in the
76
 * repetitions and strands branches.) */
77
3.21M
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
78
3.21M
    MVMuint32 remaining = pos;
79
3.21M
    MVMuint32 strand_graphs;
80
3.21M
    MVMStringStrand *next = NULL;
81
3.21M
82
3.21M
    /* Find the appropriate strand. */
83
3.21M
    /* Set strand_graphs to the number of graphemes */
84
3.94M
    while (remaining > (strand_graphs = MVM_string_gi_graphs_left_in_strand_rep(gi))) {
85
727k
        remaining -= strand_graphs;
86
727k
        if (!(gi->strands_remaining--))
87
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
88
727k
        next = (gi->next_strand)++;
89
727k
        gi->pos = gi->start = next->start;
90
727k
        gi->end             = next->end;
91
727k
        gi->repetitions     = next->repetitions;
92
727k
    }
93
3.21M
    if (next) {
94
273k
        gi->blob_type       = next->blob_string->body.storage_type;
95
273k
        gi->active_blob.any = next->blob_string->body.storage.any;
96
273k
    }
97
3.21M
98
3.21M
    /* Now look within the strand. */
99
3.21M
    if (!remaining)
100
1.17M
        return;
101
3.21M
    /* Most common case where we move within the strand */
102
2.04M
    if (gi->pos + remaining <= gi->end) {
103
838k
        gi->pos += remaining;
104
838k
        return;
105
838k
    }
106
2.04M
    /* If we are here we are encountering a repetition */
107
1.20M
    if (gi->repetitions) {
108
1.20M
        MVMuint32 rep_graphs = gi->end - gi->start;
109
1.20M
        MVMuint32 remaining_reps;
110
1.20M
        /* If we aren't at the end of the repetition, move to the end */
111
1.20M
        if (gi->pos < gi->end) {
112
1.20M
            remaining -= gi->end - gi->pos;
113
1.20M
            gi->pos    = gi->end;
114
1.20M
        }
115
1.20M
        remaining_reps = remaining / rep_graphs;
116
1.20M
        if (gi->repetitions < remaining_reps)
117
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator:"
118
0
                                          " no more repetitions remaining\n");
119
1.20M
        gi->repetitions -= remaining_reps;
120
1.20M
        /* Since we're still at the end, if there's repetitions left over
121
1.20M
         * we are going to have to seek forward */
122
1.20M
        if (remaining -= remaining_reps * rep_graphs) {
123
1.00M
            gi->repetitions--; /* Move to the next repetition. */
124
1.00M
            gi->pos = gi->start + remaining;
125
1.00M
            /* remaining = 0 now for all purposes now, but since we return, no
126
1.00M
             * need to set it */
127
1.00M
        }
128
1.20M
        return;
129
1.20M
    }
130
0
    MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
131
0
}
Unexecuted instantiation: containers.c:MVM_string_gi_move_to
Unexecuted instantiation: filewatchers.c:MVM_string_gi_move_to
Unexecuted instantiation: parametric.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMString.c:MVM_string_gi_move_to
Unexecuted instantiation: VMArray.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMHash.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_move_to
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_move_to
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_move_to
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_move_to
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: 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: MVMThread.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: MVMException.c:MVM_string_gi_move_to
NFA.c:MVM_string_gi_move_to
Line
Count
Source
77
683k
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
78
683k
    MVMuint32 remaining = pos;
79
683k
    MVMuint32 strand_graphs;
80
683k
    MVMStringStrand *next = NULL;
81
683k
82
683k
    /* Find the appropriate strand. */
83
683k
    /* Set strand_graphs to the number of graphemes */
84
683k
    while (remaining > (strand_graphs = MVM_string_gi_graphs_left_in_strand_rep(gi))) {
85
0
        remaining -= strand_graphs;
86
0
        if (!(gi->strands_remaining--))
87
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
88
0
        next = (gi->next_strand)++;
89
0
        gi->pos = gi->start = next->start;
90
0
        gi->end             = next->end;
91
0
        gi->repetitions     = next->repetitions;
92
0
    }
93
683k
    if (next) {
94
0
        gi->blob_type       = next->blob_string->body.storage_type;
95
0
        gi->active_blob.any = next->blob_string->body.storage.any;
96
0
    }
97
683k
98
683k
    /* Now look within the strand. */
99
683k
    if (!remaining)
100
0
        return;
101
683k
    /* Most common case where we move within the strand */
102
683k
    if (gi->pos + remaining <= gi->end) {
103
683k
        gi->pos += remaining;
104
683k
        return;
105
683k
    }
106
683k
    /* If we are here we are encountering a repetition */
107
0
    if (gi->repetitions) {
108
0
        MVMuint32 rep_graphs = gi->end - gi->start;
109
0
        MVMuint32 remaining_reps;
110
0
        /* If we aren't at the end of the repetition, move to the end */
111
0
        if (gi->pos < gi->end) {
112
0
            remaining -= gi->end - gi->pos;
113
0
            gi->pos    = gi->end;
114
0
        }
115
0
        remaining_reps = remaining / rep_graphs;
116
0
        if (gi->repetitions < remaining_reps)
117
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator:"
118
0
                                          " no more repetitions remaining\n");
119
0
        gi->repetitions -= remaining_reps;
120
0
        /* Since we're still at the end, if there's repetitions left over
121
0
         * we are going to have to seek forward */
122
0
        if (remaining -= remaining_reps * rep_graphs) {
123
0
            gi->repetitions--; /* Move to the next repetition. */
124
0
            gi->pos = gi->start + remaining;
125
0
            /* remaining = 0 now for all purposes now, but since we return, no
126
0
             * need to set it */
127
0
        }
128
0
        return;
129
0
    }
130
0
    MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
131
0
}
Unexecuted instantiation: P6bigint.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMCallCapture.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: MVMIter.c:MVM_string_gi_move_to
Unexecuted instantiation: P6str.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: P6opaque.c:MVM_string_gi_move_to
Unexecuted instantiation: validation.c:MVM_string_gi_move_to
Unexecuted instantiation: ext.c:MVM_string_gi_move_to
Unexecuted instantiation: dll.c:MVM_string_gi_move_to
coerce.c:MVM_string_gi_move_to
Line
Count
Source
77
9.48k
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
78
9.48k
    MVMuint32 remaining = pos;
79
9.48k
    MVMuint32 strand_graphs;
80
9.48k
    MVMStringStrand *next = NULL;
81
9.48k
82
9.48k
    /* Find the appropriate strand. */
83
9.48k
    /* Set strand_graphs to the number of graphemes */
84
9.48k
    while (remaining > (strand_graphs = MVM_string_gi_graphs_left_in_strand_rep(gi))) {
85
0
        remaining -= strand_graphs;
86
0
        if (!(gi->strands_remaining--))
87
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
88
0
        next = (gi->next_strand)++;
89
0
        gi->pos = gi->start = next->start;
90
0
        gi->end             = next->end;
91
0
        gi->repetitions     = next->repetitions;
92
0
    }
93
9.48k
    if (next) {
94
0
        gi->blob_type       = next->blob_string->body.storage_type;
95
0
        gi->active_blob.any = next->blob_string->body.storage.any;
96
0
    }
97
9.48k
98
9.48k
    /* Now look within the strand. */
99
9.48k
    if (!remaining)
100
6.34k
        return;
101
9.48k
    /* Most common case where we move within the strand */
102
3.13k
    if (gi->pos + remaining <= gi->end) {
103
3.13k
        gi->pos += remaining;
104
3.13k
        return;
105
3.13k
    }
106
3.13k
    /* If we are here we are encountering a repetition */
107
0
    if (gi->repetitions) {
108
0
        MVMuint32 rep_graphs = gi->end - gi->start;
109
0
        MVMuint32 remaining_reps;
110
0
        /* If we aren't at the end of the repetition, move to the end */
111
0
        if (gi->pos < gi->end) {
112
0
            remaining -= gi->end - gi->pos;
113
0
            gi->pos    = gi->end;
114
0
        }
115
0
        remaining_reps = remaining / rep_graphs;
116
0
        if (gi->repetitions < remaining_reps)
117
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator:"
118
0
                                          " no more repetitions remaining\n");
119
0
        gi->repetitions -= remaining_reps;
120
0
        /* Since we're still at the end, if there's repetitions left over
121
0
         * we are going to have to seek forward */
122
0
        if (remaining -= remaining_reps * rep_graphs) {
123
0
            gi->repetitions--; /* Move to the next repetition. */
124
0
            gi->pos = gi->start + remaining;
125
0
            /* remaining = 0 now for all purposes now, but since we return, no
126
0
             * need to set it */
127
0
        }
128
0
        return;
129
0
    }
130
0
    MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
131
0
}
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
77
138k
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
78
138k
    MVMuint32 remaining = pos;
79
138k
    MVMuint32 strand_graphs;
80
138k
    MVMStringStrand *next = NULL;
81
138k
82
138k
    /* Find the appropriate strand. */
83
138k
    /* Set strand_graphs to the number of graphemes */
84
144k
    while (remaining > (strand_graphs = MVM_string_gi_graphs_left_in_strand_rep(gi))) {
85
5.06k
        remaining -= strand_graphs;
86
5.06k
        if (!(gi->strands_remaining--))
87
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
88
5.06k
        next = (gi->next_strand)++;
89
5.06k
        gi->pos = gi->start = next->start;
90
5.06k
        gi->end             = next->end;
91
5.06k
        gi->repetitions     = next->repetitions;
92
5.06k
    }
93
138k
    if (next) {
94
2.86k
        gi->blob_type       = next->blob_string->body.storage_type;
95
2.86k
        gi->active_blob.any = next->blob_string->body.storage.any;
96
2.86k
    }
97
138k
98
138k
    /* Now look within the strand. */
99
138k
    if (!remaining)
100
78.1k
        return;
101
138k
    /* Most common case where we move within the strand */
102
60.7k
    if (gi->pos + remaining <= gi->end) {
103
55.4k
        gi->pos += remaining;
104
55.4k
        return;
105
55.4k
    }
106
60.7k
    /* If we are here we are encountering a repetition */
107
5.36k
    if (gi->repetitions) {
108
5.36k
        MVMuint32 rep_graphs = gi->end - gi->start;
109
5.36k
        MVMuint32 remaining_reps;
110
5.36k
        /* If we aren't at the end of the repetition, move to the end */
111
5.36k
        if (gi->pos < gi->end) {
112
5.36k
            remaining -= gi->end - gi->pos;
113
5.36k
            gi->pos    = gi->end;
114
5.36k
        }
115
5.36k
        remaining_reps = remaining / rep_graphs;
116
5.36k
        if (gi->repetitions < remaining_reps)
117
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator:"
118
0
                                          " no more repetitions remaining\n");
119
5.36k
        gi->repetitions -= remaining_reps;
120
5.36k
        /* Since we're still at the end, if there's repetitions left over
121
5.36k
         * we are going to have to seek forward */
122
5.36k
        if (remaining -= remaining_reps * rep_graphs) {
123
4.97k
            gi->repetitions--; /* Move to the next repetition. */
124
4.97k
            gi->pos = gi->start + remaining;
125
4.97k
            /* remaining = 0 now for all purposes now, but since we return, no
126
4.97k
             * need to set it */
127
4.97k
        }
128
5.36k
        return;
129
5.36k
    }
130
0
    MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
131
0
}
Unexecuted instantiation: threads.c:MVM_string_gi_move_to
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_move_to
Unexecuted instantiation: nativecall.c:MVM_string_gi_move_to
Unexecuted instantiation: callstack.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: worklist.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: finalize.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: syncfile.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: config.c:MVM_string_gi_move_to
Unexecuted instantiation: debugserver.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: utf8_c8.c:MVM_string_gi_move_to
Unexecuted instantiation: bigintops.c:MVM_string_gi_move_to
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_move_to
Unexecuted instantiation: shiftjis.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
nfg.c:MVM_string_gi_move_to
Line
Count
Source
77
2.38M
MVM_STATIC_INLINE void MVM_string_gi_move_to(MVMThreadContext *tc, MVMGraphemeIter *gi, MVMuint32 pos) {
78
2.38M
    MVMuint32 remaining = pos;
79
2.38M
    MVMuint32 strand_graphs;
80
2.38M
    MVMStringStrand *next = NULL;
81
2.38M
82
2.38M
    /* Find the appropriate strand. */
83
2.38M
    /* Set strand_graphs to the number of graphemes */
84
3.10M
    while (remaining > (strand_graphs = MVM_string_gi_graphs_left_in_strand_rep(gi))) {
85
722k
        remaining -= strand_graphs;
86
722k
        if (!(gi->strands_remaining--))
87
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
88
722k
        next = (gi->next_strand)++;
89
722k
        gi->pos = gi->start = next->start;
90
722k
        gi->end             = next->end;
91
722k
        gi->repetitions     = next->repetitions;
92
722k
    }
93
2.38M
    if (next) {
94
270k
        gi->blob_type       = next->blob_string->body.storage_type;
95
270k
        gi->active_blob.any = next->blob_string->body.storage.any;
96
270k
    }
97
2.38M
98
2.38M
    /* Now look within the strand. */
99
2.38M
    if (!remaining)
100
1.08M
        return;
101
2.38M
    /* Most common case where we move within the strand */
102
1.29M
    if (gi->pos + remaining <= gi->end) {
103
96.8k
        gi->pos += remaining;
104
96.8k
        return;
105
96.8k
    }
106
1.29M
    /* If we are here we are encountering a repetition */
107
1.20M
    if (gi->repetitions) {
108
1.20M
        MVMuint32 rep_graphs = gi->end - gi->start;
109
1.20M
        MVMuint32 remaining_reps;
110
1.20M
        /* If we aren't at the end of the repetition, move to the end */
111
1.20M
        if (gi->pos < gi->end) {
112
1.20M
            remaining -= gi->end - gi->pos;
113
1.20M
            gi->pos    = gi->end;
114
1.20M
        }
115
1.20M
        remaining_reps = remaining / rep_graphs;
116
1.20M
        if (gi->repetitions < remaining_reps)
117
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator:"
118
0
                                          " no more repetitions remaining\n");
119
1.20M
        gi->repetitions -= remaining_reps;
120
1.20M
        /* Since we're still at the end, if there's repetitions left over
121
1.20M
         * we are going to have to seek forward */
122
1.20M
        if (remaining -= remaining_reps * rep_graphs) {
123
1.00M
            gi->repetitions--; /* Move to the next repetition. */
124
1.00M
            gi->pos = gi->start + remaining;
125
1.00M
            /* remaining = 0 now for all purposes now, but since we return, no
126
1.00M
             * need to set it */
127
1.00M
        }
128
1.20M
        return;
129
1.20M
    }
130
0
    MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
131
0
}
Unexecuted instantiation: profile.c:MVM_string_gi_move_to
Unexecuted instantiation: utf8.c:MVM_string_gi_move_to
Unexecuted instantiation: parse_num.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: plugin.c:MVM_string_gi_move_to
Unexecuted instantiation: arg_guard.c:MVM_string_gi_move_to
Unexecuted instantiation: plan.c:MVM_string_gi_move_to
Unexecuted instantiation: stats.c:MVM_string_gi_move_to
Unexecuted instantiation: worker.c:MVM_string_gi_move_to
Unexecuted instantiation: time.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_move_to
Unexecuted instantiation: arch.c:MVM_string_gi_move_to
Unexecuted instantiation: emit.c:MVM_string_gi_move_to
Unexecuted instantiation: interface.c:MVM_string_gi_move_to
Unexecuted instantiation: linear_scan.c:MVM_string_gi_move_to
Unexecuted instantiation: tile.c:MVM_string_gi_move_to
Unexecuted instantiation: expr.c:MVM_string_gi_move_to
Unexecuted instantiation: compile.c:MVM_string_gi_move_to
Unexecuted instantiation: label.c:MVM_string_gi_move_to
Unexecuted instantiation: instrument.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: memmem32.c:MVM_string_gi_move_to
Unexecuted instantiation: random.c:MVM_string_gi_move_to
Unexecuted instantiation: sys.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: telemeh.c:MVM_string_gi_move_to
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_move_to
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_move_to
Unexecuted instantiation: 6model.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_move_to
Unexecuted instantiation: MVMSpeshLog.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: lookup.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: ReentrantMutex.c:MVM_string_gi_move_to
Unexecuted instantiation: CUnion.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: deopt.c:MVM_string_gi_move_to
Unexecuted instantiation: bootstrap.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: threshold.c:MVM_string_gi_move_to
Unexecuted instantiation: log.c:MVM_string_gi_move_to
Unexecuted instantiation: dead_bb_elimination.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: codegen.c:MVM_string_gi_move_to
Unexecuted instantiation: iterator.c:MVM_string_gi_move_to
Unexecuted instantiation: sc.c:MVM_string_gi_move_to
Unexecuted instantiation: serialization.c:MVM_string_gi_move_to
Unexecuted instantiation: compiler.c:MVM_string_gi_move_to
Unexecuted instantiation: driver.c:MVM_string_gi_move_to
Unexecuted instantiation: dump.c:MVM_string_gi_move_to
Unexecuted instantiation: graph.c:MVM_string_gi_move_to
Unexecuted instantiation: candidate.c:MVM_string_gi_move_to
132
133
/* Checks if there is more to read from a grapheme iterator. */
134
15.4M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
2.16M
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
15.4M
}
Unexecuted instantiation: sc.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMAsyncTask.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
134
412k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
37.4k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
412k
}
Unexecuted instantiation: driver.c:MVM_string_gi_has_more
Unexecuted instantiation: dump.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: dead_bb_elimination.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: threshold.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: Semaphore.c:MVM_string_gi_has_more
Unexecuted instantiation: NativeCall.c:MVM_string_gi_has_more
Unexecuted instantiation: syncsocket.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: CStruct.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: bootstrap.c:MVM_string_gi_has_more
Unexecuted instantiation: ConcBlockingQueue.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: NativeRef.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: MVMSpeshLog.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_has_more
Unexecuted instantiation: 6model.c:MVM_string_gi_has_more
Unexecuted instantiation: mmap.c:MVM_string_gi_has_more
Unexecuted instantiation: profile.c:MVM_string_gi_has_more
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_has_more
Unexecuted instantiation: telemeh.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: sys.c:MVM_string_gi_has_more
Unexecuted instantiation: random.c:MVM_string_gi_has_more
Unexecuted instantiation: memmem32.c:MVM_string_gi_has_more
Unexecuted instantiation: moar.c:MVM_string_gi_has_more
Unexecuted instantiation: instrument.c:MVM_string_gi_has_more
Unexecuted instantiation: time.c:MVM_string_gi_has_more
Unexecuted instantiation: label.c:MVM_string_gi_has_more
Unexecuted instantiation: compile.c:MVM_string_gi_has_more
Unexecuted instantiation: expr.c:MVM_string_gi_has_more
Unexecuted instantiation: tile.c:MVM_string_gi_has_more
Unexecuted instantiation: linear_scan.c:MVM_string_gi_has_more
Unexecuted instantiation: interface.c:MVM_string_gi_has_more
Unexecuted instantiation: emit.c:MVM_string_gi_has_more
Unexecuted instantiation: arch.c:MVM_string_gi_has_more
utf8_c8.c:MVM_string_gi_has_more
Line
Count
Source
134
95.0k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
8.68k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
95.0k
}
Unexecuted instantiation: worker.c:MVM_string_gi_has_more
Unexecuted instantiation: stats.c:MVM_string_gi_has_more
Unexecuted instantiation: plan.c:MVM_string_gi_has_more
Unexecuted instantiation: arg_guard.c:MVM_string_gi_has_more
Unexecuted instantiation: plugin.c:MVM_string_gi_has_more
decode_stream.c:MVM_string_gi_has_more
Line
Count
Source
134
2.62k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
1.30k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
2.62k
}
ascii.c:MVM_string_gi_has_more
Line
Count
Source
134
33.6k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
1.96k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
33.6k
}
parse_num.c:MVM_string_gi_has_more
Line
Count
Source
134
80.0k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
41.3k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
80.0k
}
utf8.c:MVM_string_gi_has_more
Line
Count
Source
134
1.37M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
31.5k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
1.37M
}
Unexecuted instantiation: iterator.c:MVM_string_gi_has_more
Unexecuted instantiation: nfg.c:MVM_string_gi_has_more
Unexecuted instantiation: unicode.c:MVM_string_gi_has_more
normalize.c:MVM_string_gi_has_more
Line
Count
Source
134
5
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
2
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
5
}
latin1.c:MVM_string_gi_has_more
Line
Count
Source
134
412k
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
37.4k
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
412k
}
utf16.c:MVM_string_gi_has_more
Line
Count
Source
134
2
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
1
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
2
}
windows1252.c:MVM_string_gi_has_more
Line
Count
Source
134
85
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
16
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
85
}
Unexecuted instantiation: shiftjis.c:MVM_string_gi_has_more
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_has_more
Unexecuted instantiation: bigintops.c:MVM_string_gi_has_more
Unexecuted instantiation: worklist.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: debugserver.c:MVM_string_gi_has_more
Unexecuted instantiation: config.c:MVM_string_gi_has_more
Unexecuted instantiation: orchestrate.c:MVM_string_gi_has_more
Unexecuted instantiation: allocation.c:MVM_string_gi_has_more
Unexecuted instantiation: nativecall.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: debug.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: validation.c:MVM_string_gi_has_more
Unexecuted instantiation: callsite.c:MVM_string_gi_has_more
Unexecuted instantiation: args.c:MVM_string_gi_has_more
Unexecuted instantiation: exceptions.c:MVM_string_gi_has_more
interp.c:MVM_string_gi_has_more
Line
Count
Source
134
13
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
5
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
13
}
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: MVMMultiCache.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
134
13.0M
MVM_STATIC_INLINE MVMint32 MVM_string_gi_has_more(MVMThreadContext *tc, MVMGraphemeIter *gi) {
135
2.00M
    return gi->pos < gi->end || gi->repetitions || gi->strands_remaining;
136
13.0M
}
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: dll.c:MVM_string_gi_has_more
Unexecuted instantiation: ext.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMThread.c:MVM_string_gi_has_more
Unexecuted instantiation: P6opaque.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: HashAttrStore.c:MVM_string_gi_has_more
Unexecuted instantiation: fileops.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: 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: MVMException.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_has_more
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_has_more
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_has_more
Unexecuted instantiation: syncfile.c:MVM_string_gi_has_more
Unexecuted instantiation: dirops.c:MVM_string_gi_has_more
Unexecuted instantiation: procops.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
Unexecuted instantiation: containers.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: P6str.c:MVM_string_gi_has_more
137
/* Returns number of graphs left in the strand, ignoring repetitions */
138
56.4k
MVM_STATIC_INLINE MVMStringIndex MVM_string_gi_graphs_left_in_strand(MVMThreadContext *tc, MVMGraphemeIter *gi) {
139
56.4k
    return gi->end - gi->pos;
140
56.4k
}
Unexecuted instantiation: arch.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMHash.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: VMArray.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMString.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: parametric.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: containers.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: reprconv.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: reprs.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: signals.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: filewatchers.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: timers.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: procops.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: dirops.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: fileops.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: syncsocket.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: syncfile.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMException.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: NFA.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: P6bigint.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: SCRef.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMContext.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMIter.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMThread.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: eventloop.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: P6num.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: P6int.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMCode.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: P6opaque.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: P6str.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: validation.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: ext.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: dll.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: coerce.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: num.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: hll.c:MVM_string_gi_graphs_left_in_strand
ops.c:MVM_string_gi_graphs_left_in_strand
Line
Count
Source
138
56.4k
MVM_STATIC_INLINE MVMStringIndex MVM_string_gi_graphs_left_in_strand(MVMThreadContext *tc, MVMGraphemeIter *gi) {
139
56.4k
    return gi->end - gi->pos;
140
56.4k
}
Unexecuted instantiation: threads.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: nativecall.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: callstack.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: frame.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: bytecode.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: compunit.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: threadcontext.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: interp.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: exceptions.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: args.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: callsite.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: allocation.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: io.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: debug.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: finalize.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: objectid.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: wb.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: gen2.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: collect.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: roots.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: worklist.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: interface.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: orchestrate.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: config.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: debugserver.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: regionalloc.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: intcache.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: continuation.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: utf8.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: shiftjis.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: windows1252.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: utf16.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: latin1.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: normalize.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: unicode.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: nfg.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: bigintops.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: parse_num.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: ascii.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: decode_stream.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: plugin.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: arg_guard.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: plan.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: stats.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: worker.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: iterator.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: memmem32.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: emit.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: linear_scan.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: tile.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: expr.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: compile.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: label.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: time.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: mmap.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: moar.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: random.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: sys.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: line_coverage.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: telemeh.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: profile.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: instrument.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: Semaphore.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: Decoder.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: NativeRef.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMNull.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: osr.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CUnion.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CStruct.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CArray.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CStr.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: CPointer.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: NativeCall.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: bootstrap.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: lookup.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: inline.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: threshold.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: log.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: deopt.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: optimize.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: facts.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: manipulate.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: candidate.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: codegen.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: graph.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: dump.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: driver.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: compiler.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: serialization.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: sc.c:MVM_string_gi_graphs_left_in_strand
Unexecuted instantiation: 6model.c:MVM_string_gi_graphs_left_in_strand
141
24.6k
MVM_STATIC_INLINE MVMGrapheme8 * MVM_string_gi_active_blob_8_pos(MVMThreadContext *tc, MVMGraphemeIter *gi) {
142
24.6k
    return gi->active_blob.blob_8 + gi->pos;
143
24.6k
}
Unexecuted instantiation: arch.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMHash.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: VMArray.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMString.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: parametric.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: containers.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: reprconv.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: reprs.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: signals.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: filewatchers.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: timers.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: procops.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: dirops.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: fileops.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: syncsocket.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: syncfile.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMException.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: NFA.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: P6bigint.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: SCRef.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMContext.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMIter.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMThread.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: eventloop.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: P6num.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: P6int.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMCode.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: P6opaque.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: P6str.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: validation.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: ext.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: dll.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: coerce.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: num.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: hll.c:MVM_string_gi_active_blob_8_pos
ops.c:MVM_string_gi_active_blob_8_pos
Line
Count
Source
141
24.6k
MVM_STATIC_INLINE MVMGrapheme8 * MVM_string_gi_active_blob_8_pos(MVMThreadContext *tc, MVMGraphemeIter *gi) {
142
24.6k
    return gi->active_blob.blob_8 + gi->pos;
143
24.6k
}
Unexecuted instantiation: threads.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: nativecall.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: callstack.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: frame.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: bytecode.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: compunit.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: threadcontext.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: interp.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: exceptions.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: args.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: callsite.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: allocation.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: io.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: debug.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: finalize.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: objectid.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: wb.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: gen2.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: collect.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: roots.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: worklist.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: orchestrate.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: config.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: debugserver.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: regionalloc.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: intcache.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: continuation.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: utf8.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: shiftjis.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: windows1252.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: utf16.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: latin1.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: normalize.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: unicode.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: nfg.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: bigintops.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: parse_num.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: ascii.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: decode_stream.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: plugin.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: arg_guard.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: plan.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: stats.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: worker.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: iterator.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: moar.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: emit.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: interface.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: linear_scan.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: tile.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: expr.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: compile.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: label.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: time.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: mmap.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: lookup.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: memmem32.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: random.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: sys.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: line_coverage.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: telemeh.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: profile.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: instrument.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: Semaphore.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: Decoder.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: NativeRef.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMNull.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: 6model.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CUnion.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CStruct.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CArray.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CStr.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: CPointer.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: NativeCall.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: candidate.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: osr.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: inline.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: threshold.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: log.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: deopt.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: optimize.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: facts.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: manipulate.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: codegen.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: graph.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: dump.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: driver.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: compiler.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: serialization.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: sc.c:MVM_string_gi_active_blob_8_pos
Unexecuted instantiation: bootstrap.c:MVM_string_gi_active_blob_8_pos
144
7.22k
MVM_STATIC_INLINE MVMGrapheme32 * MVM_string_gi_active_blob_32_pos(MVMThreadContext *tc, MVMGraphemeIter *gi) {
145
7.22k
    return gi->active_blob.blob_32 + gi->pos;
146
7.22k
}
Unexecuted instantiation: args.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMHash.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: VMArray.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMString.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: parametric.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: containers.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: reprconv.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: reprs.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: signals.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: filewatchers.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: timers.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: procops.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: dirops.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: fileops.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: syncsocket.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: syncfile.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMException.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: NFA.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: P6bigint.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: SCRef.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMContext.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMIter.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMThread.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: eventloop.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: P6num.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: P6int.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMCode.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: P6opaque.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: P6str.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: validation.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: ext.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: dll.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: coerce.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: num.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: hll.c:MVM_string_gi_active_blob_32_pos
ops.c:MVM_string_gi_active_blob_32_pos
Line
Count
Source
144
7.22k
MVM_STATIC_INLINE MVMGrapheme32 * MVM_string_gi_active_blob_32_pos(MVMThreadContext *tc, MVMGraphemeIter *gi) {
145
7.22k
    return gi->active_blob.blob_32 + gi->pos;
146
7.22k
}
Unexecuted instantiation: threads.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: nativecall.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: callstack.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: frame.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: bytecode.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: compunit.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: threadcontext.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: interp.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: exceptions.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: callsite.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: arch.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: allocation.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: io.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: debug.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: finalize.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: objectid.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: wb.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: gen2.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: collect.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: roots.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: worklist.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: emit.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: orchestrate.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: config.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: debugserver.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: regionalloc.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: intcache.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: continuation.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: utf8.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: shiftjis.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: windows1252.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: utf16.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: latin1.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: normalize.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: unicode.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: nfg.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: bigintops.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: parse_num.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: ascii.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: decode_stream.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: plugin.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: arg_guard.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: plan.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: stats.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: worker.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: iterator.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: moar.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: interface.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: linear_scan.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: tile.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: expr.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: compile.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: label.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: time.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: mmap.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: memmem32.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: random.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: sys.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: line_coverage.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: telemeh.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: profile.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: instrument.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: Semaphore.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: Decoder.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: NativeRef.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMNull.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: osr.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CUnion.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CStruct.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CArray.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CStr.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: CPointer.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: NativeCall.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: lookup.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: bootstrap.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: 6model.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: inline.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: threshold.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: log.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: deopt.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: optimize.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: facts.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: manipulate.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: codegen.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: graph.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: dump.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: driver.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: compiler.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: serialization.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: sc.c:MVM_string_gi_active_blob_32_pos
Unexecuted instantiation: candidate.c:MVM_string_gi_active_blob_32_pos
147
56.4k
MVM_STATIC_INLINE MVMuint16 MVM_string_gi_blob_type(MVMThreadContext *tc, MVMGraphemeIter *gi) {
148
56.4k
    return gi->blob_type;
149
56.4k
}
Unexecuted instantiation: reprconv.c:MVM_string_gi_blob_type
Unexecuted instantiation: containers.c:MVM_string_gi_blob_type
Unexecuted instantiation: parametric.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMString.c:MVM_string_gi_blob_type
Unexecuted instantiation: VMArray.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMHash.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_blob_type
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_blob_type
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_blob_type
Unexecuted instantiation: reprs.c:MVM_string_gi_blob_type
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_blob_type
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_blob_type
Unexecuted instantiation: signals.c:MVM_string_gi_blob_type
Unexecuted instantiation: filewatchers.c:MVM_string_gi_blob_type
Unexecuted instantiation: timers.c:MVM_string_gi_blob_type
Unexecuted instantiation: procops.c:MVM_string_gi_blob_type
Unexecuted instantiation: dirops.c:MVM_string_gi_blob_type
Unexecuted instantiation: fileops.c:MVM_string_gi_blob_type
Unexecuted instantiation: syncsocket.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMThread.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMException.c:MVM_string_gi_blob_type
Unexecuted instantiation: NFA.c:MVM_string_gi_blob_type
Unexecuted instantiation: P6bigint.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_blob_type
Unexecuted instantiation: SCRef.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMContext.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMIter.c:MVM_string_gi_blob_type
Unexecuted instantiation: P6str.c:MVM_string_gi_blob_type
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_blob_type
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_blob_type
Unexecuted instantiation: P6num.c:MVM_string_gi_blob_type
Unexecuted instantiation: P6int.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMCode.c:MVM_string_gi_blob_type
Unexecuted instantiation: P6opaque.c:MVM_string_gi_blob_type
Unexecuted instantiation: validation.c:MVM_string_gi_blob_type
Unexecuted instantiation: ext.c:MVM_string_gi_blob_type
Unexecuted instantiation: dll.c:MVM_string_gi_blob_type
Unexecuted instantiation: coerce.c:MVM_string_gi_blob_type
Unexecuted instantiation: num.c:MVM_string_gi_blob_type
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_blob_type
Unexecuted instantiation: hll.c:MVM_string_gi_blob_type
ops.c:MVM_string_gi_blob_type
Line
Count
Source
147
56.4k
MVM_STATIC_INLINE MVMuint16 MVM_string_gi_blob_type(MVMThreadContext *tc, MVMGraphemeIter *gi) {
148
56.4k
    return gi->blob_type;
149
56.4k
}
Unexecuted instantiation: threads.c:MVM_string_gi_blob_type
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_blob_type
Unexecuted instantiation: nativecall.c:MVM_string_gi_blob_type
Unexecuted instantiation: callstack.c:MVM_string_gi_blob_type
Unexecuted instantiation: frame.c:MVM_string_gi_blob_type
Unexecuted instantiation: bytecode.c:MVM_string_gi_blob_type
Unexecuted instantiation: compunit.c:MVM_string_gi_blob_type
Unexecuted instantiation: threadcontext.c:MVM_string_gi_blob_type
Unexecuted instantiation: interp.c:MVM_string_gi_blob_type
Unexecuted instantiation: exceptions.c:MVM_string_gi_blob_type
Unexecuted instantiation: args.c:MVM_string_gi_blob_type
Unexecuted instantiation: callsite.c:MVM_string_gi_blob_type
Unexecuted instantiation: worklist.c:MVM_string_gi_blob_type
Unexecuted instantiation: eventloop.c:MVM_string_gi_blob_type
Unexecuted instantiation: io.c:MVM_string_gi_blob_type
Unexecuted instantiation: debug.c:MVM_string_gi_blob_type
Unexecuted instantiation: finalize.c:MVM_string_gi_blob_type
Unexecuted instantiation: objectid.c:MVM_string_gi_blob_type
Unexecuted instantiation: wb.c:MVM_string_gi_blob_type
Unexecuted instantiation: gen2.c:MVM_string_gi_blob_type
Unexecuted instantiation: collect.c:MVM_string_gi_blob_type
Unexecuted instantiation: roots.c:MVM_string_gi_blob_type
Unexecuted instantiation: syncfile.c:MVM_string_gi_blob_type
Unexecuted instantiation: allocation.c:MVM_string_gi_blob_type
Unexecuted instantiation: orchestrate.c:MVM_string_gi_blob_type
Unexecuted instantiation: config.c:MVM_string_gi_blob_type
Unexecuted instantiation: debugserver.c:MVM_string_gi_blob_type
Unexecuted instantiation: regionalloc.c:MVM_string_gi_blob_type
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_blob_type
Unexecuted instantiation: intcache.c:MVM_string_gi_blob_type
Unexecuted instantiation: continuation.c:MVM_string_gi_blob_type
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_blob_type
Unexecuted instantiation: nfg.c:MVM_string_gi_blob_type
Unexecuted instantiation: instrument.c:MVM_string_gi_blob_type
Unexecuted instantiation: bigintops.c:MVM_string_gi_blob_type
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_blob_type
Unexecuted instantiation: shiftjis.c:MVM_string_gi_blob_type
Unexecuted instantiation: windows1252.c:MVM_string_gi_blob_type
Unexecuted instantiation: utf16.c:MVM_string_gi_blob_type
Unexecuted instantiation: latin1.c:MVM_string_gi_blob_type
Unexecuted instantiation: normalize.c:MVM_string_gi_blob_type
Unexecuted instantiation: unicode.c:MVM_string_gi_blob_type
Unexecuted instantiation: profile.c:MVM_string_gi_blob_type
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_blob_type
Unexecuted instantiation: utf8.c:MVM_string_gi_blob_type
Unexecuted instantiation: parse_num.c:MVM_string_gi_blob_type
Unexecuted instantiation: ascii.c:MVM_string_gi_blob_type
Unexecuted instantiation: decode_stream.c:MVM_string_gi_blob_type
Unexecuted instantiation: plugin.c:MVM_string_gi_blob_type
Unexecuted instantiation: arg_guard.c:MVM_string_gi_blob_type
Unexecuted instantiation: plan.c:MVM_string_gi_blob_type
Unexecuted instantiation: stats.c:MVM_string_gi_blob_type
Unexecuted instantiation: time.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_blob_type
Unexecuted instantiation: arch.c:MVM_string_gi_blob_type
Unexecuted instantiation: emit.c:MVM_string_gi_blob_type
Unexecuted instantiation: interface.c:MVM_string_gi_blob_type
Unexecuted instantiation: linear_scan.c:MVM_string_gi_blob_type
Unexecuted instantiation: tile.c:MVM_string_gi_blob_type
Unexecuted instantiation: expr.c:MVM_string_gi_blob_type
Unexecuted instantiation: compile.c:MVM_string_gi_blob_type
Unexecuted instantiation: label.c:MVM_string_gi_blob_type
Unexecuted instantiation: worker.c:MVM_string_gi_blob_type
Unexecuted instantiation: mmap.c:MVM_string_gi_blob_type
Unexecuted instantiation: moar.c:MVM_string_gi_blob_type
Unexecuted instantiation: memmem32.c:MVM_string_gi_blob_type
Unexecuted instantiation: random.c:MVM_string_gi_blob_type
Unexecuted instantiation: sys.c:MVM_string_gi_blob_type
Unexecuted instantiation: line_coverage.c:MVM_string_gi_blob_type
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_blob_type
Unexecuted instantiation: telemeh.c:MVM_string_gi_blob_type
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_blob_type
Unexecuted instantiation: bootstrap.c:MVM_string_gi_blob_type
Unexecuted instantiation: 6model.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_blob_type
Unexecuted instantiation: Decoder.c:MVM_string_gi_blob_type
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_blob_type
Unexecuted instantiation: NativeRef.c:MVM_string_gi_blob_type
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_blob_type
Unexecuted instantiation: MVMNull.c:MVM_string_gi_blob_type
Unexecuted instantiation: sc.c:MVM_string_gi_blob_type
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_blob_type
Unexecuted instantiation: Semaphore.c:MVM_string_gi_blob_type
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_blob_type
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_blob_type
Unexecuted instantiation: CUnion.c:MVM_string_gi_blob_type
Unexecuted instantiation: CStruct.c:MVM_string_gi_blob_type
Unexecuted instantiation: CArray.c:MVM_string_gi_blob_type
Unexecuted instantiation: CStr.c:MVM_string_gi_blob_type
Unexecuted instantiation: CPointer.c:MVM_string_gi_blob_type
Unexecuted instantiation: facts.c:MVM_string_gi_blob_type
Unexecuted instantiation: iterator.c:MVM_string_gi_blob_type
Unexecuted instantiation: lookup.c:MVM_string_gi_blob_type
Unexecuted instantiation: osr.c:MVM_string_gi_blob_type
Unexecuted instantiation: inline.c:MVM_string_gi_blob_type
Unexecuted instantiation: threshold.c:MVM_string_gi_blob_type
Unexecuted instantiation: log.c:MVM_string_gi_blob_type
Unexecuted instantiation: deopt.c:MVM_string_gi_blob_type
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_blob_type
Unexecuted instantiation: optimize.c:MVM_string_gi_blob_type
Unexecuted instantiation: NativeCall.c:MVM_string_gi_blob_type
Unexecuted instantiation: manipulate.c:MVM_string_gi_blob_type
Unexecuted instantiation: candidate.c:MVM_string_gi_blob_type
Unexecuted instantiation: codegen.c:MVM_string_gi_blob_type
Unexecuted instantiation: graph.c:MVM_string_gi_blob_type
Unexecuted instantiation: dump.c:MVM_string_gi_blob_type
Unexecuted instantiation: driver.c:MVM_string_gi_blob_type
Unexecuted instantiation: compiler.c:MVM_string_gi_blob_type
Unexecuted instantiation: serialization.c:MVM_string_gi_blob_type
150
/* Returns if there are more strands left in the gi, including repetitions */
151
43.1k
MVM_STATIC_INLINE int MVM_string_gi_has_more_strands_rep(MVMThreadContext *tc, MVMGraphemeIter *gi) {
152
50
    return !!(gi->strands_remaining || gi->repetitions);
153
43.1k
}
Unexecuted instantiation: manipulate.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: bootstrap.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: sc.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: serialization.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: compiler.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: driver.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: dump.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: graph.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: codegen.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: candidate.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: 6model.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: facts.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: optimize.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: deopt.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: log.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: threshold.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: inline.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: osr.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: lookup.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: Semaphore.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: NativeCall.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CPointer.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CStr.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CArray.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CStruct.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CUnion.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: iterator.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMNull.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: NativeRef.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: Decoder.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: mmap.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: profile.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: telemeh.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: line_coverage.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: sys.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: random.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: memmem32.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: moar.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: instrument.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: time.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: label.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: compile.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: expr.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: tile.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: linear_scan.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: interface.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: emit.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: arch.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: worker.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: stats.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: plan.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: arg_guard.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: plugin.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: decode_stream.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: ascii.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: parse_num.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: utf8.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: nfg.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: unicode.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: normalize.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: latin1.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: utf16.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: windows1252.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: shiftjis.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: bigintops.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: worklist.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: continuation.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: intcache.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: regionalloc.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: debugserver.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: config.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: orchestrate.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: allocation.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: nativecall.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: roots.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: collect.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: gen2.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: wb.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: objectid.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: finalize.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: debug.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: io.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: eventloop.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: validation.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: callsite.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: args.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: exceptions.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: interp.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: threadcontext.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: compunit.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: bytecode.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: frame.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: callstack.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: syncfile.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: threads.c:MVM_string_gi_has_more_strands_rep
ops.c:MVM_string_gi_has_more_strands_rep
Line
Count
Source
151
43.1k
MVM_STATIC_INLINE int MVM_string_gi_has_more_strands_rep(MVMThreadContext *tc, MVMGraphemeIter *gi) {
152
50
    return !!(gi->strands_remaining || gi->repetitions);
153
43.1k
}
Unexecuted instantiation: hll.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: num.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: coerce.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: dll.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: ext.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: P6str.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: P6opaque.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMCode.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: P6int.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: P6num.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMThread.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMIter.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMContext.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: SCRef.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: P6bigint.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: NFA.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMException.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: reprs.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: syncsocket.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: fileops.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: dirops.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: procops.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: timers.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: filewatchers.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: signals.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: reprconv.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: containers.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: parametric.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMString.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: VMArray.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMHash.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_has_more_strands_rep
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_has_more_strands_rep
154
/* Gets the next grapheme. */
155
35.5M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
38.4M
    while (1) {
157
38.4M
        if (gi->pos < gi->end) {
158
35.5M
            switch (gi->blob_type) {
159
25.8M
                case MVM_STRING_GRAPHEME_32:
160
25.8M
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
9.61M
                case MVM_STRING_GRAPHEME_8:
164
9.61M
                    return gi->active_blob.blob_8[gi->pos++];
165
35.5M
                }
166
35.5M
        }
167
2.94M
        else if (gi->repetitions) {
168
2.23M
            gi->pos = gi->start;
169
2.23M
            gi->repetitions--;
170
2.23M
        }
171
718k
        else if (gi->strands_remaining) {
172
718k
            MVMStringStrand *next = gi->next_strand;
173
718k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
718k
            gi->blob_type       = next->blob_string->body.storage_type;
175
718k
            gi->pos             = next->start;
176
718k
            gi->end             = next->end;
177
718k
            gi->start           = next->start;
178
718k
            gi->repetitions     = next->repetitions;
179
718k
            gi->strands_remaining--;
180
718k
            gi->next_strand++;
181
718k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
38.4M
    }
186
35.5M
}
Unexecuted instantiation: callsite.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMHash.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: VMArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMString.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: parametric.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: containers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: reprconv.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: reprs.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: signals.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: filewatchers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: timers.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: procops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dirops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: fileops.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncsocket.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: syncfile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMException.c:MVM_string_gi_get_grapheme
NFA.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
2.21M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
2.21M
    while (1) {
157
2.21M
        if (gi->pos < gi->end) {
158
2.21M
            switch (gi->blob_type) {
159
2.00M
                case MVM_STRING_GRAPHEME_32:
160
2.00M
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
206k
                case MVM_STRING_GRAPHEME_8:
164
206k
                    return gi->active_blob.blob_8[gi->pos++];
165
2.21M
                }
166
2.21M
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
2.21M
    }
186
2.21M
}
Unexecuted instantiation: P6bigint.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: SCRef.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMContext.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMIter.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMThread.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: eventloop.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6num.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6int.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMCode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6opaque.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: P6str.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: validation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ext.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dll.c:MVM_string_gi_get_grapheme
coerce.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
9.48k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
9.48k
    while (1) {
157
9.48k
        if (gi->pos < gi->end) {
158
9.48k
            switch (gi->blob_type) {
159
8.92k
                case MVM_STRING_GRAPHEME_32:
160
8.92k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
557
                case MVM_STRING_GRAPHEME_8:
164
557
                    return gi->active_blob.blob_8[gi->pos++];
165
9.48k
                }
166
9.48k
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
9.48k
    }
186
9.48k
}
Unexecuted instantiation: num.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: hll.c:MVM_string_gi_get_grapheme
ops.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
28.6M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
31.2M
    while (1) {
157
31.2M
        if (gi->pos < gi->end) {
158
28.6M
            switch (gi->blob_type) {
159
20.0M
                case MVM_STRING_GRAPHEME_32:
160
20.0M
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
8.57M
                case MVM_STRING_GRAPHEME_8:
164
8.57M
                    return gi->active_blob.blob_8[gi->pos++];
165
28.6M
                }
166
28.6M
        }
167
2.66M
        else if (gi->repetitions) {
168
2.02M
            gi->pos = gi->start;
169
2.02M
            gi->repetitions--;
170
2.02M
        }
171
634k
        else if (gi->strands_remaining) {
172
634k
            MVMStringStrand *next = gi->next_strand;
173
634k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
634k
            gi->blob_type       = next->blob_string->body.storage_type;
175
634k
            gi->pos             = next->start;
176
634k
            gi->end             = next->end;
177
634k
            gi->start           = next->start;
178
634k
            gi->repetitions     = next->repetitions;
179
634k
            gi->strands_remaining--;
180
634k
            gi->next_strand++;
181
634k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
31.2M
    }
186
28.6M
}
Unexecuted instantiation: threads.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: nativecall.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: callstack.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: frame.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bytecode.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: compunit.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: threadcontext.c:MVM_string_gi_get_grapheme
interp.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
9
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
10
    while (1) {
157
10
        if (gi->pos < gi->end) {
158
9
            switch (gi->blob_type) {
159
4
                case MVM_STRING_GRAPHEME_32:
160
4
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
5
                case MVM_STRING_GRAPHEME_8:
164
5
                    return gi->active_blob.blob_8[gi->pos++];
165
9
                }
166
9
        }
167
1
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
1
        else if (gi->strands_remaining) {
172
1
            MVMStringStrand *next = gi->next_strand;
173
1
            gi->active_blob.any = next->blob_string->body.storage.any;
174
1
            gi->blob_type       = next->blob_string->body.storage_type;
175
1
            gi->pos             = next->start;
176
1
            gi->end             = next->end;
177
1
            gi->start           = next->start;
178
1
            gi->repetitions     = next->repetitions;
179
1
            gi->strands_remaining--;
180
1
            gi->next_strand++;
181
1
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
10
    }
186
9
}
Unexecuted instantiation: exceptions.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: args.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: arch.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: allocation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: io.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: debug.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: finalize.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: objectid.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: wb.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: gen2.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: collect.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: roots.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: worklist.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: emit.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: orchestrate.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: config.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: debugserver.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: regionalloc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: intcache.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: continuation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_get_grapheme
utf8.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
1.35M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
1.37M
    while (1) {
157
1.37M
        if (gi->pos < gi->end) {
158
1.35M
            switch (gi->blob_type) {
159
1.31M
                case MVM_STRING_GRAPHEME_32:
160
1.31M
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
41.7k
                case MVM_STRING_GRAPHEME_8:
164
41.7k
                    return gi->active_blob.blob_8[gi->pos++];
165
1.35M
                }
166
1.35M
        }
167
15.5k
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
15.5k
        else if (gi->strands_remaining) {
172
15.5k
            MVMStringStrand *next = gi->next_strand;
173
15.5k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
15.5k
            gi->blob_type       = next->blob_string->body.storage_type;
175
15.5k
            gi->pos             = next->start;
176
15.5k
            gi->end             = next->end;
177
15.5k
            gi->start           = next->start;
178
15.5k
            gi->repetitions     = next->repetitions;
179
15.5k
            gi->strands_remaining--;
180
15.5k
            gi->next_strand++;
181
15.5k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
1.37M
    }
186
1.35M
}
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: shiftjis.c:MVM_string_gi_get_grapheme
windows1252.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
74
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
79
    while (1) {
157
79
        if (gi->pos < gi->end) {
158
74
            switch (gi->blob_type) {
159
56
                case MVM_STRING_GRAPHEME_32:
160
56
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
18
                case MVM_STRING_GRAPHEME_8:
164
18
                    return gi->active_blob.blob_8[gi->pos++];
165
74
                }
166
74
        }
167
5
        else if (gi->repetitions) {
168
1
            gi->pos = gi->start;
169
1
            gi->repetitions--;
170
1
        }
171
4
        else if (gi->strands_remaining) {
172
4
            MVMStringStrand *next = gi->next_strand;
173
4
            gi->active_blob.any = next->blob_string->body.storage.any;
174
4
            gi->blob_type       = next->blob_string->body.storage_type;
175
4
            gi->pos             = next->start;
176
4
            gi->end             = next->end;
177
4
            gi->start           = next->start;
178
4
            gi->repetitions     = next->repetitions;
179
4
            gi->strands_remaining--;
180
4
            gi->next_strand++;
181
4
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
79
    }
186
74
}
utf16.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
1
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
1
    while (1) {
157
1
        if (gi->pos < gi->end) {
158
1
            switch (gi->blob_type) {
159
0
                case MVM_STRING_GRAPHEME_32:
160
0
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
1
                case MVM_STRING_GRAPHEME_8:
164
1
                    return gi->active_blob.blob_8[gi->pos++];
165
1
                }
166
1
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
1
    }
186
1
}
latin1.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
378k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
382k
    while (1) {
157
382k
        if (gi->pos < gi->end) {
158
378k
            switch (gi->blob_type) {
159
158k
                case MVM_STRING_GRAPHEME_32:
160
158k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
220k
                case MVM_STRING_GRAPHEME_8:
164
220k
                    return gi->active_blob.blob_8[gi->pos++];
165
378k
                }
166
378k
        }
167
3.48k
        else if (gi->repetitions) {
168
25
            gi->pos = gi->start;
169
25
            gi->repetitions--;
170
25
        }
171
3.45k
        else if (gi->strands_remaining) {
172
3.45k
            MVMStringStrand *next = gi->next_strand;
173
3.45k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
3.45k
            gi->blob_type       = next->blob_string->body.storage_type;
175
3.45k
            gi->pos             = next->start;
176
3.45k
            gi->end             = next->end;
177
3.45k
            gi->start           = next->start;
178
3.45k
            gi->repetitions     = next->repetitions;
179
3.45k
            gi->strands_remaining--;
180
3.45k
            gi->next_strand++;
181
3.45k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
382k
    }
186
378k
}
normalize.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
3
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
3
    while (1) {
157
3
        if (gi->pos < gi->end) {
158
3
            switch (gi->blob_type) {
159
1
                case MVM_STRING_GRAPHEME_32:
160
1
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
2
                case MVM_STRING_GRAPHEME_8:
164
2
                    return gi->active_blob.blob_8[gi->pos++];
165
3
                }
166
3
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
3
    }
186
3
}
Unexecuted instantiation: unicode.c:MVM_string_gi_get_grapheme
nfg.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
2.38M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
2.62M
    while (1) {
157
2.62M
        if (gi->pos < gi->end) {
158
2.38M
            switch (gi->blob_type) {
159
2.09M
                case MVM_STRING_GRAPHEME_32:
160
2.09M
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
293k
                case MVM_STRING_GRAPHEME_8:
164
293k
                    return gi->active_blob.blob_8[gi->pos++];
165
2.38M
                }
166
2.38M
        }
167
238k
        else if (gi->repetitions) {
168
200k
            gi->pos = gi->start;
169
200k
            gi->repetitions--;
170
200k
        }
171
37.6k
        else if (gi->strands_remaining) {
172
37.6k
            MVMStringStrand *next = gi->next_strand;
173
37.6k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
37.6k
            gi->blob_type       = next->blob_string->body.storage_type;
175
37.6k
            gi->pos             = next->start;
176
37.6k
            gi->end             = next->end;
177
37.6k
            gi->start           = next->start;
178
37.6k
            gi->repetitions     = next->repetitions;
179
37.6k
            gi->strands_remaining--;
180
37.6k
            gi->next_strand++;
181
37.6k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
2.62M
    }
186
2.38M
}
utf8_c8.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
90.7k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
95.1k
    while (1) {
157
95.1k
        if (gi->pos < gi->end) {
158
90.7k
            switch (gi->blob_type) {
159
43.4k
                case MVM_STRING_GRAPHEME_32:
160
43.4k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
47.3k
                case MVM_STRING_GRAPHEME_8:
164
47.3k
                    return gi->active_blob.blob_8[gi->pos++];
165
90.7k
                }
166
90.7k
        }
167
4.40k
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
4.40k
        else if (gi->strands_remaining) {
172
4.40k
            MVMStringStrand *next = gi->next_strand;
173
4.40k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
4.40k
            gi->blob_type       = next->blob_string->body.storage_type;
175
4.40k
            gi->pos             = next->start;
176
4.40k
            gi->end             = next->end;
177
4.40k
            gi->start           = next->start;
178
4.40k
            gi->repetitions     = next->repetitions;
179
4.40k
            gi->strands_remaining--;
180
4.40k
            gi->next_strand++;
181
4.40k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
95.1k
    }
186
90.7k
}
bigintops.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
1.14k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
1.33k
    while (1) {
157
1.33k
        if (gi->pos < gi->end) {
158
1.14k
            switch (gi->blob_type) {
159
104
                case MVM_STRING_GRAPHEME_32:
160
104
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
1.03k
                case MVM_STRING_GRAPHEME_8:
164
1.03k
                    return gi->active_blob.blob_8[gi->pos++];
165
1.14k
                }
166
1.14k
        }
167
192
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
192
        else if (gi->strands_remaining) {
172
192
            MVMStringStrand *next = gi->next_strand;
173
192
            gi->active_blob.any = next->blob_string->body.storage.any;
174
192
            gi->blob_type       = next->blob_string->body.storage_type;
175
192
            gi->pos             = next->start;
176
192
            gi->end             = next->end;
177
192
            gi->start           = next->start;
178
192
            gi->repetitions     = next->repetitions;
179
192
            gi->strands_remaining--;
180
192
            gi->next_strand++;
181
192
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
1.33k
    }
186
1.14k
}
parse_num.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
56.4k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
77.0k
    while (1) {
157
77.0k
        if (gi->pos < gi->end) {
158
56.4k
            switch (gi->blob_type) {
159
50.1k
                case MVM_STRING_GRAPHEME_32:
160
50.1k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
6.28k
                case MVM_STRING_GRAPHEME_8:
164
6.28k
                    return gi->active_blob.blob_8[gi->pos++];
165
56.4k
                }
166
56.4k
        }
167
20.5k
        else if (gi->repetitions) {
168
1.06k
            gi->pos = gi->start;
169
1.06k
            gi->repetitions--;
170
1.06k
        }
171
19.5k
        else if (gi->strands_remaining) {
172
19.5k
            MVMStringStrand *next = gi->next_strand;
173
19.5k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
19.5k
            gi->blob_type       = next->blob_string->body.storage_type;
175
19.5k
            gi->pos             = next->start;
176
19.5k
            gi->end             = next->end;
177
19.5k
            gi->start           = next->start;
178
19.5k
            gi->repetitions     = next->repetitions;
179
19.5k
            gi->strands_remaining--;
180
19.5k
            gi->next_strand++;
181
19.5k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
77.0k
    }
186
56.4k
}
ascii.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
31.6k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
31.6k
    while (1) {
157
31.6k
        if (gi->pos < gi->end) {
158
31.6k
            switch (gi->blob_type) {
159
29.8k
                case MVM_STRING_GRAPHEME_32:
160
29.8k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
1.85k
                case MVM_STRING_GRAPHEME_8:
164
1.85k
                    return gi->active_blob.blob_8[gi->pos++];
165
31.6k
                }
166
31.6k
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
31.6k
    }
186
31.6k
}
decode_stream.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
1.31k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
1.31k
    while (1) {
157
1.31k
        if (gi->pos < gi->end) {
158
1.31k
            switch (gi->blob_type) {
159
0
                case MVM_STRING_GRAPHEME_32:
160
0
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
1.31k
                case MVM_STRING_GRAPHEME_8:
164
1.31k
                    return gi->active_blob.blob_8[gi->pos++];
165
1.31k
                }
166
1.31k
        }
167
0
        else if (gi->repetitions) {
168
0
            gi->pos = gi->start;
169
0
            gi->repetitions--;
170
0
        }
171
0
        else if (gi->strands_remaining) {
172
0
            MVMStringStrand *next = gi->next_strand;
173
0
            gi->active_blob.any = next->blob_string->body.storage.any;
174
0
            gi->blob_type       = next->blob_string->body.storage_type;
175
0
            gi->pos             = next->start;
176
0
            gi->end             = next->end;
177
0
            gi->start           = next->start;
178
0
            gi->repetitions     = next->repetitions;
179
0
            gi->strands_remaining--;
180
0
            gi->next_strand++;
181
0
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
1.31k
    }
186
1.31k
}
Unexecuted instantiation: plugin.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: arg_guard.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: plan.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: stats.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: worker.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: iterator.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: moar.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: interface.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: linear_scan.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: tile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: expr.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: compile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: label.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: time.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: mmap.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: memmem32.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: random.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: sys.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: line_coverage.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: telemeh.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: profile.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: instrument.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Semaphore.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: Decoder.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: NativeRef.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMNull.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: osr.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CUnion.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CStruct.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CArray.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CStr.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: CPointer.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: NativeCall.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: lookup.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: bootstrap.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: 6model.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: inline.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: threshold.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: log.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: deopt.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: optimize.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: facts.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: manipulate.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: codegen.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: graph.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: dump.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: driver.c:MVM_string_gi_get_grapheme
compiler.c:MVM_string_gi_get_grapheme
Line
Count
Source
155
379k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter *gi) {
156
382k
    while (1) {
157
382k
        if (gi->pos < gi->end) {
158
379k
            switch (gi->blob_type) {
159
158k
                case MVM_STRING_GRAPHEME_32:
160
158k
                    return gi->active_blob.blob_32[gi->pos++];
161
0
                case MVM_STRING_GRAPHEME_ASCII:
162
0
                    return gi->active_blob.blob_ascii[gi->pos++];
163
220k
                case MVM_STRING_GRAPHEME_8:
164
220k
                    return gi->active_blob.blob_8[gi->pos++];
165
379k
                }
166
379k
        }
167
3.51k
        else if (gi->repetitions) {
168
25
            gi->pos = gi->start;
169
25
            gi->repetitions--;
170
25
        }
171
3.48k
        else if (gi->strands_remaining) {
172
3.48k
            MVMStringStrand *next = gi->next_strand;
173
3.48k
            gi->active_blob.any = next->blob_string->body.storage.any;
174
3.48k
            gi->blob_type       = next->blob_string->body.storage_type;
175
3.48k
            gi->pos             = next->start;
176
3.48k
            gi->end             = next->end;
177
3.48k
            gi->start           = next->start;
178
3.48k
            gi->repetitions     = next->repetitions;
179
3.48k
            gi->strands_remaining--;
180
3.48k
            gi->next_strand++;
181
3.48k
        }
182
0
        else {
183
0
            MVM_exception_throw_adhoc(tc, "Iteration past end of grapheme iterator");
184
0
        }
185
382k
    }
186
379k
}
Unexecuted instantiation: serialization.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: sc.c:MVM_string_gi_get_grapheme
Unexecuted instantiation: candidate.c:MVM_string_gi_get_grapheme
187
188
189
/* Returns the codepoint without doing checks, for internal VM use only. */
190
11.6M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_get_grapheme_at_nocheck(MVMThreadContext *tc, MVMString *a, MVMint64 index) {
191
11.6M
    switch (a->body.storage_type) {
192
5.61M
        case MVM_STRING_GRAPHEME_32:
193
5.61M
            return a->body.storage.blob_32[index];
194
0
        case MVM_STRING_GRAPHEME_ASCII:
195
0
            return a->body.storage.blob_ascii[index];
196
3.56M
        case MVM_STRING_GRAPHEME_8:
197
3.56M
            return a->body.storage.blob_8[index];
198
2.47M
        case MVM_STRING_STRAND: {
199
2.47M
            MVMGraphemeIter gi;
200
2.47M
            MVM_string_gi_init(tc, &gi, a);
201
2.47M
            MVM_string_gi_move_to(tc, &gi, index);
202
2.47M
            return MVM_string_gi_get_grapheme(tc, &gi);
203
5.61M
        }
204
0
        default:
205
0
            MVM_exception_throw_adhoc(tc, "String corruption detected: bad storage type");
206
11.6M
    }
207
11.6M
}
Unexecuted instantiation: manipulate.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: candidate.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: codegen.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: graph.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: dump.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: driver.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: compiler.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: serialization.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: sc.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: facts.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: optimize.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: deopt.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: log.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: threshold.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: inline.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: osr.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: lookup.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: iterator.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: NativeCall.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CPointer.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CStr.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CArray.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CStruct.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CUnion.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: ReentrantMutex.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: ConditionVariable.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: Semaphore.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: bootstrap.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMNull.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: CPPStruct.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: NativeRef.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MultiDimArray.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: Decoder.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: 6model.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: time.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: heapsnapshot.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: telemeh.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: crossthreadwrite.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: line_coverage.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: sys.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: random.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: memmem32.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: moar.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: mmap.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: profile.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: label.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: compile.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: expr.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: tile.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: linear_scan.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: interface.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: emit.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: arch.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: callsite.c:MVM_string_get_grapheme_at_nocheck
nfg.c:MVM_string_get_grapheme_at_nocheck
Line
Count
Source
190
2.82M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_get_grapheme_at_nocheck(MVMThreadContext *tc, MVMString *a, MVMint64 index) {
191
2.82M
    switch (a->body.storage_type) {
192
61.0k
        case MVM_STRING_GRAPHEME_32:
193
61.0k
            return a->body.storage.blob_32[index];
194
0
        case MVM_STRING_GRAPHEME_ASCII:
195
0
            return a->body.storage.blob_ascii[index];
196
378k
        case MVM_STRING_GRAPHEME_8:
197
378k
            return a->body.storage.blob_8[index];
198
2.38M
        case MVM_STRING_STRAND: {
199
2.38M
            MVMGraphemeIter gi;
200
2.38M
            MVM_string_gi_init(tc, &gi, a);
201
2.38M
            MVM_string_gi_move_to(tc, &gi, index);
202
2.38M
            return MVM_string_gi_get_grapheme(tc, &gi);
203
61.0k
        }
204
0
        default:
205
0
            MVM_exception_throw_adhoc(tc, "String corruption detected: bad storage type");
206
2.82M
    }
207
2.82M
}
Unexecuted instantiation: stats.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: plan.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: arg_guard.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: plugin.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: decode_stream.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: ascii.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: parse_num.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: utf8.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: utf8_c8.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: worker.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: unicode.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: normalize.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: latin1.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: utf16.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: windows1252.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: shiftjis.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_get_grapheme_at_nocheck
bigintops.c:MVM_string_get_grapheme_at_nocheck
Line
Count
Source
190
163
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_get_grapheme_at_nocheck(MVMThreadContext *tc, MVMString *a, MVMint64 index) {
191
163
    switch (a->body.storage_type) {
192
13
        case MVM_STRING_GRAPHEME_32:
193
13
            return a->body.storage.blob_32[index];
194
0
        case MVM_STRING_GRAPHEME_ASCII:
195
0
            return a->body.storage.blob_ascii[index];
196
150
        case MVM_STRING_GRAPHEME_8:
197
150
            return a->body.storage.blob_8[index];
198
0
        case MVM_STRING_STRAND: {
199
0
            MVMGraphemeIter gi;
200
0
            MVM_string_gi_init(tc, &gi, a);
201
0
            MVM_string_gi_move_to(tc, &gi, index);
202
0
            return MVM_string_gi_get_grapheme(tc, &gi);
203
13
        }
204
0
        default:
205
0
            MVM_exception_throw_adhoc(tc, "String corruption detected: bad storage type");
206
163
    }
207
163
}
Unexecuted instantiation: instrument.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: roots.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: continuation.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: intcache.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: fixedsizealloc.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: regionalloc.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: debugserver.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: config.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: orchestrate.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: allocation.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: worklist.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: collect.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: gen2.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: wb.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: objectid.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: finalize.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: debug.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: io.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: eventloop.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: syncfile.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: bytecodedump.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: args.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: exceptions.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: interp.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: threadcontext.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: compunit.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: bytecode.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: frame.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: callstack.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: validation.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: syncsocket.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: threads.c:MVM_string_get_grapheme_at_nocheck
ops.c:MVM_string_get_grapheme_at_nocheck
Line
Count
Source
190
8.81M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_get_grapheme_at_nocheck(MVMThreadContext *tc, MVMString *a, MVMint64 index) {
191
8.81M
    switch (a->body.storage_type) {
192
5.55M
        case MVM_STRING_GRAPHEME_32:
193
5.55M
            return a->body.storage.blob_32[index];
194
0
        case MVM_STRING_GRAPHEME_ASCII:
195
0
            return a->body.storage.blob_ascii[index];
196
3.18M
        case MVM_STRING_GRAPHEME_8:
197
3.18M
            return a->body.storage.blob_8[index];
198
77.1k
        case MVM_STRING_STRAND: {
199
77.1k
            MVMGraphemeIter gi;
200
77.1k
            MVM_string_gi_init(tc, &gi, a);
201
77.1k
            MVM_string_gi_move_to(tc, &gi, index);
202
77.1k
            return MVM_string_gi_get_grapheme(tc, &gi);
203
5.55M
        }
204
0
        default:
205
0
            MVM_exception_throw_adhoc(tc, "String corruption detected: bad storage type");
206
8.81M
    }
207
8.81M
}
Unexecuted instantiation: hll.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: loadbytecode.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: num.c:MVM_string_get_grapheme_at_nocheck
coerce.c:MVM_string_get_grapheme_at_nocheck
Line
Count
Source
190
9.77k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_get_grapheme_at_nocheck(MVMThreadContext *tc, MVMString *a, MVMint64 index) {
191
9.77k
    switch (a->body.storage_type) {
192
186
        case MVM_STRING_GRAPHEME_32:
193
186
            return a->body.storage.blob_32[index];
194
0
        case MVM_STRING_GRAPHEME_ASCII:
195
0
            return a->body.storage.blob_ascii[index];
196
99
        case MVM_STRING_GRAPHEME_8:
197
99
            return a->body.storage.blob_8[index];
198
9.48k
        case MVM_STRING_STRAND: {
199
9.48k
            MVMGraphemeIter gi;
200
9.48k
            MVM_string_gi_init(tc, &gi, a);
201
9.48k
            MVM_string_gi_move_to(tc, &gi, index);
202
9.48k
            return MVM_string_gi_get_grapheme(tc, &gi);
203
186
        }
204
0
        default:
205
0
            MVM_exception_throw_adhoc(tc, "String corruption detected: bad storage type");
206
9.77k
    }
207
9.77k
}
Unexecuted instantiation: dll.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: ext.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: nativecall.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMThread.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: P6opaque.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMCode.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMOSHandle.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMCompUnit.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: P6int.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: P6num.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: Uninstantiable.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: HashAttrStore.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: P6str.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMIter.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMContext.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: SCRef.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMCallCapture.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: P6bigint.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: NFA.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMException.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMDLLSym.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMMultiCache.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: reprconv.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: fileops.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: dirops.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: procops.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: timers.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: filewatchers.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: signals.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: asyncsocket.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: asyncsocketudp.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: reprs.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMContinuation.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: containers.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: parametric.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMString.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: VMArray.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMHash.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: MVMCFunction.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_get_grapheme_at_nocheck
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_get_grapheme_at_nocheck
208
209
/* Code point iterator. Uses the grapheme iterator, and adds some extra bits
210
 * in order to iterate the code points in synthetics. */
211
struct MVMCodepointIter {
212
    /* The grapheme iterator. */
213
    MVMGraphemeIter gi;
214
215
    /* The codes of the current synthetic we're walking through, if any, with
216
     * the number of combiners we returned so far, and the total number of
217
     * combiners there are. */
218
    MVMCodepoint  *synth_codes;
219
    MVMint32       visited_synth_codes;
220
    MVMint32       total_synth_codes;
221
    /* first_code is only used for string_grapheme_ci functions */
222
    MVMCodepoint   first_code;
223
    /* If we should translate newline \n into \r\n. */
224
    MVMint32       translate_newlines;
225
    /* Used to pass through utf8-c8 synthetics, but not any others so we can
226
     * renomalize text without getting rid of utf8-c8 synthetics */
227
    MVMint32       pass_utfc8_synthetics;
228
229
};
230
231
/* Initializes a code point iterator. */
232
MVM_STATIC_INLINE void MVM_string_ci_init(MVMThreadContext *tc, MVMCodepointIter *ci, MVMString *s,
233
57.9k
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
57.9k
    /* Initialize our underlying grapheme iterator. */
235
57.9k
    MVM_string_gi_init(tc, &(ci->gi), s);
236
57.9k
237
57.9k
    /* We've no currently active synthetic codepoint (and other fields are
238
57.9k
     * unused until we do, so leave them alone for now). */
239
57.9k
    ci->synth_codes           = NULL;
240
57.9k
    ci->translate_newlines    = translate_newlines;
241
57.9k
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
57.9k
};
Unexecuted instantiation: facts.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: dump.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: bootstrap.c:MVM_string_ci_init
Unexecuted instantiation: optimize.c:MVM_string_ci_init
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_ci_init
Unexecuted instantiation: deopt.c:MVM_string_ci_init
Unexecuted instantiation: log.c:MVM_string_ci_init
Unexecuted instantiation: threshold.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: iterator.c:MVM_string_ci_init
Unexecuted instantiation: ConcBlockingQueue.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: CStruct.c:MVM_string_ci_init
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: worker.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: MVMSpeshLog.c:MVM_string_ci_init
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_ci_init
Unexecuted instantiation: 6model.c:MVM_string_ci_init
Unexecuted instantiation: mmap.c:MVM_string_ci_init
Unexecuted instantiation: profile.c:MVM_string_ci_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_ci_init
Unexecuted instantiation: telemeh.c:MVM_string_ci_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_ci_init
Unexecuted instantiation: line_coverage.c:MVM_string_ci_init
Unexecuted instantiation: sys.c:MVM_string_ci_init
Unexecuted instantiation: random.c:MVM_string_ci_init
Unexecuted instantiation: memmem32.c:MVM_string_ci_init
Unexecuted instantiation: moar.c:MVM_string_ci_init
Unexecuted instantiation: instrument.c:MVM_string_ci_init
Unexecuted instantiation: time.c:MVM_string_ci_init
Unexecuted instantiation: label.c:MVM_string_ci_init
Unexecuted instantiation: compile.c:MVM_string_ci_init
Unexecuted instantiation: expr.c:MVM_string_ci_init
Unexecuted instantiation: tile.c:MVM_string_ci_init
Unexecuted instantiation: linear_scan.c:MVM_string_ci_init
Unexecuted instantiation: interface.c:MVM_string_ci_init
Unexecuted instantiation: emit.c:MVM_string_ci_init
Unexecuted instantiation: arch.c:MVM_string_ci_init
Unexecuted instantiation: nfg.c:MVM_string_ci_init
Unexecuted instantiation: stats.c:MVM_string_ci_init
Unexecuted instantiation: plan.c:MVM_string_ci_init
Unexecuted instantiation: arg_guard.c:MVM_string_ci_init
Unexecuted instantiation: plugin.c:MVM_string_ci_init
Unexecuted instantiation: decode_stream.c:MVM_string_ci_init
ascii.c:MVM_string_ci_init
Line
Count
Source
233
1.96k
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
1.96k
    /* Initialize our underlying grapheme iterator. */
235
1.96k
    MVM_string_gi_init(tc, &(ci->gi), s);
236
1.96k
237
1.96k
    /* We've no currently active synthetic codepoint (and other fields are
238
1.96k
     * unused until we do, so leave them alone for now). */
239
1.96k
    ci->synth_codes           = NULL;
240
1.96k
    ci->translate_newlines    = translate_newlines;
241
1.96k
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
1.96k
};
parse_num.c:MVM_string_ci_init
Line
Count
Source
233
5.91k
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
5.91k
    /* Initialize our underlying grapheme iterator. */
235
5.91k
    MVM_string_gi_init(tc, &(ci->gi), s);
236
5.91k
237
5.91k
    /* We've no currently active synthetic codepoint (and other fields are
238
5.91k
     * unused until we do, so leave them alone for now). */
239
5.91k
    ci->synth_codes           = NULL;
240
5.91k
    ci->translate_newlines    = translate_newlines;
241
5.91k
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
5.91k
};
utf8.c:MVM_string_ci_init
Line
Count
Source
233
16.0k
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
16.0k
    /* Initialize our underlying grapheme iterator. */
235
16.0k
    MVM_string_gi_init(tc, &(ci->gi), s);
236
16.0k
237
16.0k
    /* We've no currently active synthetic codepoint (and other fields are
238
16.0k
     * unused until we do, so leave them alone for now). */
239
16.0k
    ci->synth_codes           = NULL;
240
16.0k
    ci->translate_newlines    = translate_newlines;
241
16.0k
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
16.0k
};
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_init
Unexecuted instantiation: unicode.c:MVM_string_ci_init
normalize.c:MVM_string_ci_init
Line
Count
Source
233
2
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
2
    /* Initialize our underlying grapheme iterator. */
235
2
    MVM_string_gi_init(tc, &(ci->gi), s);
236
2
237
2
    /* We've no currently active synthetic codepoint (and other fields are
238
2
     * unused until we do, so leave them alone for now). */
239
2
    ci->synth_codes           = NULL;
240
2
    ci->translate_newlines    = translate_newlines;
241
2
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
2
};
latin1.c:MVM_string_ci_init
Line
Count
Source
233
33.9k
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
33.9k
    /* Initialize our underlying grapheme iterator. */
235
33.9k
    MVM_string_gi_init(tc, &(ci->gi), s);
236
33.9k
237
33.9k
    /* We've no currently active synthetic codepoint (and other fields are
238
33.9k
     * unused until we do, so leave them alone for now). */
239
33.9k
    ci->synth_codes           = NULL;
240
33.9k
    ci->translate_newlines    = translate_newlines;
241
33.9k
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
33.9k
};
utf16.c:MVM_string_ci_init
Line
Count
Source
233
1
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
1
    /* Initialize our underlying grapheme iterator. */
235
1
    MVM_string_gi_init(tc, &(ci->gi), s);
236
1
237
1
    /* We've no currently active synthetic codepoint (and other fields are
238
1
     * unused until we do, so leave them alone for now). */
239
1
    ci->synth_codes           = NULL;
240
1
    ci->translate_newlines    = translate_newlines;
241
1
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
1
};
windows1252.c:MVM_string_ci_init
Line
Count
Source
233
13
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
13
    /* Initialize our underlying grapheme iterator. */
235
13
    MVM_string_gi_init(tc, &(ci->gi), s);
236
13
237
13
    /* We've no currently active synthetic codepoint (and other fields are
238
13
     * unused until we do, so leave them alone for now). */
239
13
    ci->synth_codes           = NULL;
240
13
    ci->translate_newlines    = translate_newlines;
241
13
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
13
};
Unexecuted instantiation: shiftjis.c:MVM_string_ci_init
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_ci_init
Unexecuted instantiation: bigintops.c:MVM_string_ci_init
Unexecuted instantiation: roots.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: debugserver.c:MVM_string_ci_init
Unexecuted instantiation: config.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: nativecall_dyncall.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: finalize.c:MVM_string_ci_init
Unexecuted instantiation: debug.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: bytecodedump.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: frame.c:MVM_string_ci_init
Unexecuted instantiation: callstack.c:MVM_string_ci_init
Unexecuted instantiation: validation.c:MVM_string_ci_init
Unexecuted instantiation: syncsocket.c:MVM_string_ci_init
Unexecuted instantiation: threads.c:MVM_string_ci_init
ops.c:MVM_string_ci_init
Line
Count
Source
233
19
        MVMint32 translate_newlines, MVMint32 pass_utfc8_synthetics) {
234
19
    /* Initialize our underlying grapheme iterator. */
235
19
    MVM_string_gi_init(tc, &(ci->gi), s);
236
19
237
19
    /* We've no currently active synthetic codepoint (and other fields are
238
19
     * unused until we do, so leave them alone for now). */
239
19
    ci->synth_codes           = NULL;
240
19
    ci->translate_newlines    = translate_newlines;
241
19
    ci->pass_utfc8_synthetics = pass_utfc8_synthetics;
242
19
};
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: coerce.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: MVMThread.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: Uninstantiable.c:MVM_string_ci_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_ci_init
Unexecuted instantiation: P6str.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: MVMCallCapture.c:MVM_string_ci_init
Unexecuted instantiation: P6bigint.c:MVM_string_ci_init
Unexecuted instantiation: NFA.c:MVM_string_ci_init
Unexecuted instantiation: MVMException.c:MVM_string_ci_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_ci_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_ci_init
Unexecuted instantiation: reprconv.c:MVM_string_ci_init
Unexecuted instantiation: fileops.c:MVM_string_ci_init
Unexecuted instantiation: dirops.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: reprs.c:MVM_string_ci_init
Unexecuted instantiation: callsite.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
243
/* Iterates on a grapheme. Returns the number of codepoints in the grapheme */
244
14
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_grapheme_ci_init(MVMThreadContext *tc, MVMCodepointIter *ci, MVMGrapheme32 g, MVMint32 pass_utfc8_synthetics) {
245
14
    MVMNFGSynthetic *synth = NULL;
246
14
    if (g < 0) {
247
7
        /* Get the synthetics info. */
248
7
        synth = MVM_nfg_get_synthetic_info(tc, g);
249
7
    }
250
14
    /* If we got a synth, but *not* if we are supposed to pass utf8-c8 synthetics
251
14
     * and it is a utf8-c8 synthetic */
252
14
    if (synth && !(pass_utfc8_synthetics && synth->is_utf8_c8)) {
253
7
        /* Set up the iterator so in the next iteration we will start to
254
7
        * hand back codepoints after the initial.
255
7
        * TODO: This may be able to be optimized
256
7
        * to remove first_code. */
257
7
        ci->synth_codes         =  synth->codes + 1;
258
7
        ci->visited_synth_codes = -1;
259
7
        ci->total_synth_codes   =  synth->num_codes - 1;
260
7
        ci->first_code          =  synth->codes[0];
261
7
    }
262
7
    else {
263
7
        ci->synth_codes         =  NULL;
264
7
        ci->visited_synth_codes = -1;
265
7
        ci->total_synth_codes   =  0;
266
7
        ci->first_code          =  g;
267
7
    }
268
14
    return ci->total_synth_codes + 1;
269
14
}
Unexecuted instantiation: containers.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: P6opaque.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: P6str.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMCFunction.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMHash.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: VMArray.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMString.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: parametric.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMCode.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: reprconv.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: reprs.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: asyncsocketudp.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: asyncsocket.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: signals.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: filewatchers.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: timers.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: procops.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: dirops.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMIter.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMException.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: NFA.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: P6bigint.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMCallCapture.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: SCRef.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMContext.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: fileops.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMThread.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: Uninstantiable.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: P6num.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: P6int.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMCompUnit.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMOSHandle.c:MVM_string_grapheme_ci_init
ops.c:MVM_string_grapheme_ci_init
Line
Count
Source
244
14
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_grapheme_ci_init(MVMThreadContext *tc, MVMCodepointIter *ci, MVMGrapheme32 g, MVMint32 pass_utfc8_synthetics) {
245
14
    MVMNFGSynthetic *synth = NULL;
246
14
    if (g < 0) {
247
7
        /* Get the synthetics info. */
248
7
        synth = MVM_nfg_get_synthetic_info(tc, g);
249
7
    }
250
14
    /* If we got a synth, but *not* if we are supposed to pass utf8-c8 synthetics
251
14
     * and it is a utf8-c8 synthetic */
252
14
    if (synth && !(pass_utfc8_synthetics && synth->is_utf8_c8)) {
253
7
        /* Set up the iterator so in the next iteration we will start to
254
7
        * hand back codepoints after the initial.
255
7
        * TODO: This may be able to be optimized
256
7
        * to remove first_code. */
257
7
        ci->synth_codes         =  synth->codes + 1;
258
7
        ci->visited_synth_codes = -1;
259
7
        ci->total_synth_codes   =  synth->num_codes - 1;
260
7
        ci->first_code          =  synth->codes[0];
261
7
    }
262
7
    else {
263
7
        ci->synth_codes         =  NULL;
264
7
        ci->visited_synth_codes = -1;
265
7
        ci->total_synth_codes   =  0;
266
7
        ci->first_code          =  g;
267
7
    }
268
14
    return ci->total_synth_codes + 1;
269
14
}
Unexecuted instantiation: continuation.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: nativecall.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: ext.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: dll.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: coerce.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: num.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: loadbytecode.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: hll.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: intcache.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: threads.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: bytecodedump.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: validation.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: callstack.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: frame.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: bytecode.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: compunit.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: threadcontext.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: interp.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: collect.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: syncsocket.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: syncfile.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: eventloop.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: io.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: debug.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: finalize.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: objectid.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: wb.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: gen2.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: NativeCall.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: roots.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: worklist.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: allocation.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: orchestrate.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: config.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: debugserver.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: regionalloc.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: fixedsizealloc.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: nfg.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: instrument.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: bigintops.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: shiftjis.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: windows1252.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: utf16.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: latin1.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: normalize.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: unicode.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: profile.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: utf8_c8.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: utf8.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: parse_num.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: ascii.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: decode_stream.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: plugin.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: arg_guard.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: plan.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: stats.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: mmap.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: arch.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: emit.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: interface.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: linear_scan.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: tile.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: expr.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: compile.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: label.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: time.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: worker.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: moar.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: memmem32.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: random.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: sys.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: line_coverage.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: telemeh.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: bootstrap.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: 6model.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: Decoder.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MultiDimArray.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: NativeRef.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CPPStruct.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: MVMNull.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: sc.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: Semaphore.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: ConditionVariable.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: ReentrantMutex.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CUnion.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CStruct.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CArray.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CStr.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: CPointer.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: facts.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: iterator.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: lookup.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: osr.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: inline.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: threshold.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: log.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: deopt.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: optimize.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: args.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: manipulate.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: candidate.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: codegen.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: graph.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: dump.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: driver.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: compiler.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: serialization.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: exceptions.c:MVM_string_grapheme_ci_init
Unexecuted instantiation: callsite.c:MVM_string_grapheme_ci_init
270
/* Only for string_grapheme_ci ops */
271
22
MVM_STATIC_INLINE MVMCodepoint MVM_string_grapheme_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
272
22
    MVMCodepoint result = ci->visited_synth_codes < 0
273
14
        ? ci->first_code
274
8
        : ci->synth_codes[ci->visited_synth_codes];
275
22
    ci->visited_synth_codes++;
276
22
    return result;
277
22
}
Unexecuted instantiation: asyncsocket.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMCFunction.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMHash.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: VMArray.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMString.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: parametric.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: containers.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: reprconv.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: reprs.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: asyncsocketudp.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: P6str.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: signals.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: filewatchers.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: timers.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: procops.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: dirops.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: fileops.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: syncsocket.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: syncfile.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: Uninstantiable.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: emit.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: NFA.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: P6bigint.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMCallCapture.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: SCRef.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMContext.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMIter.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMThread.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: HashAttrStore.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: P6num.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: P6int.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMCompUnit.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMOSHandle.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMCode.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: P6opaque.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: io.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: validation.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: ext.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: dll.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: coerce.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: num.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: loadbytecode.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: hll.c:MVM_string_grapheme_ci_get_codepoint
ops.c:MVM_string_grapheme_ci_get_codepoint
Line
Count
Source
271
22
MVM_STATIC_INLINE MVMCodepoint MVM_string_grapheme_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
272
22
    MVMCodepoint result = ci->visited_synth_codes < 0
273
14
        ? ci->first_code
274
8
        : ci->synth_codes[ci->visited_synth_codes];
275
22
    ci->visited_synth_codes++;
276
22
    return result;
277
22
}
Unexecuted instantiation: threads.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: bytecodedump.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: nativecall.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: callstack.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: frame.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: bytecode.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: compunit.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: threadcontext.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: interp.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: exceptions.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: args.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: arch.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: allocation.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMException.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: debug.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: finalize.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: objectid.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: wb.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: gen2.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: collect.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: roots.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: worklist.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: eventloop.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: orchestrate.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: config.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: debugserver.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: regionalloc.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: fixedsizealloc.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: intcache.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: continuation.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: ascii.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: windows1252.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: utf16.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: latin1.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: normalize.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: unicode.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: nfg.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: utf8_c8.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: utf8.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: parse_num.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: shiftjis.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: decode_stream.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: plugin.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: arg_guard.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: plan.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: stats.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: worker.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: iterator.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: lookup.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: osr.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: random.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: interface.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: tile.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: expr.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: compile.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: label.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: time.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: mmap.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: moar.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: memmem32.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: inline.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: sys.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: line_coverage.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: crossthreadwrite.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: telemeh.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: heapsnapshot.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: profile.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: instrument.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: bigintops.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CUnion.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MultiDimArray.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: NativeRef.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CPPStruct.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMNull.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: Semaphore.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: ConditionVariable.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: ReentrantMutex.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: Decoder.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CStruct.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CArray.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CStr.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: CPointer.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: NativeCall.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMContinuation.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMMultiCache.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: callsite.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMDLLSym.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: graph.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: threshold.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: log.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: deopt.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: optimize.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: facts.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: manipulate.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: candidate.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: codegen.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: linear_scan.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: dump.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: driver.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: compiler.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: serialization.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: sc.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: bootstrap.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: 6model.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_grapheme_ci_get_codepoint
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_grapheme_ci_get_codepoint
278
279
/* Checks if there is more to read from a code point iterator; this is the
280
 * case if we're still walking through a synthetic or we have more things
281
 * available from the underlying grapheme iterator. */
282
1.90M
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
1.90M
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
1.90M
}
Unexecuted instantiation: manipulate.c:MVM_string_ci_has_more
Unexecuted instantiation: bootstrap.c:MVM_string_ci_has_more
Unexecuted instantiation: sc.c:MVM_string_ci_has_more
Unexecuted instantiation: serialization.c:MVM_string_ci_has_more
Unexecuted instantiation: compiler.c:MVM_string_ci_has_more
Unexecuted instantiation: driver.c:MVM_string_ci_has_more
Unexecuted instantiation: dump.c:MVM_string_ci_has_more
Unexecuted instantiation: graph.c:MVM_string_ci_has_more
Unexecuted instantiation: codegen.c:MVM_string_ci_has_more
Unexecuted instantiation: candidate.c:MVM_string_ci_has_more
Unexecuted instantiation: 6model.c:MVM_string_ci_has_more
Unexecuted instantiation: facts.c:MVM_string_ci_has_more
Unexecuted instantiation: optimize.c:MVM_string_ci_has_more
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_ci_has_more
Unexecuted instantiation: deopt.c:MVM_string_ci_has_more
Unexecuted instantiation: log.c:MVM_string_ci_has_more
Unexecuted instantiation: threshold.c:MVM_string_ci_has_more
Unexecuted instantiation: inline.c:MVM_string_ci_has_more
Unexecuted instantiation: osr.c:MVM_string_ci_has_more
Unexecuted instantiation: lookup.c:MVM_string_ci_has_more
Unexecuted instantiation: Semaphore.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_has_more
Unexecuted instantiation: NativeCall.c:MVM_string_ci_has_more
Unexecuted instantiation: CPointer.c:MVM_string_ci_has_more
Unexecuted instantiation: CStr.c:MVM_string_ci_has_more
Unexecuted instantiation: CArray.c:MVM_string_ci_has_more
Unexecuted instantiation: CStruct.c:MVM_string_ci_has_more
Unexecuted instantiation: CUnion.c:MVM_string_ci_has_more
Unexecuted instantiation: ReentrantMutex.c:MVM_string_ci_has_more
Unexecuted instantiation: ConditionVariable.c:MVM_string_ci_has_more
Unexecuted instantiation: iterator.c:MVM_string_ci_has_more
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMNull.c:MVM_string_ci_has_more
Unexecuted instantiation: CPPStruct.c:MVM_string_ci_has_more
Unexecuted instantiation: NativeRef.c:MVM_string_ci_has_more
Unexecuted instantiation: MultiDimArray.c:MVM_string_ci_has_more
Unexecuted instantiation: Decoder.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_ci_has_more
Unexecuted instantiation: mmap.c:MVM_string_ci_has_more
Unexecuted instantiation: profile.c:MVM_string_ci_has_more
Unexecuted instantiation: heapsnapshot.c:MVM_string_ci_has_more
Unexecuted instantiation: telemeh.c:MVM_string_ci_has_more
Unexecuted instantiation: crossthreadwrite.c:MVM_string_ci_has_more
Unexecuted instantiation: line_coverage.c:MVM_string_ci_has_more
Unexecuted instantiation: sys.c:MVM_string_ci_has_more
Unexecuted instantiation: random.c:MVM_string_ci_has_more
Unexecuted instantiation: memmem32.c:MVM_string_ci_has_more
Unexecuted instantiation: moar.c:MVM_string_ci_has_more
Unexecuted instantiation: instrument.c:MVM_string_ci_has_more
Unexecuted instantiation: time.c:MVM_string_ci_has_more
Unexecuted instantiation: label.c:MVM_string_ci_has_more
Unexecuted instantiation: compile.c:MVM_string_ci_has_more
Unexecuted instantiation: expr.c:MVM_string_ci_has_more
Unexecuted instantiation: tile.c:MVM_string_ci_has_more
Unexecuted instantiation: linear_scan.c:MVM_string_ci_has_more
Unexecuted instantiation: interface.c:MVM_string_ci_has_more
Unexecuted instantiation: emit.c:MVM_string_ci_has_more
Unexecuted instantiation: arch.c:MVM_string_ci_has_more
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_has_more
Unexecuted instantiation: worker.c:MVM_string_ci_has_more
Unexecuted instantiation: stats.c:MVM_string_ci_has_more
Unexecuted instantiation: plan.c:MVM_string_ci_has_more
Unexecuted instantiation: arg_guard.c:MVM_string_ci_has_more
Unexecuted instantiation: plugin.c:MVM_string_ci_has_more
Unexecuted instantiation: decode_stream.c:MVM_string_ci_has_more
ascii.c:MVM_string_ci_has_more
Line
Count
Source
282
33.6k
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
33.6k
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
33.6k
}
parse_num.c:MVM_string_ci_has_more
Line
Count
Source
282
80.0k
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
80.0k
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
80.0k
}
utf8.c:MVM_string_ci_has_more
Line
Count
Source
282
1.37M
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
1.37M
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
1.37M
}
Unexecuted instantiation: callsite.c:MVM_string_ci_has_more
Unexecuted instantiation: nfg.c:MVM_string_ci_has_more
Unexecuted instantiation: unicode.c:MVM_string_ci_has_more
normalize.c:MVM_string_ci_has_more
Line
Count
Source
282
6
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
5
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
6
}
latin1.c:MVM_string_ci_has_more
Line
Count
Source
282
412k
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
412k
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
412k
}
utf16.c:MVM_string_ci_has_more
Line
Count
Source
282
2
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
2
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
2
}
windows1252.c:MVM_string_ci_has_more
Line
Count
Source
282
85
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
85
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
85
}
Unexecuted instantiation: shiftjis.c:MVM_string_ci_has_more
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_ci_has_more
Unexecuted instantiation: bigintops.c:MVM_string_ci_has_more
Unexecuted instantiation: worklist.c:MVM_string_ci_has_more
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_ci_has_more
Unexecuted instantiation: continuation.c:MVM_string_ci_has_more
Unexecuted instantiation: intcache.c:MVM_string_ci_has_more
Unexecuted instantiation: fixedsizealloc.c:MVM_string_ci_has_more
Unexecuted instantiation: regionalloc.c:MVM_string_ci_has_more
Unexecuted instantiation: debugserver.c:MVM_string_ci_has_more
Unexecuted instantiation: config.c:MVM_string_ci_has_more
Unexecuted instantiation: orchestrate.c:MVM_string_ci_has_more
Unexecuted instantiation: allocation.c:MVM_string_ci_has_more
Unexecuted instantiation: nativecall.c:MVM_string_ci_has_more
Unexecuted instantiation: roots.c:MVM_string_ci_has_more
Unexecuted instantiation: collect.c:MVM_string_ci_has_more
Unexecuted instantiation: gen2.c:MVM_string_ci_has_more
Unexecuted instantiation: wb.c:MVM_string_ci_has_more
Unexecuted instantiation: objectid.c:MVM_string_ci_has_more
Unexecuted instantiation: finalize.c:MVM_string_ci_has_more
Unexecuted instantiation: debug.c:MVM_string_ci_has_more
Unexecuted instantiation: io.c:MVM_string_ci_has_more
Unexecuted instantiation: eventloop.c:MVM_string_ci_has_more
Unexecuted instantiation: validation.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMMultiCache.c:MVM_string_ci_has_more
Unexecuted instantiation: args.c:MVM_string_ci_has_more
Unexecuted instantiation: exceptions.c:MVM_string_ci_has_more
Unexecuted instantiation: interp.c:MVM_string_ci_has_more
Unexecuted instantiation: threadcontext.c:MVM_string_ci_has_more
Unexecuted instantiation: compunit.c:MVM_string_ci_has_more
Unexecuted instantiation: bytecode.c:MVM_string_ci_has_more
Unexecuted instantiation: frame.c:MVM_string_ci_has_more
Unexecuted instantiation: callstack.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMDLLSym.c:MVM_string_ci_has_more
Unexecuted instantiation: bytecodedump.c:MVM_string_ci_has_more
Unexecuted instantiation: threads.c:MVM_string_ci_has_more
ops.c:MVM_string_ci_has_more
Line
Count
Source
282
161
MVM_STATIC_INLINE MVMint32 MVM_string_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
283
153
    return ci->synth_codes || MVM_string_gi_has_more(tc, &(ci->gi));
284
161
}
Unexecuted instantiation: hll.c:MVM_string_ci_has_more
Unexecuted instantiation: loadbytecode.c:MVM_string_ci_has_more
Unexecuted instantiation: num.c:MVM_string_ci_has_more
Unexecuted instantiation: coerce.c:MVM_string_ci_has_more
Unexecuted instantiation: dll.c:MVM_string_ci_has_more
Unexecuted instantiation: ext.c:MVM_string_ci_has_more
Unexecuted instantiation: HashAttrStore.c:MVM_string_ci_has_more
Unexecuted instantiation: P6str.c:MVM_string_ci_has_more
Unexecuted instantiation: P6opaque.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCode.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMOSHandle.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCompUnit.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_ci_has_more
Unexecuted instantiation: P6int.c:MVM_string_ci_has_more
Unexecuted instantiation: P6num.c:MVM_string_ci_has_more
Unexecuted instantiation: Uninstantiable.c:MVM_string_ci_has_more
Unexecuted instantiation: syncsocket.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMThread.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMIter.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMContext.c:MVM_string_ci_has_more
Unexecuted instantiation: SCRef.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCallCapture.c:MVM_string_ci_has_more
Unexecuted instantiation: P6bigint.c:MVM_string_ci_has_more
Unexecuted instantiation: NFA.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMException.c:MVM_string_ci_has_more
Unexecuted instantiation: syncfile.c:MVM_string_ci_has_more
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_ci_has_more
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_ci_has_more
Unexecuted instantiation: fileops.c:MVM_string_ci_has_more
Unexecuted instantiation: dirops.c:MVM_string_ci_has_more
Unexecuted instantiation: procops.c:MVM_string_ci_has_more
Unexecuted instantiation: timers.c:MVM_string_ci_has_more
Unexecuted instantiation: filewatchers.c:MVM_string_ci_has_more
Unexecuted instantiation: signals.c:MVM_string_ci_has_more
Unexecuted instantiation: asyncsocket.c:MVM_string_ci_has_more
Unexecuted instantiation: asyncsocketudp.c:MVM_string_ci_has_more
Unexecuted instantiation: reprconv.c:MVM_string_ci_has_more
Unexecuted instantiation: containers.c:MVM_string_ci_has_more
Unexecuted instantiation: parametric.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMString.c:MVM_string_ci_has_more
Unexecuted instantiation: VMArray.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMHash.c:MVM_string_ci_has_more
Unexecuted instantiation: MVMCFunction.c:MVM_string_ci_has_more
Unexecuted instantiation: reprs.c:MVM_string_ci_has_more
285
/* Only for use with string_grapheme_ci ops */
286
36
MVM_STATIC_INLINE MVMint32 MVM_string_grapheme_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
287
36
    return ci->visited_synth_codes < ci->total_synth_codes;
288
36
}
Unexecuted instantiation: containers.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: parametric.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMString.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: VMArray.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMHash.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMCFunction.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: P6str.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: reprconv.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: reprs.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: asyncsocketudp.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: asyncsocket.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: signals.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: filewatchers.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: timers.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: procops.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: dirops.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: fileops.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMIter.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMContinuation.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMMultiCache.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMDLLSym.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMException.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: NFA.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: P6bigint.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMCallCapture.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: SCRef.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMContext.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: P6opaque.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMThread.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: HashAttrStore.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: Uninstantiable.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: P6num.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: P6int.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMCompUnit.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMOSHandle.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMCode.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: bytecodedump.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: nativecall.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: ext.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: dll.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: coerce.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: num.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: loadbytecode.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: hll.c:MVM_string_grapheme_ci_has_more
ops.c:MVM_string_grapheme_ci_has_more
Line
Count
Source
286
36
MVM_STATIC_INLINE MVMint32 MVM_string_grapheme_ci_has_more(MVMThreadContext *tc, MVMCodepointIter *ci) {
287
36
    return ci->visited_synth_codes < ci->total_synth_codes;
288
36
}
Unexecuted instantiation: threads.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: validation.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: callstack.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: frame.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: bytecode.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: compunit.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: threadcontext.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: interp.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: exceptions.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: args.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: roots.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: syncfile.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: eventloop.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: io.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: debug.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: finalize.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: objectid.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: wb.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: gen2.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: collect.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: syncsocket.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: worklist.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: allocation.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: orchestrate.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: config.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: debugserver.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: regionalloc.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: fixedsizealloc.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: intcache.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: continuation.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: nfg.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: instrument.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: bigintops.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: shiftjis.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: windows1252.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: utf16.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: latin1.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: normalize.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: unicode.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: profile.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: utf8_c8.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: utf8.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: parse_num.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: ascii.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: decode_stream.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: plugin.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: arg_guard.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: plan.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: NativeCall.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: time.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: callsite.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: arch.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: emit.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: interface.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: linear_scan.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: tile.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: expr.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: compile.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: label.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: stats.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: mmap.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: moar.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: memmem32.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: random.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: sys.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: line_coverage.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: crossthreadwrite.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: telemeh.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: heapsnapshot.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: worker.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: 6model.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: Decoder.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MultiDimArray.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: NativeRef.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CPPStruct.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: MVMNull.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: bootstrap.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: Semaphore.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: ConditionVariable.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: ReentrantMutex.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CUnion.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CStruct.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CArray.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CStr.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: CPointer.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: optimize.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: iterator.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: lookup.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: osr.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: inline.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: threshold.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: log.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: deopt.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: sc.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: facts.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: manipulate.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: candidate.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: codegen.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: graph.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: dump.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: driver.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: compiler.c:MVM_string_grapheme_ci_has_more
Unexecuted instantiation: serialization.c:MVM_string_grapheme_ci_has_more
289
290
/* Gets the next code point. */
291
1.82M
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
1.82M
    MVMCodepoint result;
293
1.82M
294
1.82M
    /* Do we have combiners from a synthetic to return? */
295
1.82M
    if (ci->synth_codes) {
296
31
        /* Take the current combiner as the result. */
297
31
        result = ci->synth_codes[ci->visited_synth_codes];
298
31
299
31
        /* If we've seen all of the synthetics, clear up so we'll take another
300
31
         * grapheme next time around. */
301
31
        ci->visited_synth_codes++;
302
31
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
31
            ci->synth_codes = NULL;
304
31
    }
305
1.82M
306
1.82M
    /* Otherwise, proceed to the next grapheme. */
307
1.82M
    else {
308
1.82M
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
1.82M
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
1.82M
        if (g >= 0) {
314
1.82M
            /* It's not a synthetic, so we're done. */
315
1.82M
            result = (MVMCodepoint)g;
316
1.82M
        }
317
31
        else {
318
31
            /* It's a synthetic. Look it up. */
319
31
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
31
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
31
             * pass it back unchanged */
322
31
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
31
            else {
326
31
                /* Set up the iterator so in the next iteration we will start to
327
31
                * hand back codepoints. */
328
31
                ci->synth_codes         = synth->codes + 1;
329
31
                ci->visited_synth_codes = 0;
330
31
                /* Emulate num_combs and subtract one from num_codes */
331
31
                ci->total_synth_codes   = synth->num_codes - 1;
332
31
333
31
                /* Result is the first codepoint of the `codes` array */
334
31
                result = synth->codes[0];
335
31
            }
336
31
        }
337
1.82M
    }
338
1.82M
339
1.82M
    return result;
340
1.82M
}
Unexecuted instantiation: MVMContinuation.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: asyncsocketudp.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: containers.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: KnowHOWAttributeREPR.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: dirops.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: syncfile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: HashAttrStore.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: NFA.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: 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: io.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: P6str.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: callstack.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: dll.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
291
138
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
138
    MVMCodepoint result;
293
138
294
138
    /* Do we have combiners from a synthetic to return? */
295
138
    if (ci->synth_codes) {
296
8
        /* Take the current combiner as the result. */
297
8
        result = ci->synth_codes[ci->visited_synth_codes];
298
8
299
8
        /* If we've seen all of the synthetics, clear up so we'll take another
300
8
         * grapheme next time around. */
301
8
        ci->visited_synth_codes++;
302
8
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
8
            ci->synth_codes = NULL;
304
8
    }
305
138
306
138
    /* Otherwise, proceed to the next grapheme. */
307
130
    else {
308
130
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
130
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
130
        if (g >= 0) {
314
122
            /* It's not a synthetic, so we're done. */
315
122
            result = (MVMCodepoint)g;
316
122
        }
317
8
        else {
318
8
            /* It's a synthetic. Look it up. */
319
8
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
8
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
8
             * pass it back unchanged */
322
8
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
8
            else {
326
8
                /* Set up the iterator so in the next iteration we will start to
327
8
                * hand back codepoints. */
328
8
                ci->synth_codes         = synth->codes + 1;
329
8
                ci->visited_synth_codes = 0;
330
8
                /* Emulate num_combs and subtract one from num_codes */
331
8
                ci->total_synth_codes   = synth->num_codes - 1;
332
8
333
8
                /* Result is the first codepoint of the `codes` array */
334
8
                result = synth->codes[0];
335
8
            }
336
8
        }
337
130
    }
338
138
339
138
    return result;
340
138
}
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: ext.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: arch.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: orchestrate.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: debug.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: finalize.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: eventloop.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: config.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: debugserver.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
utf8.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
1.35M
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
1.35M
    MVMCodepoint result;
293
1.35M
294
1.35M
    /* Do we have combiners from a synthetic to return? */
295
1.35M
    if (ci->synth_codes) {
296
22
        /* Take the current combiner as the result. */
297
22
        result = ci->synth_codes[ci->visited_synth_codes];
298
22
299
22
        /* If we've seen all of the synthetics, clear up so we'll take another
300
22
         * grapheme next time around. */
301
22
        ci->visited_synth_codes++;
302
22
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
22
            ci->synth_codes = NULL;
304
22
    }
305
1.35M
306
1.35M
    /* Otherwise, proceed to the next grapheme. */
307
1.35M
    else {
308
1.35M
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
1.35M
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
1.35M
        if (g >= 0) {
314
1.35M
            /* It's not a synthetic, so we're done. */
315
1.35M
            result = (MVMCodepoint)g;
316
1.35M
        }
317
22
        else {
318
22
            /* It's a synthetic. Look it up. */
319
22
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
22
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
22
             * pass it back unchanged */
322
22
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
22
            else {
326
22
                /* Set up the iterator so in the next iteration we will start to
327
22
                * hand back codepoints. */
328
22
                ci->synth_codes         = synth->codes + 1;
329
22
                ci->visited_synth_codes = 0;
330
22
                /* Emulate num_combs and subtract one from num_codes */
331
22
                ci->total_synth_codes   = synth->num_codes - 1;
332
22
333
22
                /* Result is the first codepoint of the `codes` array */
334
22
                result = synth->codes[0];
335
22
            }
336
22
        }
337
1.35M
    }
338
1.35M
339
1.35M
    return result;
340
1.35M
}
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: shiftjis.c:MVM_string_ci_get_codepoint
windows1252.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
74
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
74
    MVMCodepoint result;
293
74
294
74
    /* Do we have combiners from a synthetic to return? */
295
74
    if (ci->synth_codes) {
296
0
        /* Take the current combiner as the result. */
297
0
        result = ci->synth_codes[ci->visited_synth_codes];
298
0
299
0
        /* If we've seen all of the synthetics, clear up so we'll take another
300
0
         * grapheme next time around. */
301
0
        ci->visited_synth_codes++;
302
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
0
            ci->synth_codes = NULL;
304
0
    }
305
74
306
74
    /* Otherwise, proceed to the next grapheme. */
307
74
    else {
308
74
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
74
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
74
        if (g >= 0) {
314
74
            /* It's not a synthetic, so we're done. */
315
74
            result = (MVMCodepoint)g;
316
74
        }
317
0
        else {
318
0
            /* It's a synthetic. Look it up. */
319
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
0
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
0
             * pass it back unchanged */
322
0
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
0
            else {
326
0
                /* Set up the iterator so in the next iteration we will start to
327
0
                * hand back codepoints. */
328
0
                ci->synth_codes         = synth->codes + 1;
329
0
                ci->visited_synth_codes = 0;
330
0
                /* Emulate num_combs and subtract one from num_codes */
331
0
                ci->total_synth_codes   = synth->num_codes - 1;
332
0
333
0
                /* Result is the first codepoint of the `codes` array */
334
0
                result = synth->codes[0];
335
0
            }
336
0
        }
337
74
    }
338
74
339
74
    return result;
340
74
}
utf16.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
1
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
1
    MVMCodepoint result;
293
1
294
1
    /* Do we have combiners from a synthetic to return? */
295
1
    if (ci->synth_codes) {
296
0
        /* Take the current combiner as the result. */
297
0
        result = ci->synth_codes[ci->visited_synth_codes];
298
0
299
0
        /* If we've seen all of the synthetics, clear up so we'll take another
300
0
         * grapheme next time around. */
301
0
        ci->visited_synth_codes++;
302
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
0
            ci->synth_codes = NULL;
304
0
    }
305
1
306
1
    /* Otherwise, proceed to the next grapheme. */
307
1
    else {
308
1
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
1
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
1
        if (g >= 0) {
314
1
            /* It's not a synthetic, so we're done. */
315
1
            result = (MVMCodepoint)g;
316
1
        }
317
0
        else {
318
0
            /* It's a synthetic. Look it up. */
319
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
0
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
0
             * pass it back unchanged */
322
0
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
0
            else {
326
0
                /* Set up the iterator so in the next iteration we will start to
327
0
                * hand back codepoints. */
328
0
                ci->synth_codes         = synth->codes + 1;
329
0
                ci->visited_synth_codes = 0;
330
0
                /* Emulate num_combs and subtract one from num_codes */
331
0
                ci->total_synth_codes   = synth->num_codes - 1;
332
0
333
0
                /* Result is the first codepoint of the `codes` array */
334
0
                result = synth->codes[0];
335
0
            }
336
0
        }
337
1
    }
338
1
339
1
    return result;
340
1
}
latin1.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
378k
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
378k
    MVMCodepoint result;
293
378k
294
378k
    /* Do we have combiners from a synthetic to return? */
295
378k
    if (ci->synth_codes) {
296
0
        /* Take the current combiner as the result. */
297
0
        result = ci->synth_codes[ci->visited_synth_codes];
298
0
299
0
        /* If we've seen all of the synthetics, clear up so we'll take another
300
0
         * grapheme next time around. */
301
0
        ci->visited_synth_codes++;
302
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
0
            ci->synth_codes = NULL;
304
0
    }
305
378k
306
378k
    /* Otherwise, proceed to the next grapheme. */
307
378k
    else {
308
378k
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
378k
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
378k
        if (g >= 0) {
314
378k
            /* It's not a synthetic, so we're done. */
315
378k
            result = (MVMCodepoint)g;
316
378k
        }
317
0
        else {
318
0
            /* It's a synthetic. Look it up. */
319
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
0
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
0
             * pass it back unchanged */
322
0
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
0
            else {
326
0
                /* Set up the iterator so in the next iteration we will start to
327
0
                * hand back codepoints. */
328
0
                ci->synth_codes         = synth->codes + 1;
329
0
                ci->visited_synth_codes = 0;
330
0
                /* Emulate num_combs and subtract one from num_codes */
331
0
                ci->total_synth_codes   = synth->num_codes - 1;
332
0
333
0
                /* Result is the first codepoint of the `codes` array */
334
0
                result = synth->codes[0];
335
0
            }
336
0
        }
337
378k
    }
338
378k
339
378k
    return result;
340
378k
}
normalize.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
4
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
4
    MVMCodepoint result;
293
4
294
4
    /* Do we have combiners from a synthetic to return? */
295
4
    if (ci->synth_codes) {
296
1
        /* Take the current combiner as the result. */
297
1
        result = ci->synth_codes[ci->visited_synth_codes];
298
1
299
1
        /* If we've seen all of the synthetics, clear up so we'll take another
300
1
         * grapheme next time around. */
301
1
        ci->visited_synth_codes++;
302
1
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
1
            ci->synth_codes = NULL;
304
1
    }
305
4
306
4
    /* Otherwise, proceed to the next grapheme. */
307
3
    else {
308
3
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
3
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
3
        if (g >= 0) {
314
2
            /* It's not a synthetic, so we're done. */
315
2
            result = (MVMCodepoint)g;
316
2
        }
317
1
        else {
318
1
            /* It's a synthetic. Look it up. */
319
1
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
1
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
1
             * pass it back unchanged */
322
1
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
1
            else {
326
1
                /* Set up the iterator so in the next iteration we will start to
327
1
                * hand back codepoints. */
328
1
                ci->synth_codes         = synth->codes + 1;
329
1
                ci->visited_synth_codes = 0;
330
1
                /* Emulate num_combs and subtract one from num_codes */
331
1
                ci->total_synth_codes   = synth->num_codes - 1;
332
1
333
1
                /* Result is the first codepoint of the `codes` array */
334
1
                result = synth->codes[0];
335
1
            }
336
1
        }
337
3
    }
338
4
339
4
    return result;
340
4
}
Unexecuted instantiation: unicode.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: nfg.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: utf8_c8.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: bigintops.c:MVM_string_ci_get_codepoint
parse_num.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
56.4k
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
56.4k
    MVMCodepoint result;
293
56.4k
294
56.4k
    /* Do we have combiners from a synthetic to return? */
295
56.4k
    if (ci->synth_codes) {
296
0
        /* Take the current combiner as the result. */
297
0
        result = ci->synth_codes[ci->visited_synth_codes];
298
0
299
0
        /* If we've seen all of the synthetics, clear up so we'll take another
300
0
         * grapheme next time around. */
301
0
        ci->visited_synth_codes++;
302
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
0
            ci->synth_codes = NULL;
304
0
    }
305
56.4k
306
56.4k
    /* Otherwise, proceed to the next grapheme. */
307
56.4k
    else {
308
56.4k
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
56.4k
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
56.4k
        if (g >= 0) {
314
56.4k
            /* It's not a synthetic, so we're done. */
315
56.4k
            result = (MVMCodepoint)g;
316
56.4k
        }
317
0
        else {
318
0
            /* It's a synthetic. Look it up. */
319
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
0
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
0
             * pass it back unchanged */
322
0
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
0
            else {
326
0
                /* Set up the iterator so in the next iteration we will start to
327
0
                * hand back codepoints. */
328
0
                ci->synth_codes         = synth->codes + 1;
329
0
                ci->visited_synth_codes = 0;
330
0
                /* Emulate num_combs and subtract one from num_codes */
331
0
                ci->total_synth_codes   = synth->num_codes - 1;
332
0
333
0
                /* Result is the first codepoint of the `codes` array */
334
0
                result = synth->codes[0];
335
0
            }
336
0
        }
337
56.4k
    }
338
56.4k
339
56.4k
    return result;
340
56.4k
}
ascii.c:MVM_string_ci_get_codepoint
Line
Count
Source
291
31.6k
MVM_STATIC_INLINE MVMCodepoint MVM_string_ci_get_codepoint(MVMThreadContext *tc, MVMCodepointIter *ci) {
292
31.6k
    MVMCodepoint result;
293
31.6k
294
31.6k
    /* Do we have combiners from a synthetic to return? */
295
31.6k
    if (ci->synth_codes) {
296
0
        /* Take the current combiner as the result. */
297
0
        result = ci->synth_codes[ci->visited_synth_codes];
298
0
299
0
        /* If we've seen all of the synthetics, clear up so we'll take another
300
0
         * grapheme next time around. */
301
0
        ci->visited_synth_codes++;
302
0
        if (ci->visited_synth_codes == ci->total_synth_codes)
303
0
            ci->synth_codes = NULL;
304
0
    }
305
31.6k
306
31.6k
    /* Otherwise, proceed to the next grapheme. */
307
31.6k
    else {
308
31.6k
        MVMGrapheme32 g = MVM_string_gi_get_grapheme(tc, &(ci->gi));
309
31.6k
#ifdef _WIN32
310
        if (ci->translate_newlines && g == '\n')
311
            g = MVM_nfg_crlf_grapheme(tc);
312
#endif
313
31.6k
        if (g >= 0) {
314
31.6k
            /* It's not a synthetic, so we're done. */
315
31.6k
            result = (MVMCodepoint)g;
316
31.6k
        }
317
0
        else {
318
0
            /* It's a synthetic. Look it up. */
319
0
            MVMNFGSynthetic *synth = MVM_nfg_get_synthetic_info(tc, g);
320
0
            /* If we have pass_utfc8_synthetics set and it's a utf_c8 codepoint
321
0
             * pass it back unchanged */
322
0
            if (ci->pass_utfc8_synthetics && synth->is_utf8_c8) {
323
0
                result = g;
324
0
            }
325
0
            else {
326
0
                /* Set up the iterator so in the next iteration we will start to
327
0
                * hand back codepoints. */
328
0
                ci->synth_codes         = synth->codes + 1;
329
0
                ci->visited_synth_codes = 0;
330
0
                /* Emulate num_combs and subtract one from num_codes */
331
0
                ci->total_synth_codes   = synth->num_codes - 1;
332
0
333
0
                /* Result is the first codepoint of the `codes` array */
334
0
                result = synth->codes[0];
335
0
            }
336
0
        }
337
31.6k
    }
338
31.6k
339
31.6k
    return result;
340
31.6k
}
Unexecuted instantiation: decode_stream.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: plugin.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: arg_guard.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: plan.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: stats.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: worker.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: iterator.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: moar.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: emit.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: interface.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: linear_scan.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: tile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: expr.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: compile.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: label.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: NativeCall.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: memmem32.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: random.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: sys.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: telemeh.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: instrument.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: 6model.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: MVMSpeshLog.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: CPPStruct.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: lookup.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
Unexecuted instantiation: CStruct.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: MVMMultiCache.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: 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: log.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: deopt.c:MVM_string_ci_get_codepoint
Unexecuted instantiation: dead_bb_elimination.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: 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: driver.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: manipulate.c:MVM_string_ci_get_codepoint
341
/* The MVMGraphemeIter_cached is used for the Knuth-Morris-Pratt algorithm
342
 * because often it will request the same grapheme again, and our grapheme
343
 * iterators only return the next grapheme */
344
struct MVMGraphemeIter_cached {
345
    MVMGraphemeIter gi;
346
    MVMGrapheme32   last_g;
347
    MVMStringIndex  last_location;
348
    MVMString      *string;
349
};
350
typedef struct MVMGraphemeIter_cached MVMGraphemeIter_cached;
351
722k
MVM_STATIC_INLINE void MVM_string_gi_cached_init (MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMString *s, MVMint64 index) {
352
722k
    MVM_string_gi_init(tc, &(gic->gi), s);
353
722k
    if (index) MVM_string_gi_move_to(tc, &(gic->gi), index);
354
722k
    gic->last_location = index;
355
722k
    gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi));
356
722k
    gic->string = s;
357
722k
}
Unexecuted instantiation: candidate.c:MVM_string_gi_cached_init
Unexecuted instantiation: codegen.c:MVM_string_gi_cached_init
Unexecuted instantiation: graph.c:MVM_string_gi_cached_init
Unexecuted instantiation: dump.c:MVM_string_gi_cached_init
Unexecuted instantiation: driver.c:MVM_string_gi_cached_init
Unexecuted instantiation: compiler.c:MVM_string_gi_cached_init
Unexecuted instantiation: serialization.c:MVM_string_gi_cached_init
Unexecuted instantiation: sc.c:MVM_string_gi_cached_init
Unexecuted instantiation: lookup.c:MVM_string_gi_cached_init
Unexecuted instantiation: bootstrap.c:MVM_string_gi_cached_init
Unexecuted instantiation: manipulate.c:MVM_string_gi_cached_init
Unexecuted instantiation: facts.c:MVM_string_gi_cached_init
Unexecuted instantiation: optimize.c:MVM_string_gi_cached_init
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_cached_init
Unexecuted instantiation: deopt.c:MVM_string_gi_cached_init
Unexecuted instantiation: log.c:MVM_string_gi_cached_init
Unexecuted instantiation: threshold.c:MVM_string_gi_cached_init
Unexecuted instantiation: inline.c:MVM_string_gi_cached_init
Unexecuted instantiation: osr.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_cached_init
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_cached_init
Unexecuted instantiation: NativeCall.c:MVM_string_gi_cached_init
Unexecuted instantiation: CPointer.c:MVM_string_gi_cached_init
Unexecuted instantiation: CStr.c:MVM_string_gi_cached_init
Unexecuted instantiation: CArray.c:MVM_string_gi_cached_init
Unexecuted instantiation: CStruct.c:MVM_string_gi_cached_init
Unexecuted instantiation: CUnion.c:MVM_string_gi_cached_init
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_cached_init
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_cached_init
Unexecuted instantiation: Semaphore.c:MVM_string_gi_cached_init
Unexecuted instantiation: 6model.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMNull.c:MVM_string_gi_cached_init
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_cached_init
Unexecuted instantiation: NativeRef.c:MVM_string_gi_cached_init
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_cached_init
Unexecuted instantiation: Decoder.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_cached_init
Unexecuted instantiation: mmap.c:MVM_string_gi_cached_init
Unexecuted instantiation: profile.c:MVM_string_gi_cached_init
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_cached_init
Unexecuted instantiation: telemeh.c:MVM_string_gi_cached_init
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_cached_init
Unexecuted instantiation: line_coverage.c:MVM_string_gi_cached_init
Unexecuted instantiation: sys.c:MVM_string_gi_cached_init
Unexecuted instantiation: random.c:MVM_string_gi_cached_init
Unexecuted instantiation: memmem32.c:MVM_string_gi_cached_init
Unexecuted instantiation: moar.c:MVM_string_gi_cached_init
Unexecuted instantiation: instrument.c:MVM_string_gi_cached_init
Unexecuted instantiation: time.c:MVM_string_gi_cached_init
Unexecuted instantiation: label.c:MVM_string_gi_cached_init
Unexecuted instantiation: compile.c:MVM_string_gi_cached_init
Unexecuted instantiation: expr.c:MVM_string_gi_cached_init
Unexecuted instantiation: tile.c:MVM_string_gi_cached_init
Unexecuted instantiation: linear_scan.c:MVM_string_gi_cached_init
Unexecuted instantiation: interface.c:MVM_string_gi_cached_init
Unexecuted instantiation: emit.c:MVM_string_gi_cached_init
Unexecuted instantiation: arch.c:MVM_string_gi_cached_init
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_cached_init
Unexecuted instantiation: worker.c:MVM_string_gi_cached_init
Unexecuted instantiation: stats.c:MVM_string_gi_cached_init
Unexecuted instantiation: plan.c:MVM_string_gi_cached_init
Unexecuted instantiation: arg_guard.c:MVM_string_gi_cached_init
Unexecuted instantiation: plugin.c:MVM_string_gi_cached_init
Unexecuted instantiation: decode_stream.c:MVM_string_gi_cached_init
Unexecuted instantiation: ascii.c:MVM_string_gi_cached_init
Unexecuted instantiation: parse_num.c:MVM_string_gi_cached_init
Unexecuted instantiation: utf8.c:MVM_string_gi_cached_init
Unexecuted instantiation: iterator.c:MVM_string_gi_cached_init
Unexecuted instantiation: nfg.c:MVM_string_gi_cached_init
Unexecuted instantiation: unicode.c:MVM_string_gi_cached_init
Unexecuted instantiation: normalize.c:MVM_string_gi_cached_init
Unexecuted instantiation: latin1.c:MVM_string_gi_cached_init
Unexecuted instantiation: utf16.c:MVM_string_gi_cached_init
Unexecuted instantiation: windows1252.c:MVM_string_gi_cached_init
Unexecuted instantiation: shiftjis.c:MVM_string_gi_cached_init
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_cached_init
Unexecuted instantiation: bigintops.c:MVM_string_gi_cached_init
Unexecuted instantiation: allocation.c:MVM_string_gi_cached_init
Unexecuted instantiation: nativecall.c:MVM_string_gi_cached_init
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_cached_init
Unexecuted instantiation: continuation.c:MVM_string_gi_cached_init
Unexecuted instantiation: intcache.c:MVM_string_gi_cached_init
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_cached_init
Unexecuted instantiation: regionalloc.c:MVM_string_gi_cached_init
Unexecuted instantiation: debugserver.c:MVM_string_gi_cached_init
Unexecuted instantiation: config.c:MVM_string_gi_cached_init
Unexecuted instantiation: orchestrate.c:MVM_string_gi_cached_init
Unexecuted instantiation: ext.c:MVM_string_gi_cached_init
Unexecuted instantiation: worklist.c:MVM_string_gi_cached_init
Unexecuted instantiation: roots.c:MVM_string_gi_cached_init
Unexecuted instantiation: collect.c:MVM_string_gi_cached_init
Unexecuted instantiation: gen2.c:MVM_string_gi_cached_init
Unexecuted instantiation: wb.c:MVM_string_gi_cached_init
Unexecuted instantiation: objectid.c:MVM_string_gi_cached_init
Unexecuted instantiation: finalize.c:MVM_string_gi_cached_init
Unexecuted instantiation: debug.c:MVM_string_gi_cached_init
Unexecuted instantiation: io.c:MVM_string_gi_cached_init
Unexecuted instantiation: callstack.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_cached_init
Unexecuted instantiation: callsite.c:MVM_string_gi_cached_init
Unexecuted instantiation: args.c:MVM_string_gi_cached_init
Unexecuted instantiation: exceptions.c:MVM_string_gi_cached_init
Unexecuted instantiation: interp.c:MVM_string_gi_cached_init
Unexecuted instantiation: threadcontext.c:MVM_string_gi_cached_init
Unexecuted instantiation: compunit.c:MVM_string_gi_cached_init
Unexecuted instantiation: bytecode.c:MVM_string_gi_cached_init
Unexecuted instantiation: frame.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_cached_init
Unexecuted instantiation: validation.c:MVM_string_gi_cached_init
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_cached_init
Unexecuted instantiation: threads.c:MVM_string_gi_cached_init
ops.c:MVM_string_gi_cached_init
Line
Count
Source
351
9.63k
MVM_STATIC_INLINE void MVM_string_gi_cached_init (MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMString *s, MVMint64 index) {
352
9.63k
    MVM_string_gi_init(tc, &(gic->gi), s);
353
9.63k
    if (index) MVM_string_gi_move_to(tc, &(gic->gi), index);
354
9.63k
    gic->last_location = index;
355
9.63k
    gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi));
356
9.63k
    gic->string = s;
357
9.63k
}
Unexecuted instantiation: hll.c:MVM_string_gi_cached_init
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_cached_init
Unexecuted instantiation: num.c:MVM_string_gi_cached_init
Unexecuted instantiation: coerce.c:MVM_string_gi_cached_init
Unexecuted instantiation: dll.c:MVM_string_gi_cached_init
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_cached_init
Unexecuted instantiation: P6str.c:MVM_string_gi_cached_init
Unexecuted instantiation: P6opaque.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMCode.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_cached_init
Unexecuted instantiation: P6int.c:MVM_string_gi_cached_init
Unexecuted instantiation: P6num.c:MVM_string_gi_cached_init
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_cached_init
Unexecuted instantiation: syncfile.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMThread.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMIter.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMContext.c:MVM_string_gi_cached_init
Unexecuted instantiation: SCRef.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_cached_init
Unexecuted instantiation: P6bigint.c:MVM_string_gi_cached_init
NFA.c:MVM_string_gi_cached_init
Line
Count
Source
351
713k
MVM_STATIC_INLINE void MVM_string_gi_cached_init (MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMString *s, MVMint64 index) {
352
713k
    MVM_string_gi_init(tc, &(gic->gi), s);
353
713k
    if (index) MVM_string_gi_move_to(tc, &(gic->gi), index);
354
713k
    gic->last_location = index;
355
713k
    gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi));
356
713k
    gic->string = s;
357
713k
}
Unexecuted instantiation: MVMException.c:MVM_string_gi_cached_init
Unexecuted instantiation: eventloop.c:MVM_string_gi_cached_init
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_cached_init
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_cached_init
Unexecuted instantiation: syncsocket.c:MVM_string_gi_cached_init
Unexecuted instantiation: fileops.c:MVM_string_gi_cached_init
Unexecuted instantiation: dirops.c:MVM_string_gi_cached_init
Unexecuted instantiation: procops.c:MVM_string_gi_cached_init
Unexecuted instantiation: timers.c:MVM_string_gi_cached_init
Unexecuted instantiation: filewatchers.c:MVM_string_gi_cached_init
Unexecuted instantiation: signals.c:MVM_string_gi_cached_init
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_cached_init
Unexecuted instantiation: reprs.c:MVM_string_gi_cached_init
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMHash.c:MVM_string_gi_cached_init
Unexecuted instantiation: VMArray.c:MVM_string_gi_cached_init
Unexecuted instantiation: MVMString.c:MVM_string_gi_cached_init
Unexecuted instantiation: parametric.c:MVM_string_gi_cached_init
Unexecuted instantiation: containers.c:MVM_string_gi_cached_init
Unexecuted instantiation: reprconv.c:MVM_string_gi_cached_init
358
8.22M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_cached_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMint64 index) {
359
8.22M
    /* Most likely case is we are getting the next grapheme. When that happens
360
8.22M
     * we will go directly to the end. */
361
8.22M
    if (index == gic->last_location + 1) {
362
1.39M
    }
363
8.22M
    /* Second most likely is getting the cached grapheme */
364
6.83M
    else if (index == gic->last_location) {
365
6.14M
        return gic->last_g;
366
6.14M
    }
367
6.83M
    /* If we have to move forward */
368
683k
    else if (gic->last_location < index) {
369
683k
        MVM_string_gi_move_to(tc, &(gic->gi), index - gic->last_location - 1);
370
683k
    }
371
683k
    /* If we have to backtrack we need to reinitialize the grapheme iterator */
372
0
    else {
373
0
        MVM_string_gi_cached_init(tc, gic, gic->string, index);
374
0
        return gic->last_g;
375
0
    }
376
2.07M
    gic->last_location = index;
377
2.07M
    return (gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi)));
378
8.22M
}
Unexecuted instantiation: P6str.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: KnowHOWREPR.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMCFunction.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMHash.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: VMArray.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMString.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: parametric.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: containers.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: reprconv.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: reprs.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: asyncsocketudp.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: asyncsocket.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: signals.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: filewatchers.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: timers.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: procops.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: dirops.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: fileops.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMIter.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMContinuation.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMMultiCache.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMDLLSym.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMException.c:MVM_string_gi_cached_get_grapheme
NFA.c:MVM_string_gi_cached_get_grapheme
Line
Count
Source
358
7.61M
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_cached_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMint64 index) {
359
7.61M
    /* Most likely case is we are getting the next grapheme. When that happens
360
7.61M
     * we will go directly to the end. */
361
7.61M
    if (index == gic->last_location + 1) {
362
818k
    }
363
7.61M
    /* Second most likely is getting the cached grapheme */
364
6.80M
    else if (index == gic->last_location) {
365
6.11M
        return gic->last_g;
366
6.11M
    }
367
6.80M
    /* If we have to move forward */
368
683k
    else if (gic->last_location < index) {
369
683k
        MVM_string_gi_move_to(tc, &(gic->gi), index - gic->last_location - 1);
370
683k
    }
371
683k
    /* If we have to backtrack we need to reinitialize the grapheme iterator */
372
0
    else {
373
0
        MVM_string_gi_cached_init(tc, gic, gic->string, index);
374
0
        return gic->last_g;
375
0
    }
376
1.50M
    gic->last_location = index;
377
1.50M
    return (gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi)));
378
7.61M
}
Unexecuted instantiation: P6bigint.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMCallCapture.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: SCRef.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMContext.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: P6opaque.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMThread.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: HashAttrStore.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: Uninstantiable.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: P6num.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: P6int.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMStaticFrame.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMCompUnit.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMOSHandle.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMCode.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: bytecodedump.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: nativecall.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: ext.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: dll.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: coerce.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: num.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: loadbytecode.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: hll.c:MVM_string_gi_cached_get_grapheme
ops.c:MVM_string_gi_cached_get_grapheme
Line
Count
Source
358
603k
MVM_STATIC_INLINE MVMGrapheme32 MVM_string_gi_cached_get_grapheme(MVMThreadContext *tc, MVMGraphemeIter_cached *gic, MVMint64 index) {
359
603k
    /* Most likely case is we are getting the next grapheme. When that happens
360
603k
     * we will go directly to the end. */
361
603k
    if (index == gic->last_location + 1) {
362
573k
    }
363
603k
    /* Second most likely is getting the cached grapheme */
364
29.8k
    else if (index == gic->last_location) {
365
29.8k
        return gic->last_g;
366
29.8k
    }
367
29.8k
    /* If we have to move forward */
368
0
    else if (gic->last_location < index) {
369
0
        MVM_string_gi_move_to(tc, &(gic->gi), index - gic->last_location - 1);
370
0
    }
371
0
    /* If we have to backtrack we need to reinitialize the grapheme iterator */
372
0
    else {
373
0
        MVM_string_gi_cached_init(tc, gic, gic->string, index);
374
0
        return gic->last_g;
375
0
    }
376
573k
    gic->last_location = index;
377
573k
    return (gic->last_g = MVM_string_gi_get_grapheme(tc, &(gic->gi)));
378
603k
}
Unexecuted instantiation: threads.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: nativecall_dyncall.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: validation.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: callstack.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: frame.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: bytecode.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: compunit.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: threadcontext.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: interp.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: exceptions.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: args.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: roots.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: syncfile.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: eventloop.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: io.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: debug.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: finalize.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: objectid.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: wb.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: gen2.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: collect.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: syncsocket.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: worklist.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: allocation.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: orchestrate.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: config.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: debugserver.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: regionalloc.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: fixedsizealloc.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: intcache.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: continuation.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: nfg.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: instrument.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: bigintops.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: shiftjis_codeindex.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: shiftjis.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: windows1252.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: utf16.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: latin1.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: normalize.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: unicode.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: profile.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: utf8_c8.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: utf8.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: parse_num.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: ascii.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: decode_stream.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: plugin.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: arg_guard.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: plan.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: stats.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: time.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: callsite.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: arch.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: emit.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: interface.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: linear_scan.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: tile.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: expr.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: compile.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: label.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: worker.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: mmap.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: moar.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: memmem32.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: random.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: sys.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: line_coverage.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: crossthreadwrite.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: telemeh.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: heapsnapshot.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMAsyncTask.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: bootstrap.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: 6model.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMSpeshLog.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: Decoder.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MultiDimArray.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: NativeRef.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CPPStruct.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: MVMNull.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: sc.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: ConcBlockingQueue.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: Semaphore.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: ConditionVariable.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: ReentrantMutex.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CUnion.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CStruct.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CArray.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CStr.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: CPointer.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: facts.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: iterator.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: lookup.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: osr.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: inline.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: threshold.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: log.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: deopt.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: dead_bb_elimination.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: optimize.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: NativeCall.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: manipulate.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: candidate.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: codegen.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: graph.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: dump.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: driver.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: compiler.c:MVM_string_gi_cached_get_grapheme
Unexecuted instantiation: serialization.c:MVM_string_gi_cached_get_grapheme