Coverage Report

Created: 2017-04-15 07:07

/home/travis/build/MoarVM/MoarVM/src/strings/normalize.h
Line
Count
Source (jump to first uncovered line)
1
/* Normalization modes. Numbers picked so that:
2
 *  - The LSB tells us whether to do canonical or compatibility normalization
3
 *  - The second bit tells us whether to do canonical normalization
4
 *  - The third bit tells us to go a step further and create synthetic codes
5
 *    for graphemes.
6
 */
7
typedef enum {
8
    MVM_NORMALIZE_NFD   = 0,
9
    MVM_NORMALIZE_NFKD  = 1,
10
    MVM_NORMALIZE_NFC   = 2,
11
    MVM_NORMALIZE_NFKC  = 3,
12
    MVM_NORMALIZE_NFG   = 6
13
} MVMNormalization;
14
15
/* Ways of checking various properties of the normalization form. */
16
22
#define MVM_NORMALIZE_COMPAT_DECOMP(form) (form & 1)
17
1.41M
#define MVM_NORMALIZE_COMPOSE(form)       (form & 2)
18
1.32M
#define MVM_NORMALIZE_GRAPHEME(form)      (form & 4)
19
20
/* First codepoint where we have to actually do a real check and maybe some
21
 * work when normalizing. */
22
0
#define MVM_NORMALIZE_FIRST_SIG_NFD     0x00C0
23
408k
#define MVM_NORMALIZE_FIRST_SIG_NFC     0x0300
24
0
#define MVM_NORMALIZE_FIRST_SIG_NFKD    0x00A0
25
0
#define MVM_NORMALIZE_FIRST_SIG_NFKC    0x00A0
26
27
/* First codepoint with a non-zero canonical combining class. */
28
214k
#define MVM_NORMALIZE_FIRST_NONZERO_CCC 0x300
29
30
/* Streaming Unicode normalizer structure. */
31
struct MVMNormalizer {
32
    /* What form of normalization are we doing? */
33
    MVMNormalization form;
34
35
    /* Current buffer of codepoints we're working to normalize. */
36
    MVMCodepoint *buffer;
37
38
    /* Size of the normalization buffer. */
39
    MVMint32 buffer_size;
40
41
    /* Start offset in the buffer where we're still processing. */
42
    MVMint32 buffer_start;
43
44
    /* End offset in the buffer, and where to add the next thing to process. */
45
    MVMint32 buffer_end;
46
47
    /* End offset in the buffer for things we've normalized and so can return. */
48
    MVMint32 buffer_norm_end;
49
50
    /* The first significant codepoint in this normalization form that we may
51
     * have to do something with. If we see two things beneath the limit in a
52
     * row then we know the first one below it is good to spit out. */
53
    MVMCodepoint first_significant;
54
55
    /* The quickcheck property for the normalization form in question. */
56
    MVMint32 quick_check_property;
57
58
    /* If we should translate the \r\n grapheme to \n (only applicable when
59
     * normalizing to NFG). */
60
    MVMint32 translate_newlines;
61
};
62
63
/* Guts-y functions, called by the API level ones below. */
64
MVMint32 MVM_unicode_normalizer_process_codepoint_full(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out);
65
MVMint32 MVM_unicode_normalizer_process_codepoint_norm_terminator(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out);
66
67
/* Takes a codepoint to process for normalization as the "in" parameter. If we
68
 * are able to produce one or more normalized codepoints right off, then we
69
 * put it into the location pointed to by "out", and return the number of
70
 * codepoints now available including the one we just passed out. If we can't
71
 * produce a normalized codepoint right now, we return a 0. */
72
1.31M
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out) {
73
1.31M
    /* Control characters in the Latin-1 range are normalization terminators -
74
1.31M
     * that is, we know we can spit out whatever codepoints we have seen so
75
1.31M
     * far in normalized form without having to consider them into the
76
1.31M
     * normalization process. The exception is if we're computing NFG, and
77
1.31M
     * we got \r, which can form a grapheme in the case of \r\n. */
78
1.31M
    if (in < 0x20 || (in >= 0x7F && in <= 0x9F) || in == 0xAD)
79
20.5k
        if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D))
80
20.2k
            return MVM_unicode_normalizer_process_codepoint_norm_terminator(tc, n, in, out);
81
1.31M
82
1.31M
    /* Fast-paths apply when the codepoint to consider is too low to have any
83
1.31M
     * interesting properties in the target normalization form. */
84
1.29M
    if (in < n->first_significant) {
85
1.24M
        if (MVM_NORMALIZE_COMPOSE(n->form)) {
86
1.24M
            /* For the composition fast path we always have to know that we've
87
1.24M
            * seen two codepoints in a row that are below those needing a full
88
1.24M
            * check. Then we can spit out the first one. Exception: we are
89
1.24M
            * normalizing to graphemes and see \r. */
90
1.24M
            if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D)) {
91
1.24M
                if (n->buffer_end - n->buffer_start == 1) {
92
1.19M
                    if (n->buffer[n->buffer_start] < n->first_significant) {
93
1.19M
                        *out = n->buffer[n->buffer_start];
94
1.19M
                        n->buffer[n->buffer_start] = in;
95
1.19M
                        return 1;
96
1.19M
                    }
97
1.19M
                }
98
1.24M
            }
99
1.24M
        }
100
0
        else {
101
0
            /* For decomposition fast-path, the buffer should be empty. In
102
0
             * that case, we just hand back what we got. */
103
0
            if (n->buffer_start == n->buffer_end) {
104
0
                *out = in;
105
0
                return 1;
106
0
            }
107
0
        }
108
1.24M
    }
109
1.29M
    /* Fall back to slow path. */
110
104k
    return MVM_unicode_normalizer_process_codepoint_full(tc, n, in, out);
111
1.29M
}
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: normalize.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_process_codepoint
utf16.c:MVM_unicode_normalizer_process_codepoint
Line
Count
Source
72
1
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out) {
73
1
    /* Control characters in the Latin-1 range are normalization terminators -
74
1
     * that is, we know we can spit out whatever codepoints we have seen so
75
1
     * far in normalized form without having to consider them into the
76
1
     * normalization process. The exception is if we're computing NFG, and
77
1
     * we got \r, which can form a grapheme in the case of \r\n. */
78
1
    if (in < 0x20 || (in >= 0x7F && in <= 0x9F) || in == 0xAD)
79
0
        if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D))
80
0
            return MVM_unicode_normalizer_process_codepoint_norm_terminator(tc, n, in, out);
81
1
82
1
    /* Fast-paths apply when the codepoint to consider is too low to have any
83
1
     * interesting properties in the target normalization form. */
84
1
    if (in < n->first_significant) {
85
1
        if (MVM_NORMALIZE_COMPOSE(n->form)) {
86
1
            /* For the composition fast path we always have to know that we've
87
1
            * seen two codepoints in a row that are below those needing a full
88
1
            * check. Then we can spit out the first one. Exception: we are
89
1
            * normalizing to graphemes and see \r. */
90
1
            if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D)) {
91
1
                if (n->buffer_end - n->buffer_start == 1) {
92
0
                    if (n->buffer[n->buffer_start] < n->first_significant) {
93
0
                        *out = n->buffer[n->buffer_start];
94
0
                        n->buffer[n->buffer_start] = in;
95
0
                        return 1;
96
0
                    }
97
0
                }
98
1
            }
99
1
        }
100
0
        else {
101
0
            /* For decomposition fast-path, the buffer should be empty. In
102
0
             * that case, we just hand back what we got. */
103
0
            if (n->buffer_start == n->buffer_end) {
104
0
                *out = in;
105
0
                return 1;
106
0
            }
107
0
        }
108
1
    }
109
1
    /* Fall back to slow path. */
110
1
    return MVM_unicode_normalizer_process_codepoint_full(tc, n, in, out);
111
1
}
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_process_codepoint
utf8_c8.c:MVM_unicode_normalizer_process_codepoint
Line
Count
Source
72
624k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out) {
73
624k
    /* Control characters in the Latin-1 range are normalization terminators -
74
624k
     * that is, we know we can spit out whatever codepoints we have seen so
75
624k
     * far in normalized form without having to consider them into the
76
624k
     * normalization process. The exception is if we're computing NFG, and
77
624k
     * we got \r, which can form a grapheme in the case of \r\n. */
78
624k
    if (in < 0x20 || (in >= 0x7F && in <= 0x9F) || in == 0xAD)
79
0
        if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D))
80
0
            return MVM_unicode_normalizer_process_codepoint_norm_terminator(tc, n, in, out);
81
624k
82
624k
    /* Fast-paths apply when the codepoint to consider is too low to have any
83
624k
     * interesting properties in the target normalization form. */
84
624k
    if (in < n->first_significant) {
85
624k
        if (MVM_NORMALIZE_COMPOSE(n->form)) {
86
624k
            /* For the composition fast path we always have to know that we've
87
624k
            * seen two codepoints in a row that are below those needing a full
88
624k
            * check. Then we can spit out the first one. Exception: we are
89
624k
            * normalizing to graphemes and see \r. */
90
624k
            if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D)) {
91
624k
                if (n->buffer_end - n->buffer_start == 1) {
92
608k
                    if (n->buffer[n->buffer_start] < n->first_significant) {
93
608k
                        *out = n->buffer[n->buffer_start];
94
608k
                        n->buffer[n->buffer_start] = in;
95
608k
                        return 1;
96
608k
                    }
97
608k
                }
98
624k
            }
99
624k
        }
100
0
        else {
101
0
            /* For decomposition fast-path, the buffer should be empty. In
102
0
             * that case, we just hand back what we got. */
103
0
            if (n->buffer_start == n->buffer_end) {
104
0
                *out = in;
105
0
                return 1;
106
0
            }
107
0
        }
108
624k
    }
109
624k
    /* Fall back to slow path. */
110
15.6k
    return MVM_unicode_normalizer_process_codepoint_full(tc, n, in, out);
111
624k
}
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: time.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: log.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: decode_stream.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_process_codepoint
utf8.c:MVM_unicode_normalizer_process_codepoint
Line
Count
Source
72
694k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out) {
73
694k
    /* Control characters in the Latin-1 range are normalization terminators -
74
694k
     * that is, we know we can spit out whatever codepoints we have seen so
75
694k
     * far in normalized form without having to consider them into the
76
694k
     * normalization process. The exception is if we're computing NFG, and
77
694k
     * we got \r, which can form a grapheme in the case of \r\n. */
78
694k
    if (in < 0x20 || (in >= 0x7F && in <= 0x9F) || in == 0xAD)
79
20.5k
        if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D))
80
20.2k
            return MVM_unicode_normalizer_process_codepoint_norm_terminator(tc, n, in, out);
81
694k
82
694k
    /* Fast-paths apply when the codepoint to consider is too low to have any
83
694k
     * interesting properties in the target normalization form. */
84
673k
    if (in < n->first_significant) {
85
620k
        if (MVM_NORMALIZE_COMPOSE(n->form)) {
86
620k
            /* For the composition fast path we always have to know that we've
87
620k
            * seen two codepoints in a row that are below those needing a full
88
620k
            * check. Then we can spit out the first one. Exception: we are
89
620k
            * normalizing to graphemes and see \r. */
90
620k
            if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D)) {
91
620k
                if (n->buffer_end - n->buffer_start == 1) {
92
584k
                    if (n->buffer[n->buffer_start] < n->first_significant) {
93
584k
                        *out = n->buffer[n->buffer_start];
94
584k
                        n->buffer[n->buffer_start] = in;
95
584k
                        return 1;
96
584k
                    }
97
584k
                }
98
620k
            }
99
620k
        }
100
0
        else {
101
0
            /* For decomposition fast-path, the buffer should be empty. In
102
0
             * that case, we just hand back what we got. */
103
0
            if (n->buffer_start == n->buffer_end) {
104
0
                *out = in;
105
0
                return 1;
106
0
            }
107
0
        }
108
620k
    }
109
673k
    /* Fall back to slow path. */
110
89.1k
    return MVM_unicode_normalizer_process_codepoint_full(tc, n, in, out);
111
673k
}
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: config.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: args.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_process_codepoint
ops.c:MVM_unicode_normalizer_process_codepoint
Line
Count
Source
72
306
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMCodepoint *out) {
73
306
    /* Control characters in the Latin-1 range are normalization terminators -
74
306
     * that is, we know we can spit out whatever codepoints we have seen so
75
306
     * far in normalized form without having to consider them into the
76
306
     * normalization process. The exception is if we're computing NFG, and
77
306
     * we got \r, which can form a grapheme in the case of \r\n. */
78
306
    if (in < 0x20 || (in >= 0x7F && in <= 0x9F) || in == 0xAD)
79
78
        if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D))
80
44
            return MVM_unicode_normalizer_process_codepoint_norm_terminator(tc, n, in, out);
81
306
82
306
    /* Fast-paths apply when the codepoint to consider is too low to have any
83
306
     * interesting properties in the target normalization form. */
84
262
    if (in < n->first_significant) {
85
174
        if (MVM_NORMALIZE_COMPOSE(n->form)) {
86
174
            /* For the composition fast path we always have to know that we've
87
174
            * seen two codepoints in a row that are below those needing a full
88
174
            * check. Then we can spit out the first one. Exception: we are
89
174
            * normalizing to graphemes and see \r. */
90
174
            if (!(MVM_NORMALIZE_GRAPHEME(n->form) && in == 0x0D)) {
91
140
                if (n->buffer_end - n->buffer_start == 1) {
92
102
                    if (n->buffer[n->buffer_start] < n->first_significant) {
93
102
                        *out = n->buffer[n->buffer_start];
94
102
                        n->buffer[n->buffer_start] = in;
95
102
                        return 1;
96
102
                    }
97
102
                }
98
140
            }
99
174
        }
100
0
        else {
101
0
            /* For decomposition fast-path, the buffer should be empty. In
102
0
             * that case, we just hand back what we got. */
103
0
            if (n->buffer_start == n->buffer_end) {
104
0
                *out = in;
105
0
                return 1;
106
0
            }
107
0
        }
108
174
    }
109
262
    /* Fall back to slow path. */
110
160
    return MVM_unicode_normalizer_process_codepoint_full(tc, n, in, out);
111
262
}
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: num.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: io.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_process_codepoint
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_process_codepoint
112
113
/* Grapheme version of the above. Note that this exists mostly for API clarity
114
 * rather than adding any semantics; the normalizer must be configured to
115
 * produce NFG to get synthetics out. */
116
1.31M
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint_to_grapheme(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMGrapheme32 *out) {
117
1.31M
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
118
1.31M
    return MVM_unicode_normalizer_process_codepoint(tc, n, in, (MVMGrapheme32 *)out);
119
1.31M
}
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: normalize.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
utf16.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Line
Count
Source
116
1
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint_to_grapheme(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMGrapheme32 *out) {
117
1
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
118
1
    return MVM_unicode_normalizer_process_codepoint(tc, n, in, (MVMGrapheme32 *)out);
119
1
}
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
utf8_c8.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Line
Count
Source
116
624k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint_to_grapheme(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMGrapheme32 *out) {
117
624k
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
118
624k
    return MVM_unicode_normalizer_process_codepoint(tc, n, in, (MVMGrapheme32 *)out);
119
624k
}
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: time.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: log.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: decode_stream.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
utf8.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Line
Count
Source
116
694k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint_to_grapheme(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMGrapheme32 *out) {
117
694k
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
118
694k
    return MVM_unicode_normalizer_process_codepoint(tc, n, in, (MVMGrapheme32 *)out);
119
694k
}
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: config.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: args.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
ops.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Line
Count
Source
116
306
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_process_codepoint_to_grapheme(MVMThreadContext *tc, MVMNormalizer *n, MVMCodepoint in, MVMGrapheme32 *out) {
117
306
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
118
306
    return MVM_unicode_normalizer_process_codepoint(tc, n, in, (MVMGrapheme32 *)out);
119
306
}
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: num.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: io.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_process_codepoint_to_grapheme
120
121
/* Push a number of codepoints into the "to normalize" buffer. */
122
void MVM_unicode_normalizer_push_codepoints(MVMThreadContext *tc, MVMNormalizer *n, const MVMCodepoint *in, MVMint32 num_codepoints);
123
124
/* Get the number of codepoints/graphemes ready to fetch. */
125
62.4k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
62.4k
    return n->buffer_norm_end - n->buffer_start;
127
62.4k
}
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_available
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_available
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_available
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_available
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_available
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_available
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_available
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_available
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_available
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_available
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_available
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_available
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_available
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_available
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_available
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_available
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_available
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_available
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_available
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_available
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_available
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_available
Unexecuted instantiation: io.c:MVM_unicode_normalizer_available
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_available
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_available
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_available
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_available
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_available
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_available
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_available
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_available
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_available
Unexecuted instantiation: num.c:MVM_unicode_normalizer_available
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_available
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_available
ops.c:MVM_unicode_normalizer_available
Line
Count
Source
125
138
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
138
    return n->buffer_norm_end - n->buffer_start;
127
138
}
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_available
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_available
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_available
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_available
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_available
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_available
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_available
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_available
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_available
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_available
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_available
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_available
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_available
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_available
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_available
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_available
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_available
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_available
Unexecuted instantiation: args.c:MVM_unicode_normalizer_available
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_available
Unexecuted instantiation: config.c:MVM_unicode_normalizer_available
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_available
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_available
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_available
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_available
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_available
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_available
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_available
utf8_c8.c:MVM_unicode_normalizer_available
Line
Count
Source
125
15.6k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
15.6k
    return n->buffer_norm_end - n->buffer_start;
127
15.6k
}
utf8.c:MVM_unicode_normalizer_available
Line
Count
Source
125
25.9k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
25.9k
    return n->buffer_norm_end - n->buffer_start;
127
25.9k
}
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_available
decode_stream.c:MVM_unicode_normalizer_available
Line
Count
Source
125
227
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
227
    return n->buffer_norm_end - n->buffer_start;
127
227
}
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_available
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_available
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_available
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_available
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_available
Unexecuted instantiation: log.c:MVM_unicode_normalizer_available
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_available
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_available
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_available
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_available
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_available
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_available
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_available
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_available
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_available
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_available
Unexecuted instantiation: time.c:MVM_unicode_normalizer_available
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_available
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_available
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_available
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_available
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_available
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_available
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_available
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_available
utf16.c:MVM_unicode_normalizer_available
Line
Count
Source
125
1
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
1
    return n->buffer_norm_end - n->buffer_start;
127
1
}
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_available
normalize.c:MVM_unicode_normalizer_available
Line
Count
Source
125
20.5k
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_available(MVMThreadContext *tc, MVMNormalizer *n) {
126
20.5k
    return n->buffer_norm_end - n->buffer_start;
127
20.5k
}
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_available
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_available
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_available
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_available
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_available
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_available
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_available
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_available
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_available
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_available
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_available
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_available
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_available
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_available
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_available
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_available
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_available
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_available
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_available
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_available
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_available
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_available
128
129
/* Get the number of codepoints/graphemes ready to fetch. */
130
6
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_empty(MVMThreadContext *tc, MVMNormalizer *n) {
131
6
    return n->buffer_end == n->buffer_start;
132
6
}
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: io.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: num.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ops.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: args.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: config.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: log.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: utf8.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_empty
decode_stream.c:MVM_unicode_normalizer_empty
Line
Count
Source
130
6
MVM_STATIC_INLINE MVMint32 MVM_unicode_normalizer_empty(MVMThreadContext *tc, MVMNormalizer *n) {
131
6
    return n->buffer_end == n->buffer_start;
132
6
}
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: utf8_c8.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: time.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: utf16.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: normalize.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_empty
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_empty
133
134
/* Indicate that we've reached the end of the input stream. Any codepoints
135
 * left to normalize now can be. */
136
void MVM_unicode_normalizer_eof(MVMThreadContext *tc, MVMNormalizer *n);
137
138
/* Get a normalized codepoint; should only ever be called if there are some
139
 * known to be available, either because normalize_to_codepoint returned a
140
 * value greater than 1, or normalize_available returned a non-zero value. */
141
20.5k
MVM_STATIC_INLINE MVMCodepoint MVM_unicode_normalizer_get_codepoint(MVMThreadContext *tc, MVMNormalizer *n) {
142
20.5k
    if (n->buffer_norm_end == n->buffer_start)
143
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get codepoint");
144
20.5k
    return n->buffer[n->buffer_start++];
145
20.5k
}
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: utf8_c8.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_get_codepoint
normalize.c:MVM_unicode_normalizer_get_codepoint
Line
Count
Source
141
20.5k
MVM_STATIC_INLINE MVMCodepoint MVM_unicode_normalizer_get_codepoint(MVMThreadContext *tc, MVMNormalizer *n) {
142
20.5k
    if (n->buffer_norm_end == n->buffer_start)
143
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get codepoint");
144
20.5k
    return n->buffer[n->buffer_start++];
145
20.5k
}
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: utf16.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: utf8.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: time.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: log.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: decode_stream.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: config.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: args.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: ops.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: num.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: io.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_get_codepoint
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_get_codepoint
146
147
/* Grapheme version of the above. Note that this exists mostly for API clarity
148
 * rather than adding any semantics; the normalizer must be configured to
149
 * produce NFG to get synthetics out. */
150
57.0k
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
57.0k
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
57.0k
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
57.0k
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
57.0k
}
Unexecuted instantiation: fileops.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: reprs.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: asyncsocketudp.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: asyncsocket.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: signals.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: filewatchers.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: timers.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: procops.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: dirops.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: reprconv.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: syncsocket.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: syncpipe.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: syncstream.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: syncfile.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: eventloop.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: io.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: debug.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: finalize.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: P6num.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: P6int.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMStaticFrame.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMCompUnit.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMOSHandle.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMCode.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: P6opaque.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: P6str.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: objectid.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: KnowHOWREPR.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMCFunction.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMHash.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: VMArray.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMString.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: parametric.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: containers.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: frame.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: num.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: loadbytecode.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: hll.c:MVM_unicode_normalizer_get_grapheme
ops.c:MVM_unicode_normalizer_get_grapheme
Line
Count
Source
150
314
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
314
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
314
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
314
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
314
}
Unexecuted instantiation: threads.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: bytecodedump.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: validation.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: callstack.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: coerce.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: bytecode.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: compunit.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: threadcontext.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: interp.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: exceptions.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: args.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: callsite.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: emit_posix_x64.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: regionalloc.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: wb.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: gen2.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: collect.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: roots.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: worklist.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: allocation.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: orchestrate.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: config.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: sys.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: fixedsizealloc.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: intcache.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: continuation.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: nativecall_dyncall.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: nativecall.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: ext.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: dll.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: log.c:MVM_unicode_normalizer_get_grapheme
utf8.c:MVM_unicode_normalizer_get_grapheme
Line
Count
Source
150
41.0k
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
41.0k
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
41.0k
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
41.0k
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
41.0k
}
Unexecuted instantiation: ascii.c:MVM_unicode_normalizer_get_grapheme
decode_stream.c:MVM_unicode_normalizer_get_grapheme
Line
Count
Source
150
24
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
24
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
24
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
24
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
24
}
Unexecuted instantiation: compile.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: lookup.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: osr.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: inline.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: threshold.c:MVM_unicode_normalizer_get_grapheme
utf8_c8.c:MVM_unicode_normalizer_get_grapheme
Line
Count
Source
150
15.6k
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
15.6k
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
15.6k
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
15.6k
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
15.6k
}
Unexecuted instantiation: deopt.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: optimize.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: facts.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: manipulate.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: candidate.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: codegen.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: graph.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: dump.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: instrument.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: Uninstantiable.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: time.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: mmap.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: moar.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: line_coverage.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: crossthreadwrite.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: heapsnapshot.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: profile.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: HashAttrStore.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: bigintops.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: windows1252.c:MVM_unicode_normalizer_get_grapheme
utf16.c:MVM_unicode_normalizer_get_grapheme
Line
Count
Source
150
1
MVM_STATIC_INLINE MVMGrapheme32 MVM_unicode_normalizer_get_grapheme(MVMThreadContext *tc, MVMNormalizer *n) {
151
1
    assert(sizeof(MVMCodepoint) == sizeof(MVMGrapheme32));
152
1
    if (n->buffer_norm_end == n->buffer_start)
153
0
        MVM_exception_throw_adhoc(tc, "Normalization: illegal call to get grapheme");
154
1
    return (MVMGrapheme32)n->buffer[n->buffer_start++];
155
1
}
Unexecuted instantiation: latin1.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: normalize.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: unicode.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: nfg.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: NFA.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CArray.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CStr.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CPointer.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: NativeCall.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMContinuation.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMMultiCache.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMDLLSym.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMException.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: compiler.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: P6bigint.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMCallCapture.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: Lexotic.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: SCRef.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMContext.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMIter.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMThread.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: driver.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CUnion.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CStruct.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: serialization.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: sc.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: bootstrap.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: 6model.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: Decoder.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MultiDimArray.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: NativeRef.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: CPPStruct.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMNull.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: MVMAsyncTask.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: ConcBlockingQueue.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: Semaphore.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: ConditionVariable.c:MVM_unicode_normalizer_get_grapheme
Unexecuted instantiation: ReentrantMutex.c:MVM_unicode_normalizer_get_grapheme
156
157
/* Setup and teardown of the MVMNormalizer struct. */
158
MVMNormalization MVM_unicode_normalizer_form(MVMThreadContext *tc, MVMint64 form_in);
159
void MVM_unicode_normalizer_init(MVMThreadContext *tc, MVMNormalizer *n, MVMNormalization norm);
160
void MVM_unicode_normalizer_translate_newlines(MVMThreadContext *tc, MVMNormalizer *n);
161
void MVM_unicode_normalizer_cleanup(MVMThreadContext *tc, MVMNormalizer *n);
162
163
/* High-level normalize implementation, working from an input array of
164
 * codepoints and producing an output array of codepoints. */
165
void MVM_unicode_normalize_codepoints(MVMThreadContext *tc, const MVMObject *in, MVMObject *out, MVMNormalization form);
166
167
/* High-level function to produces an NFG string from an input array of
168
 * codepoints. */
169
MVMString * MVM_unicode_codepoints_to_nfg_string(MVMThreadContext *tc,const MVMObject *codes);
170
MVMString * MVM_unicode_codepoints_c_array_to_nfg_string(MVMThreadContext *tc, MVMCodepoint * cp_v, MVMint64 cp_count);
171
172
/* High-level function to produce an array of codepoints from a string. */
173
void MVM_unicode_string_to_codepoints(MVMThreadContext *tc, MVMString *s, MVMNormalization form, MVMObject *out);
174
175
/* faster atoi function */
176
101k
MVM_STATIC_INLINE MVMint32 fast_atoi( const char * dec_str ) {
177
101k
    MVMint32 value = 0;
178
202k
    while( *dec_str ) {
179
101k
        value = value*10 + (*dec_str++ - '0');
180
101k
    }
181
101k
    return value;
182
101k
}
Unexecuted instantiation: reprconv.c:fast_atoi
Unexecuted instantiation: reprs.c:fast_atoi
Unexecuted instantiation: asyncsocketudp.c:fast_atoi
Unexecuted instantiation: asyncsocket.c:fast_atoi
Unexecuted instantiation: signals.c:fast_atoi
Unexecuted instantiation: filewatchers.c:fast_atoi
Unexecuted instantiation: timers.c:fast_atoi
Unexecuted instantiation: procops.c:fast_atoi
Unexecuted instantiation: dirops.c:fast_atoi
Unexecuted instantiation: fileops.c:fast_atoi
Unexecuted instantiation: syncsocket.c:fast_atoi
Unexecuted instantiation: syncpipe.c:fast_atoi
Unexecuted instantiation: syncstream.c:fast_atoi
Unexecuted instantiation: syncfile.c:fast_atoi
Unexecuted instantiation: eventloop.c:fast_atoi
Unexecuted instantiation: io.c:fast_atoi
Unexecuted instantiation: debug.c:fast_atoi
Unexecuted instantiation: P6str.c:fast_atoi
Unexecuted instantiation: Uninstantiable.c:fast_atoi
Unexecuted instantiation: P6num.c:fast_atoi
Unexecuted instantiation: P6int.c:fast_atoi
Unexecuted instantiation: MVMStaticFrame.c:fast_atoi
Unexecuted instantiation: MVMCompUnit.c:fast_atoi
Unexecuted instantiation: MVMOSHandle.c:fast_atoi
Unexecuted instantiation: MVMCode.c:fast_atoi
Unexecuted instantiation: P6opaque.c:fast_atoi
Unexecuted instantiation: containers.c:fast_atoi
Unexecuted instantiation: KnowHOWAttributeREPR.c:fast_atoi
Unexecuted instantiation: KnowHOWREPR.c:fast_atoi
Unexecuted instantiation: MVMCFunction.c:fast_atoi
Unexecuted instantiation: MVMHash.c:fast_atoi
Unexecuted instantiation: VMArray.c:fast_atoi
Unexecuted instantiation: MVMString.c:fast_atoi
Unexecuted instantiation: parametric.c:fast_atoi
Unexecuted instantiation: callstack.c:fast_atoi
Unexecuted instantiation: coerce.c:fast_atoi
Unexecuted instantiation: num.c:fast_atoi
Unexecuted instantiation: loadbytecode.c:fast_atoi
Unexecuted instantiation: hll.c:fast_atoi
Unexecuted instantiation: ops.c:fast_atoi
Unexecuted instantiation: threads.c:fast_atoi
Unexecuted instantiation: bytecodedump.c:fast_atoi
Unexecuted instantiation: validation.c:fast_atoi
Unexecuted instantiation: dll.c:fast_atoi
Unexecuted instantiation: frame.c:fast_atoi
Unexecuted instantiation: bytecode.c:fast_atoi
Unexecuted instantiation: compunit.c:fast_atoi
Unexecuted instantiation: threadcontext.c:fast_atoi
Unexecuted instantiation: interp.c:fast_atoi
Unexecuted instantiation: exceptions.c:fast_atoi
Unexecuted instantiation: args.c:fast_atoi
Unexecuted instantiation: callsite.c:fast_atoi
Unexecuted instantiation: config.c:fast_atoi
Unexecuted instantiation: objectid.c:fast_atoi
Unexecuted instantiation: wb.c:fast_atoi
Unexecuted instantiation: gen2.c:fast_atoi
Unexecuted instantiation: collect.c:fast_atoi
Unexecuted instantiation: roots.c:fast_atoi
Unexecuted instantiation: worklist.c:fast_atoi
Unexecuted instantiation: allocation.c:fast_atoi
Unexecuted instantiation: orchestrate.c:fast_atoi
Unexecuted instantiation: finalize.c:fast_atoi
Unexecuted instantiation: regionalloc.c:fast_atoi
Unexecuted instantiation: fixedsizealloc.c:fast_atoi
Unexecuted instantiation: intcache.c:fast_atoi
Unexecuted instantiation: continuation.c:fast_atoi
Unexecuted instantiation: nativecall_dyncall.c:fast_atoi
Unexecuted instantiation: nativecall.c:fast_atoi
Unexecuted instantiation: ext.c:fast_atoi
Unexecuted instantiation: threshold.c:fast_atoi
Unexecuted instantiation: utf8_c8.c:fast_atoi
Unexecuted instantiation: utf8.c:fast_atoi
Unexecuted instantiation: ascii.c:fast_atoi
Unexecuted instantiation: decode_stream.c:fast_atoi
Unexecuted instantiation: compile.c:fast_atoi
Unexecuted instantiation: lookup.c:fast_atoi
Unexecuted instantiation: osr.c:fast_atoi
Unexecuted instantiation: inline.c:fast_atoi
Unexecuted instantiation: nfg.c:fast_atoi
Unexecuted instantiation: log.c:fast_atoi
Unexecuted instantiation: deopt.c:fast_atoi
Unexecuted instantiation: optimize.c:fast_atoi
Unexecuted instantiation: facts.c:fast_atoi
Unexecuted instantiation: manipulate.c:fast_atoi
Unexecuted instantiation: candidate.c:fast_atoi
Unexecuted instantiation: codegen.c:fast_atoi
Unexecuted instantiation: graph.c:fast_atoi
Unexecuted instantiation: profile.c:fast_atoi
Unexecuted instantiation: emit_posix_x64.c:fast_atoi
Unexecuted instantiation: sys.c:fast_atoi
Unexecuted instantiation: time.c:fast_atoi
Unexecuted instantiation: mmap.c:fast_atoi
Unexecuted instantiation: moar.c:fast_atoi
Unexecuted instantiation: line_coverage.c:fast_atoi
Unexecuted instantiation: crossthreadwrite.c:fast_atoi
Unexecuted instantiation: heapsnapshot.c:fast_atoi
Unexecuted instantiation: dump.c:fast_atoi
Unexecuted instantiation: instrument.c:fast_atoi
Unexecuted instantiation: bigintops.c:fast_atoi
Unexecuted instantiation: windows1252.c:fast_atoi
Unexecuted instantiation: utf16.c:fast_atoi
Unexecuted instantiation: latin1.c:fast_atoi
normalize.c:fast_atoi
Line
Count
Source
176
101k
MVM_STATIC_INLINE MVMint32 fast_atoi( const char * dec_str ) {
177
101k
    MVMint32 value = 0;
178
202k
    while( *dec_str ) {
179
101k
        value = value*10 + (*dec_str++ - '0');
180
101k
    }
181
101k
    return value;
182
101k
}
Unexecuted instantiation: unicode.c:fast_atoi
Unexecuted instantiation: MVMException.c:fast_atoi
Unexecuted instantiation: CStruct.c:fast_atoi
Unexecuted instantiation: CArray.c:fast_atoi
Unexecuted instantiation: CStr.c:fast_atoi
Unexecuted instantiation: CPointer.c:fast_atoi
Unexecuted instantiation: NativeCall.c:fast_atoi
Unexecuted instantiation: MVMContinuation.c:fast_atoi
Unexecuted instantiation: MVMMultiCache.c:fast_atoi
Unexecuted instantiation: MVMDLLSym.c:fast_atoi
Unexecuted instantiation: CUnion.c:fast_atoi
Unexecuted instantiation: NFA.c:fast_atoi
Unexecuted instantiation: P6bigint.c:fast_atoi
Unexecuted instantiation: MVMCallCapture.c:fast_atoi
Unexecuted instantiation: Lexotic.c:fast_atoi
Unexecuted instantiation: SCRef.c:fast_atoi
Unexecuted instantiation: MVMContext.c:fast_atoi
Unexecuted instantiation: MVMIter.c:fast_atoi
Unexecuted instantiation: MVMThread.c:fast_atoi
Unexecuted instantiation: NativeRef.c:fast_atoi
Unexecuted instantiation: driver.c:fast_atoi
Unexecuted instantiation: compiler.c:fast_atoi
Unexecuted instantiation: serialization.c:fast_atoi
Unexecuted instantiation: sc.c:fast_atoi
Unexecuted instantiation: bootstrap.c:fast_atoi
Unexecuted instantiation: 6model.c:fast_atoi
Unexecuted instantiation: Decoder.c:fast_atoi
Unexecuted instantiation: MultiDimArray.c:fast_atoi
Unexecuted instantiation: HashAttrStore.c:fast_atoi
Unexecuted instantiation: CPPStruct.c:fast_atoi
Unexecuted instantiation: MVMNull.c:fast_atoi
Unexecuted instantiation: MVMAsyncTask.c:fast_atoi
Unexecuted instantiation: ConcBlockingQueue.c:fast_atoi
Unexecuted instantiation: Semaphore.c:fast_atoi
Unexecuted instantiation: ConditionVariable.c:fast_atoi
Unexecuted instantiation: ReentrantMutex.c:fast_atoi