Coverage Report

Created: 2018-07-03 15:31

/home/travis/build/MoarVM/MoarVM/src/gc/roots.h
Line
Count
Source (jump to first uncovered line)
1
/* Set this flag to debug temporary root pushes/pops. */
2
#define MVM_TEMP_ROOT_DEBUG 0
3
4
/* The number of temp roots we start out with per thread (and so can rely on
5
 * always having). */
6
166M
#define MVM_TEMP_ROOT_BASE_ALLOC 16
7
8
/* Temp root push slow-path case. */
9
MVM_PUBLIC void MVM_gc_root_temp_push_slow(MVMThreadContext *tc, MVMCollectable **obj_ref);
10
11
/* Fast-path case of pushing a root onto the per-thread temporary roots. */
12
166M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
166M
    /* If debugging, ensure the root is not null. */
14
166M
#ifdef MVM_TEMP_ROOT_DEBUG
15
166M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
166M
#endif
18
166M
19
166M
    /* If less than the number of always-allocated roots, just add. */
20
166M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
166M
        tc->temproots[tc->num_temproots] = obj_ref;
22
166M
        tc->num_temproots++;
23
166M
    }
24
166M
25
166M
    /* Otherwise call the slow path. */
26
1
    else {
27
1
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
1
    }
29
166M
}
Unexecuted instantiation: reprs.c:MVM_gc_root_temp_push
KnowHOWAttributeREPR.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
KnowHOWREPR.c:MVM_gc_root_temp_push
Line
Count
Source
12
10.8k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
10.8k
    /* If debugging, ensure the root is not null. */
14
10.8k
#ifdef MVM_TEMP_ROOT_DEBUG
15
10.8k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
10.8k
#endif
18
10.8k
19
10.8k
    /* If less than the number of always-allocated roots, just add. */
20
10.8k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
10.8k
        tc->temproots[tc->num_temproots] = obj_ref;
22
10.8k
        tc->num_temproots++;
23
10.8k
    }
24
10.8k
25
10.8k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
10.8k
}
MVMCFunction.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMHash.c:MVM_gc_root_temp_push
Line
Count
Source
12
146
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
146
    /* If debugging, ensure the root is not null. */
14
146
#ifdef MVM_TEMP_ROOT_DEBUG
15
146
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
146
#endif
18
146
19
146
    /* If less than the number of always-allocated roots, just add. */
20
146
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
146
        tc->temproots[tc->num_temproots] = obj_ref;
22
146
        tc->num_temproots++;
23
146
    }
24
146
25
146
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
146
}
VMArray.c:MVM_gc_root_temp_push
Line
Count
Source
12
743
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
743
    /* If debugging, ensure the root is not null. */
14
743
#ifdef MVM_TEMP_ROOT_DEBUG
15
743
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
743
#endif
18
743
19
743
    /* If less than the number of always-allocated roots, just add. */
20
743
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
743
        tc->temproots[tc->num_temproots] = obj_ref;
22
743
        tc->num_temproots++;
23
743
    }
24
743
25
743
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
743
}
MVMString.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
parametric.c:MVM_gc_root_temp_push
Line
Count
Source
12
20
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
20
    /* If debugging, ensure the root is not null. */
14
20
#ifdef MVM_TEMP_ROOT_DEBUG
15
20
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
20
#endif
18
20
19
20
    /* If less than the number of always-allocated roots, just add. */
20
20
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
20
        tc->temproots[tc->num_temproots] = obj_ref;
22
20
        tc->num_temproots++;
23
20
    }
24
20
25
20
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
20
}
containers.c:MVM_gc_root_temp_push
Line
Count
Source
12
3
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
3
    /* If debugging, ensure the root is not null. */
14
3
#ifdef MVM_TEMP_ROOT_DEBUG
15
3
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
3
#endif
18
3
19
3
    /* If less than the number of always-allocated roots, just add. */
20
3
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
3
        tc->temproots[tc->num_temproots] = obj_ref;
22
3
        tc->num_temproots++;
23
3
    }
24
3
25
3
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
3
}
reprconv.c:MVM_gc_root_temp_push
Line
Count
Source
12
120k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
120k
    /* If debugging, ensure the root is not null. */
14
120k
#ifdef MVM_TEMP_ROOT_DEBUG
15
120k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
120k
#endif
18
120k
19
120k
    /* If less than the number of always-allocated roots, just add. */
20
120k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
120k
        tc->temproots[tc->num_temproots] = obj_ref;
22
120k
        tc->num_temproots++;
23
120k
    }
24
120k
25
120k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
120k
}
P6str.c:MVM_gc_root_temp_push
Line
Count
Source
12
149
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
149
    /* If debugging, ensure the root is not null. */
14
149
#ifdef MVM_TEMP_ROOT_DEBUG
15
149
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
149
#endif
18
149
19
149
    /* If less than the number of always-allocated roots, just add. */
20
149
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
149
        tc->temproots[tc->num_temproots] = obj_ref;
22
149
        tc->num_temproots++;
23
149
    }
24
149
25
149
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
149
}
Unexecuted instantiation: asyncsocketudp.c:MVM_gc_root_temp_push
Unexecuted instantiation: asyncsocket.c:MVM_gc_root_temp_push
Unexecuted instantiation: signals.c:MVM_gc_root_temp_push
Unexecuted instantiation: filewatchers.c:MVM_gc_root_temp_push
Unexecuted instantiation: timers.c:MVM_gc_root_temp_push
procops.c:MVM_gc_root_temp_push
Line
Count
Source
12
36.8k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
36.8k
    /* If debugging, ensure the root is not null. */
14
36.8k
#ifdef MVM_TEMP_ROOT_DEBUG
15
36.8k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
36.8k
#endif
18
36.8k
19
36.8k
    /* If less than the number of always-allocated roots, just add. */
20
36.8k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
36.8k
        tc->temproots[tc->num_temproots] = obj_ref;
22
36.8k
        tc->num_temproots++;
23
36.8k
    }
24
36.8k
25
36.8k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
36.8k
}
Unexecuted instantiation: dirops.c:MVM_gc_root_temp_push
fileops.c:MVM_gc_root_temp_push
Line
Count
Source
12
2.88k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
2.88k
    /* If debugging, ensure the root is not null. */
14
2.88k
#ifdef MVM_TEMP_ROOT_DEBUG
15
2.88k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
2.88k
#endif
18
2.88k
19
2.88k
    /* If less than the number of always-allocated roots, just add. */
20
2.88k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
2.88k
        tc->temproots[tc->num_temproots] = obj_ref;
22
2.88k
        tc->num_temproots++;
23
2.88k
    }
24
2.88k
25
2.88k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
2.88k
}
Unexecuted instantiation: syncsocket.c:MVM_gc_root_temp_push
MVMThread.c:MVM_gc_root_temp_push
Line
Count
Source
12
288
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
288
    /* If debugging, ensure the root is not null. */
14
288
#ifdef MVM_TEMP_ROOT_DEBUG
15
288
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
288
#endif
18
288
19
288
    /* If less than the number of always-allocated roots, just add. */
20
288
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
288
        tc->temproots[tc->num_temproots] = obj_ref;
22
288
        tc->num_temproots++;
23
288
    }
24
288
25
288
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
288
}
MVMMultiCache.c:MVM_gc_root_temp_push
Line
Count
Source
12
1.03k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1.03k
    /* If debugging, ensure the root is not null. */
14
1.03k
#ifdef MVM_TEMP_ROOT_DEBUG
15
1.03k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1.03k
#endif
18
1.03k
19
1.03k
    /* If less than the number of always-allocated roots, just add. */
20
1.03k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1.03k
        tc->temproots[tc->num_temproots] = obj_ref;
22
1.03k
        tc->num_temproots++;
23
1.03k
    }
24
1.03k
25
1.03k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1.03k
}
MVMDLLSym.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMException.c:MVM_gc_root_temp_push
Line
Count
Source
12
145
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
145
    /* If debugging, ensure the root is not null. */
14
145
#ifdef MVM_TEMP_ROOT_DEBUG
15
145
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
145
#endif
18
145
19
145
    /* If less than the number of always-allocated roots, just add. */
20
145
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
145
        tc->temproots[tc->num_temproots] = obj_ref;
22
145
        tc->num_temproots++;
23
145
    }
24
145
25
145
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
145
}
NFA.c:MVM_gc_root_temp_push
Line
Count
Source
12
10.4k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
10.4k
    /* If debugging, ensure the root is not null. */
14
10.4k
#ifdef MVM_TEMP_ROOT_DEBUG
15
10.4k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
10.4k
#endif
18
10.4k
19
10.4k
    /* If less than the number of always-allocated roots, just add. */
20
10.4k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
10.4k
        tc->temproots[tc->num_temproots] = obj_ref;
22
10.4k
        tc->num_temproots++;
23
10.4k
    }
24
10.4k
25
10.4k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
10.4k
}
P6bigint.c:MVM_gc_root_temp_push
Line
Count
Source
12
153
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
153
    /* If debugging, ensure the root is not null. */
14
153
#ifdef MVM_TEMP_ROOT_DEBUG
15
153
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
153
#endif
18
153
19
153
    /* If less than the number of always-allocated roots, just add. */
20
153
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
153
        tc->temproots[tc->num_temproots] = obj_ref;
22
153
        tc->num_temproots++;
23
153
    }
24
153
25
153
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
153
}
MVMCallCapture.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
SCRef.c:MVM_gc_root_temp_push
Line
Count
Source
12
3.20k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
3.20k
    /* If debugging, ensure the root is not null. */
14
3.20k
#ifdef MVM_TEMP_ROOT_DEBUG
15
3.20k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
3.20k
#endif
18
3.20k
19
3.20k
    /* If less than the number of always-allocated roots, just add. */
20
3.20k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
3.20k
        tc->temproots[tc->num_temproots] = obj_ref;
22
3.20k
        tc->num_temproots++;
23
3.20k
    }
24
3.20k
25
3.20k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
3.20k
}
MVMContext.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMIter.c:MVM_gc_root_temp_push
Line
Count
Source
12
667k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
667k
    /* If debugging, ensure the root is not null. */
14
667k
#ifdef MVM_TEMP_ROOT_DEBUG
15
667k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
667k
#endif
18
667k
19
667k
    /* If less than the number of always-allocated roots, just add. */
20
667k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
667k
        tc->temproots[tc->num_temproots] = obj_ref;
22
667k
        tc->num_temproots++;
23
667k
    }
24
667k
25
667k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
667k
}
Unexecuted instantiation: syncfile.c:MVM_gc_root_temp_push
Unexecuted instantiation: HashAttrStore.c:MVM_gc_root_temp_push
Uninstantiable.c:MVM_gc_root_temp_push
Line
Count
Source
12
319
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
319
    /* If debugging, ensure the root is not null. */
14
319
#ifdef MVM_TEMP_ROOT_DEBUG
15
319
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
319
#endif
18
319
19
319
    /* If less than the number of always-allocated roots, just add. */
20
319
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
319
        tc->temproots[tc->num_temproots] = obj_ref;
22
319
        tc->num_temproots++;
23
319
    }
24
319
25
319
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
319
}
P6num.c:MVM_gc_root_temp_push
Line
Count
Source
12
149
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
149
    /* If debugging, ensure the root is not null. */
14
149
#ifdef MVM_TEMP_ROOT_DEBUG
15
149
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
149
#endif
18
149
19
149
    /* If less than the number of always-allocated roots, just add. */
20
149
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
149
        tc->temproots[tc->num_temproots] = obj_ref;
22
149
        tc->num_temproots++;
23
149
    }
24
149
25
149
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
149
}
P6int.c:MVM_gc_root_temp_push
Line
Count
Source
12
151
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
151
    /* If debugging, ensure the root is not null. */
14
151
#ifdef MVM_TEMP_ROOT_DEBUG
15
151
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
151
#endif
18
151
19
151
    /* If less than the number of always-allocated roots, just add. */
20
151
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
151
        tc->temproots[tc->num_temproots] = obj_ref;
22
151
        tc->num_temproots++;
23
151
    }
24
151
25
151
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
151
}
MVMStaticFrame.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMCompUnit.c:MVM_gc_root_temp_push
Line
Count
Source
12
2.94k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
2.94k
    /* If debugging, ensure the root is not null. */
14
2.94k
#ifdef MVM_TEMP_ROOT_DEBUG
15
2.94k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
2.94k
#endif
18
2.94k
19
2.94k
    /* If less than the number of always-allocated roots, just add. */
20
2.94k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
2.94k
        tc->temproots[tc->num_temproots] = obj_ref;
22
2.94k
        tc->num_temproots++;
23
2.94k
    }
24
2.94k
25
2.94k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
2.94k
}
MVMOSHandle.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMCode.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
P6opaque.c:MVM_gc_root_temp_push
Line
Count
Source
12
97.8k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
97.8k
    /* If debugging, ensure the root is not null. */
14
97.8k
#ifdef MVM_TEMP_ROOT_DEBUG
15
97.8k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
97.8k
#endif
18
97.8k
19
97.8k
    /* If less than the number of always-allocated roots, just add. */
20
97.8k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
97.8k
        tc->temproots[tc->num_temproots] = obj_ref;
22
97.8k
        tc->num_temproots++;
23
97.8k
    }
24
97.8k
25
97.8k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
97.8k
}
Unexecuted instantiation: validation.c:MVM_gc_root_temp_push
Unexecuted instantiation: ext.c:MVM_gc_root_temp_push
Unexecuted instantiation: dll.c:MVM_gc_root_temp_push
coerce.c:MVM_gc_root_temp_push
Line
Count
Source
12
30.0M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
30.0M
    /* If debugging, ensure the root is not null. */
14
30.0M
#ifdef MVM_TEMP_ROOT_DEBUG
15
30.0M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
30.0M
#endif
18
30.0M
19
30.0M
    /* If less than the number of always-allocated roots, just add. */
20
30.0M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
30.0M
        tc->temproots[tc->num_temproots] = obj_ref;
22
30.0M
        tc->num_temproots++;
23
30.0M
    }
24
30.0M
25
30.0M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
30.0M
}
Unexecuted instantiation: num.c:MVM_gc_root_temp_push
loadbytecode.c:MVM_gc_root_temp_push
Line
Count
Source
12
1.44k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1.44k
    /* If debugging, ensure the root is not null. */
14
1.44k
#ifdef MVM_TEMP_ROOT_DEBUG
15
1.44k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1.44k
#endif
18
1.44k
19
1.44k
    /* If less than the number of always-allocated roots, just add. */
20
1.44k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1.44k
        tc->temproots[tc->num_temproots] = obj_ref;
22
1.44k
        tc->num_temproots++;
23
1.44k
    }
24
1.44k
25
1.44k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1.44k
}
hll.c:MVM_gc_root_temp_push
Line
Count
Source
12
453
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
453
    /* If debugging, ensure the root is not null. */
14
453
#ifdef MVM_TEMP_ROOT_DEBUG
15
453
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
453
#endif
18
453
19
453
    /* If less than the number of always-allocated roots, just add. */
20
453
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
453
        tc->temproots[tc->num_temproots] = obj_ref;
22
453
        tc->num_temproots++;
23
453
    }
24
453
25
453
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
453
}
ops.c:MVM_gc_root_temp_push
Line
Count
Source
12
6.19M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
6.19M
    /* If debugging, ensure the root is not null. */
14
6.19M
#ifdef MVM_TEMP_ROOT_DEBUG
15
6.19M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
6.19M
#endif
18
6.19M
19
6.19M
    /* If less than the number of always-allocated roots, just add. */
20
6.19M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
6.19M
        tc->temproots[tc->num_temproots] = obj_ref;
22
6.19M
        tc->num_temproots++;
23
6.19M
    }
24
6.19M
25
6.19M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
6.19M
}
threads.c:MVM_gc_root_temp_push
Line
Count
Source
12
544
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
544
    /* If debugging, ensure the root is not null. */
14
544
#ifdef MVM_TEMP_ROOT_DEBUG
15
544
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
544
#endif
18
544
19
544
    /* If less than the number of always-allocated roots, just add. */
20
544
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
544
        tc->temproots[tc->num_temproots] = obj_ref;
22
544
        tc->num_temproots++;
23
544
    }
24
544
25
544
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
544
}
Unexecuted instantiation: bytecodedump.c:MVM_gc_root_temp_push
Unexecuted instantiation: nativecall.c:MVM_gc_root_temp_push
Unexecuted instantiation: callstack.c:MVM_gc_root_temp_push
frame.c:MVM_gc_root_temp_push
Line
Count
Source
12
22.0M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
22.0M
    /* If debugging, ensure the root is not null. */
14
22.0M
#ifdef MVM_TEMP_ROOT_DEBUG
15
22.0M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
22.0M
#endif
18
22.0M
19
22.0M
    /* If less than the number of always-allocated roots, just add. */
20
22.0M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
22.0M
        tc->temproots[tc->num_temproots] = obj_ref;
22
22.0M
        tc->num_temproots++;
23
22.0M
    }
24
22.0M
25
22.0M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
22.0M
}
bytecode.c:MVM_gc_root_temp_push
Line
Count
Source
12
234k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
234k
    /* If debugging, ensure the root is not null. */
14
234k
#ifdef MVM_TEMP_ROOT_DEBUG
15
234k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
234k
#endif
18
234k
19
234k
    /* If less than the number of always-allocated roots, just add. */
20
234k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
234k
        tc->temproots[tc->num_temproots] = obj_ref;
22
234k
        tc->num_temproots++;
23
234k
    }
24
234k
25
234k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
234k
}
compunit.c:MVM_gc_root_temp_push
Line
Count
Source
12
2.80k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
2.80k
    /* If debugging, ensure the root is not null. */
14
2.80k
#ifdef MVM_TEMP_ROOT_DEBUG
15
2.80k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
2.80k
#endif
18
2.80k
19
2.80k
    /* If less than the number of always-allocated roots, just add. */
20
2.80k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
2.80k
        tc->temproots[tc->num_temproots] = obj_ref;
22
2.80k
        tc->num_temproots++;
23
2.80k
    }
24
2.80k
25
2.80k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
2.80k
}
Unexecuted instantiation: threadcontext.c:MVM_gc_root_temp_push
interp.c:MVM_gc_root_temp_push
Line
Count
Source
12
8.54M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
8.54M
    /* If debugging, ensure the root is not null. */
14
8.54M
#ifdef MVM_TEMP_ROOT_DEBUG
15
8.54M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
8.54M
#endif
18
8.54M
19
8.54M
    /* If less than the number of always-allocated roots, just add. */
20
8.54M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
8.54M
        tc->temproots[tc->num_temproots] = obj_ref;
22
8.54M
        tc->num_temproots++;
23
8.54M
    }
24
8.54M
25
8.54M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
8.54M
}
exceptions.c:MVM_gc_root_temp_push
Line
Count
Source
12
726
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
726
    /* If debugging, ensure the root is not null. */
14
726
#ifdef MVM_TEMP_ROOT_DEBUG
15
726
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
726
#endif
18
726
19
726
    /* If less than the number of always-allocated roots, just add. */
20
726
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
726
        tc->temproots[tc->num_temproots] = obj_ref;
22
726
        tc->num_temproots++;
23
726
    }
24
726
25
726
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
726
}
args.c:MVM_gc_root_temp_push
Line
Count
Source
12
8.33M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
8.33M
    /* If debugging, ensure the root is not null. */
14
8.33M
#ifdef MVM_TEMP_ROOT_DEBUG
15
8.33M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
8.33M
#endif
18
8.33M
19
8.33M
    /* If less than the number of always-allocated roots, just add. */
20
8.33M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
8.33M
        tc->temproots[tc->num_temproots] = obj_ref;
22
8.33M
        tc->num_temproots++;
23
8.33M
    }
24
8.33M
25
8.33M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
8.33M
}
Unexecuted instantiation: callsite.c:MVM_gc_root_temp_push
Unexecuted instantiation: worklist.c:MVM_gc_root_temp_push
eventloop.c:MVM_gc_root_temp_push
Line
Count
Source
12
94
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
94
    /* If debugging, ensure the root is not null. */
14
94
#ifdef MVM_TEMP_ROOT_DEBUG
15
94
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
94
#endif
18
94
19
94
    /* If less than the number of always-allocated roots, just add. */
20
94
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
94
        tc->temproots[tc->num_temproots] = obj_ref;
22
94
        tc->num_temproots++;
23
94
    }
24
94
25
94
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
94
}
io.c:MVM_gc_root_temp_push
Line
Count
Source
12
14.6k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
14.6k
    /* If debugging, ensure the root is not null. */
14
14.6k
#ifdef MVM_TEMP_ROOT_DEBUG
15
14.6k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
14.6k
#endif
18
14.6k
19
14.6k
    /* If less than the number of always-allocated roots, just add. */
20
14.6k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
14.6k
        tc->temproots[tc->num_temproots] = obj_ref;
22
14.6k
        tc->num_temproots++;
23
14.6k
    }
24
14.6k
25
14.6k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
14.6k
}
Unexecuted instantiation: debug.c:MVM_gc_root_temp_push
Unexecuted instantiation: finalize.c:MVM_gc_root_temp_push
Unexecuted instantiation: objectid.c:MVM_gc_root_temp_push
Unexecuted instantiation: wb.c:MVM_gc_root_temp_push
Unexecuted instantiation: gen2.c:MVM_gc_root_temp_push
Unexecuted instantiation: collect.c:MVM_gc_root_temp_push
Unexecuted instantiation: roots.c:MVM_gc_root_temp_push
MVMContinuation.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
allocation.c:MVM_gc_root_temp_push
Line
Count
Source
12
29.5M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
29.5M
    /* If debugging, ensure the root is not null. */
14
29.5M
#ifdef MVM_TEMP_ROOT_DEBUG
15
29.5M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
29.5M
#endif
18
29.5M
19
29.5M
    /* If less than the number of always-allocated roots, just add. */
20
29.5M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
29.5M
        tc->temproots[tc->num_temproots] = obj_ref;
22
29.5M
        tc->num_temproots++;
23
29.5M
    }
24
29.5M
25
29.5M
    /* Otherwise call the slow path. */
26
18.4E
    else {
27
18.4E
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
18.4E
    }
29
29.5M
}
Unexecuted instantiation: orchestrate.c:MVM_gc_root_temp_push
config.c:MVM_gc_root_temp_push
Line
Count
Source
12
22.3k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
22.3k
    /* If debugging, ensure the root is not null. */
14
22.3k
#ifdef MVM_TEMP_ROOT_DEBUG
15
22.3k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
22.3k
#endif
18
22.3k
19
22.3k
    /* If less than the number of always-allocated roots, just add. */
20
22.3k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
22.3k
        tc->temproots[tc->num_temproots] = obj_ref;
22
22.3k
        tc->num_temproots++;
23
22.3k
    }
24
22.3k
25
22.3k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
22.3k
}
Unexecuted instantiation: debugserver.c:MVM_gc_root_temp_push
Unexecuted instantiation: regionalloc.c:MVM_gc_root_temp_push
Unexecuted instantiation: fixedsizealloc.c:MVM_gc_root_temp_push
Unexecuted instantiation: intcache.c:MVM_gc_root_temp_push
continuation.c:MVM_gc_root_temp_push
Line
Count
Source
12
154
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
154
    /* If debugging, ensure the root is not null. */
14
154
#ifdef MVM_TEMP_ROOT_DEBUG
15
154
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
154
#endif
18
154
19
154
    /* If less than the number of always-allocated roots, just add. */
20
154
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
154
        tc->temproots[tc->num_temproots] = obj_ref;
22
154
        tc->num_temproots++;
23
154
    }
24
154
25
154
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
154
}
nativecall_dyncall.c:MVM_gc_root_temp_push
Line
Count
Source
12
6
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
6
    /* If debugging, ensure the root is not null. */
14
6
#ifdef MVM_TEMP_ROOT_DEBUG
15
6
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
6
#endif
18
6
19
6
    /* If less than the number of always-allocated roots, just add. */
20
6
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
6
        tc->temproots[tc->num_temproots] = obj_ref;
22
6
        tc->num_temproots++;
23
6
    }
24
6
25
6
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
6
}
Unexecuted instantiation: utf8_c8.c:MVM_gc_root_temp_push
bigintops.c:MVM_gc_root_temp_push
Line
Count
Source
12
328
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
328
    /* If debugging, ensure the root is not null. */
14
328
#ifdef MVM_TEMP_ROOT_DEBUG
15
328
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
328
#endif
18
328
19
328
    /* If less than the number of always-allocated roots, just add. */
20
328
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
328
        tc->temproots[tc->num_temproots] = obj_ref;
22
328
        tc->num_temproots++;
23
328
    }
24
328
25
328
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
328
}
Unexecuted instantiation: shiftjis_codeindex.c:MVM_gc_root_temp_push
Unexecuted instantiation: shiftjis.c:MVM_gc_root_temp_push
Unexecuted instantiation: windows1252.c:MVM_gc_root_temp_push
Unexecuted instantiation: utf16.c:MVM_gc_root_temp_push
Unexecuted instantiation: latin1.c:MVM_gc_root_temp_push
Unexecuted instantiation: normalize.c:MVM_gc_root_temp_push
Unexecuted instantiation: unicode.c:MVM_gc_root_temp_push
Unexecuted instantiation: nfg.c:MVM_gc_root_temp_push
Unexecuted instantiation: instrument.c:MVM_gc_root_temp_push
Unexecuted instantiation: utf8.c:MVM_gc_root_temp_push
Unexecuted instantiation: parse_num.c:MVM_gc_root_temp_push
Unexecuted instantiation: ascii.c:MVM_gc_root_temp_push
Unexecuted instantiation: decode_stream.c:MVM_gc_root_temp_push
plugin.c:MVM_gc_root_temp_push
Line
Count
Source
12
97.2k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
97.2k
    /* If debugging, ensure the root is not null. */
14
97.2k
#ifdef MVM_TEMP_ROOT_DEBUG
15
97.2k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
97.2k
#endif
18
97.2k
19
97.2k
    /* If less than the number of always-allocated roots, just add. */
20
97.2k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
97.2k
        tc->temproots[tc->num_temproots] = obj_ref;
22
97.2k
        tc->num_temproots++;
23
97.2k
    }
24
97.2k
25
97.2k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
97.2k
}
Unexecuted instantiation: arg_guard.c:MVM_gc_root_temp_push
Unexecuted instantiation: plan.c:MVM_gc_root_temp_push
Unexecuted instantiation: stats.c:MVM_gc_root_temp_push
worker.c:MVM_gc_root_temp_push
Line
Count
Source
12
1.89k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1.89k
    /* If debugging, ensure the root is not null. */
14
1.89k
#ifdef MVM_TEMP_ROOT_DEBUG
15
1.89k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1.89k
#endif
18
1.89k
19
1.89k
    /* If less than the number of always-allocated roots, just add. */
20
1.89k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1.89k
        tc->temproots[tc->num_temproots] = obj_ref;
22
1.89k
        tc->num_temproots++;
23
1.89k
    }
24
1.89k
25
1.89k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1.89k
}
Unexecuted instantiation: mmap.c:MVM_gc_root_temp_push
Unexecuted instantiation: arch.c:MVM_gc_root_temp_push
Unexecuted instantiation: emit.c:MVM_gc_root_temp_push
Unexecuted instantiation: interface.c:MVM_gc_root_temp_push
Unexecuted instantiation: linear_scan.c:MVM_gc_root_temp_push
Unexecuted instantiation: tile.c:MVM_gc_root_temp_push
Unexecuted instantiation: expr.c:MVM_gc_root_temp_push
Unexecuted instantiation: compile.c:MVM_gc_root_temp_push
Unexecuted instantiation: label.c:MVM_gc_root_temp_push
Unexecuted instantiation: time.c:MVM_gc_root_temp_push
Unexecuted instantiation: iterator.c:MVM_gc_root_temp_push
moar.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
Unexecuted instantiation: memmem32.c:MVM_gc_root_temp_push
Unexecuted instantiation: random.c:MVM_gc_root_temp_push
Unexecuted instantiation: sys.c:MVM_gc_root_temp_push
Unexecuted instantiation: line_coverage.c:MVM_gc_root_temp_push
Unexecuted instantiation: crossthreadwrite.c:MVM_gc_root_temp_push
Unexecuted instantiation: telemeh.c:MVM_gc_root_temp_push
Unexecuted instantiation: heapsnapshot.c:MVM_gc_root_temp_push
Unexecuted instantiation: profile.c:MVM_gc_root_temp_push
ConcBlockingQueue.c:MVM_gc_root_temp_push
Line
Count
Source
12
7.07k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
7.07k
    /* If debugging, ensure the root is not null. */
14
7.07k
#ifdef MVM_TEMP_ROOT_DEBUG
15
7.07k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
7.07k
#endif
18
7.07k
19
7.07k
    /* If less than the number of always-allocated roots, just add. */
20
7.07k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
7.07k
        tc->temproots[tc->num_temproots] = obj_ref;
22
7.07k
        tc->num_temproots++;
23
7.07k
    }
24
7.07k
25
7.07k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
7.07k
}
6model.c:MVM_gc_root_temp_push
Line
Count
Source
12
53.1M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
53.1M
    /* If debugging, ensure the root is not null. */
14
53.1M
#ifdef MVM_TEMP_ROOT_DEBUG
15
53.1M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
53.1M
#endif
18
53.1M
19
53.1M
    /* If less than the number of always-allocated roots, just add. */
20
53.1M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
53.1M
        tc->temproots[tc->num_temproots] = obj_ref;
22
53.1M
        tc->num_temproots++;
23
53.1M
    }
24
53.1M
25
53.1M
    /* Otherwise call the slow path. */
26
2
    else {
27
2
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
2
    }
29
53.1M
}
MVMStaticFrameSpesh.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMSpeshLog.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
Decoder.c:MVM_gc_root_temp_push
Line
Count
Source
12
268
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
268
    /* If debugging, ensure the root is not null. */
14
268
#ifdef MVM_TEMP_ROOT_DEBUG
15
268
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
268
#endif
18
268
19
268
    /* If less than the number of always-allocated roots, just add. */
20
268
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
268
        tc->temproots[tc->num_temproots] = obj_ref;
22
268
        tc->num_temproots++;
23
268
    }
24
268
25
268
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
268
}
MultiDimArray.c:MVM_gc_root_temp_push
Line
Count
Source
12
17
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
17
    /* If debugging, ensure the root is not null. */
14
17
#ifdef MVM_TEMP_ROOT_DEBUG
15
17
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
17
#endif
18
17
19
17
    /* If less than the number of always-allocated roots, just add. */
20
17
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
17
        tc->temproots[tc->num_temproots] = obj_ref;
22
17
        tc->num_temproots++;
23
17
    }
24
17
25
17
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
17
}
NativeRef.c:MVM_gc_root_temp_push
Line
Count
Source
12
82
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
82
    /* If debugging, ensure the root is not null. */
14
82
#ifdef MVM_TEMP_ROOT_DEBUG
15
82
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
82
#endif
18
82
19
82
    /* If less than the number of always-allocated roots, just add. */
20
82
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
82
        tc->temproots[tc->num_temproots] = obj_ref;
22
82
        tc->num_temproots++;
23
82
    }
24
82
25
82
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
82
}
Unexecuted instantiation: CPPStruct.c:MVM_gc_root_temp_push
MVMNull.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
MVMAsyncTask.c:MVM_gc_root_temp_push
Line
Count
Source
12
144
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
144
    /* If debugging, ensure the root is not null. */
14
144
#ifdef MVM_TEMP_ROOT_DEBUG
15
144
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
144
#endif
18
144
19
144
    /* If less than the number of always-allocated roots, just add. */
20
144
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
144
        tc->temproots[tc->num_temproots] = obj_ref;
22
144
        tc->num_temproots++;
23
144
    }
24
144
25
144
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
144
}
bootstrap.c:MVM_gc_root_temp_push
Line
Count
Source
12
18.9k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
18.9k
    /* If debugging, ensure the root is not null. */
14
18.9k
#ifdef MVM_TEMP_ROOT_DEBUG
15
18.9k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
18.9k
#endif
18
18.9k
19
18.9k
    /* If less than the number of always-allocated roots, just add. */
20
18.9k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
18.9k
        tc->temproots[tc->num_temproots] = obj_ref;
22
18.9k
        tc->num_temproots++;
23
18.9k
    }
24
18.9k
25
18.9k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
18.9k
}
Semaphore.c:MVM_gc_root_temp_push
Line
Count
Source
12
10
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
10
    /* If debugging, ensure the root is not null. */
14
10
#ifdef MVM_TEMP_ROOT_DEBUG
15
10
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
10
#endif
18
10
19
10
    /* If less than the number of always-allocated roots, just add. */
20
10
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
10
        tc->temproots[tc->num_temproots] = obj_ref;
22
10
        tc->num_temproots++;
23
10
    }
24
10
25
10
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
10
}
ConditionVariable.c:MVM_gc_root_temp_push
Line
Count
Source
12
16
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
16
    /* If debugging, ensure the root is not null. */
14
16
#ifdef MVM_TEMP_ROOT_DEBUG
15
16
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
16
#endif
18
16
19
16
    /* If less than the number of always-allocated roots, just add. */
20
16
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
16
        tc->temproots[tc->num_temproots] = obj_ref;
22
16
        tc->num_temproots++;
23
16
    }
24
16
25
16
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
16
}
ReentrantMutex.c:MVM_gc_root_temp_push
Line
Count
Source
12
296k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
296k
    /* If debugging, ensure the root is not null. */
14
296k
#ifdef MVM_TEMP_ROOT_DEBUG
15
296k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
296k
#endif
18
296k
19
296k
    /* If less than the number of always-allocated roots, just add. */
20
296k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
296k
        tc->temproots[tc->num_temproots] = obj_ref;
22
296k
        tc->num_temproots++;
23
296k
    }
24
296k
25
296k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
296k
}
Unexecuted instantiation: CUnion.c:MVM_gc_root_temp_push
Unexecuted instantiation: CStruct.c:MVM_gc_root_temp_push
Unexecuted instantiation: CArray.c:MVM_gc_root_temp_push
Unexecuted instantiation: CStr.c:MVM_gc_root_temp_push
CPointer.c:MVM_gc_root_temp_push
Line
Count
Source
12
1
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1
    /* If debugging, ensure the root is not null. */
14
1
#ifdef MVM_TEMP_ROOT_DEBUG
15
1
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1
#endif
18
1
19
1
    /* If less than the number of always-allocated roots, just add. */
20
1
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1
        tc->temproots[tc->num_temproots] = obj_ref;
22
1
        tc->num_temproots++;
23
1
    }
24
1
25
1
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1
}
NativeCall.c:MVM_gc_root_temp_push
Line
Count
Source
12
1
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1
    /* If debugging, ensure the root is not null. */
14
1
#ifdef MVM_TEMP_ROOT_DEBUG
15
1
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1
#endif
18
1
19
1
    /* If less than the number of always-allocated roots, just add. */
20
1
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1
        tc->temproots[tc->num_temproots] = obj_ref;
22
1
        tc->num_temproots++;
23
1
    }
24
1
25
1
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1
}
Unexecuted instantiation: manipulate.c:MVM_gc_root_temp_push
Unexecuted instantiation: lookup.c:MVM_gc_root_temp_push
Unexecuted instantiation: osr.c:MVM_gc_root_temp_push
Unexecuted instantiation: inline.c:MVM_gc_root_temp_push
Unexecuted instantiation: threshold.c:MVM_gc_root_temp_push
log.c:MVM_gc_root_temp_push
Line
Count
Source
12
5.72M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
5.72M
    /* If debugging, ensure the root is not null. */
14
5.72M
#ifdef MVM_TEMP_ROOT_DEBUG
15
5.72M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
5.72M
#endif
18
5.72M
19
5.72M
    /* If less than the number of always-allocated roots, just add. */
20
5.72M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
5.72M
        tc->temproots[tc->num_temproots] = obj_ref;
22
5.72M
        tc->num_temproots++;
23
5.72M
    }
24
5.72M
25
5.72M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
5.72M
}
deopt.c:MVM_gc_root_temp_push
Line
Count
Source
12
28.1k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
28.1k
    /* If debugging, ensure the root is not null. */
14
28.1k
#ifdef MVM_TEMP_ROOT_DEBUG
15
28.1k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
28.1k
#endif
18
28.1k
19
28.1k
    /* If less than the number of always-allocated roots, just add. */
20
28.1k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
28.1k
        tc->temproots[tc->num_temproots] = obj_ref;
22
28.1k
        tc->num_temproots++;
23
28.1k
    }
24
28.1k
25
28.1k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
28.1k
}
Unexecuted instantiation: dead_bb_elimination.c:MVM_gc_root_temp_push
Unexecuted instantiation: optimize.c:MVM_gc_root_temp_push
Unexecuted instantiation: facts.c:MVM_gc_root_temp_push
Unexecuted instantiation: candidate.c:MVM_gc_root_temp_push
Unexecuted instantiation: codegen.c:MVM_gc_root_temp_push
Unexecuted instantiation: graph.c:MVM_gc_root_temp_push
Unexecuted instantiation: dump.c:MVM_gc_root_temp_push
driver.c:MVM_gc_root_temp_push
Line
Count
Source
12
2.43k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
2.43k
    /* If debugging, ensure the root is not null. */
14
2.43k
#ifdef MVM_TEMP_ROOT_DEBUG
15
2.43k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
2.43k
#endif
18
2.43k
19
2.43k
    /* If less than the number of always-allocated roots, just add. */
20
2.43k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
2.43k
        tc->temproots[tc->num_temproots] = obj_ref;
22
2.43k
        tc->num_temproots++;
23
2.43k
    }
24
2.43k
25
2.43k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
2.43k
}
Unexecuted instantiation: compiler.c:MVM_gc_root_temp_push
serialization.c:MVM_gc_root_temp_push
Line
Count
Source
12
1.59M
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
1.59M
    /* If debugging, ensure the root is not null. */
14
1.59M
#ifdef MVM_TEMP_ROOT_DEBUG
15
1.59M
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
1.59M
#endif
18
1.59M
19
1.59M
    /* If less than the number of always-allocated roots, just add. */
20
1.59M
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
1.59M
        tc->temproots[tc->num_temproots] = obj_ref;
22
1.59M
        tc->num_temproots++;
23
1.59M
    }
24
1.59M
25
1.59M
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
1.59M
}
sc.c:MVM_gc_root_temp_push
Line
Count
Source
12
6.14k
MVM_STATIC_INLINE void MVM_gc_root_temp_push(MVMThreadContext *tc, MVMCollectable **obj_ref) {
13
6.14k
    /* If debugging, ensure the root is not null. */
14
6.14k
#ifdef MVM_TEMP_ROOT_DEBUG
15
6.14k
    if (obj_ref == NULL)
16
0
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to add null object address as a temporary root");
17
6.14k
#endif
18
6.14k
19
6.14k
    /* If less than the number of always-allocated roots, just add. */
20
6.14k
    if (tc->num_temproots < MVM_TEMP_ROOT_BASE_ALLOC) {
21
6.14k
        tc->temproots[tc->num_temproots] = obj_ref;
22
6.14k
        tc->num_temproots++;
23
6.14k
    }
24
6.14k
25
6.14k
    /* Otherwise call the slow path. */
26
0
    else {
27
0
        MVM_gc_root_temp_push_slow(tc, obj_ref);
28
0
    }
29
6.14k
}
30
31
/* Pop top root from the per-thread temporary roots stack. */
32
108M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
108M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
108M
    tc->num_temproots--;
38
108M
}
args.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.18M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.18M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.18M
    tc->num_temproots--;
38
1.18M
}
Unexecuted instantiation: facts.c:MVM_gc_root_temp_pop
sc.c:MVM_gc_root_temp_pop
Line
Count
Source
32
6.14k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
6.14k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
6.14k
    tc->num_temproots--;
38
6.14k
}
serialization.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.57M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.57M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.57M
    tc->num_temproots--;
38
1.57M
}
Unexecuted instantiation: compiler.c:MVM_gc_root_temp_pop
driver.c:MVM_gc_root_temp_pop
Line
Count
Source
32
2.43k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
2.43k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
2.43k
    tc->num_temproots--;
38
2.43k
}
Unexecuted instantiation: dump.c:MVM_gc_root_temp_pop
Unexecuted instantiation: graph.c:MVM_gc_root_temp_pop
Unexecuted instantiation: codegen.c:MVM_gc_root_temp_pop
Unexecuted instantiation: candidate.c:MVM_gc_root_temp_pop
Unexecuted instantiation: manipulate.c:MVM_gc_root_temp_pop
bootstrap.c:MVM_gc_root_temp_pop
Line
Count
Source
32
4.89k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
4.89k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
4.89k
    tc->num_temproots--;
38
4.89k
}
Unexecuted instantiation: optimize.c:MVM_gc_root_temp_pop
Unexecuted instantiation: dead_bb_elimination.c:MVM_gc_root_temp_pop
deopt.c:MVM_gc_root_temp_pop
Line
Count
Source
32
26.0k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
26.0k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
26.0k
    tc->num_temproots--;
38
26.0k
}
log.c:MVM_gc_root_temp_pop
Line
Count
Source
32
5.72M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
5.72M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
5.72M
    tc->num_temproots--;
38
5.72M
}
Unexecuted instantiation: threshold.c:MVM_gc_root_temp_pop
Unexecuted instantiation: inline.c:MVM_gc_root_temp_pop
Unexecuted instantiation: osr.c:MVM_gc_root_temp_pop
Unexecuted instantiation: lookup.c:MVM_gc_root_temp_pop
Unexecuted instantiation: iterator.c:MVM_gc_root_temp_pop
ConcBlockingQueue.c:MVM_gc_root_temp_pop
Line
Count
Source
32
3.55k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
3.55k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
3.55k
    tc->num_temproots--;
38
3.55k
}
NativeCall.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1
    tc->num_temproots--;
38
1
}
CPointer.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1
    tc->num_temproots--;
38
1
}
Unexecuted instantiation: CStr.c:MVM_gc_root_temp_pop
Unexecuted instantiation: CArray.c:MVM_gc_root_temp_pop
Unexecuted instantiation: CStruct.c:MVM_gc_root_temp_pop
Unexecuted instantiation: CUnion.c:MVM_gc_root_temp_pop
ReentrantMutex.c:MVM_gc_root_temp_pop
Line
Count
Source
32
296k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
296k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
296k
    tc->num_temproots--;
38
296k
}
ConditionVariable.c:MVM_gc_root_temp_pop
Line
Count
Source
32
4
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
4
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
4
    tc->num_temproots--;
38
4
}
Semaphore.c:MVM_gc_root_temp_pop
Line
Count
Source
32
10
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
10
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
10
    tc->num_temproots--;
38
10
}
worker.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.47k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.47k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.47k
    tc->num_temproots--;
38
1.47k
}
MVMAsyncTask.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
MVMNull.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
Unexecuted instantiation: CPPStruct.c:MVM_gc_root_temp_pop
NativeRef.c:MVM_gc_root_temp_pop
Line
Count
Source
32
37
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
37
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
37
    tc->num_temproots--;
38
37
}
MultiDimArray.c:MVM_gc_root_temp_pop
Line
Count
Source
32
17
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
17
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
17
    tc->num_temproots--;
38
17
}
Decoder.c:MVM_gc_root_temp_pop
Line
Count
Source
32
267
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
267
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
267
    tc->num_temproots--;
38
267
}
MVMSpeshLog.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
MVMStaticFrameSpesh.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
6model.c:MVM_gc_root_temp_pop
Line
Count
Source
32
27.8M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
27.8M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
27.8M
    tc->num_temproots--;
38
27.8M
}
Unexecuted instantiation: mmap.c:MVM_gc_root_temp_pop
Unexecuted instantiation: profile.c:MVM_gc_root_temp_pop
Unexecuted instantiation: heapsnapshot.c:MVM_gc_root_temp_pop
Unexecuted instantiation: telemeh.c:MVM_gc_root_temp_pop
Unexecuted instantiation: crossthreadwrite.c:MVM_gc_root_temp_pop
Unexecuted instantiation: line_coverage.c:MVM_gc_root_temp_pop
Unexecuted instantiation: sys.c:MVM_gc_root_temp_pop
Unexecuted instantiation: random.c:MVM_gc_root_temp_pop
Unexecuted instantiation: memmem32.c:MVM_gc_root_temp_pop
moar.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
Unexecuted instantiation: instrument.c:MVM_gc_root_temp_pop
Unexecuted instantiation: time.c:MVM_gc_root_temp_pop
Unexecuted instantiation: label.c:MVM_gc_root_temp_pop
Unexecuted instantiation: compile.c:MVM_gc_root_temp_pop
Unexecuted instantiation: expr.c:MVM_gc_root_temp_pop
Unexecuted instantiation: tile.c:MVM_gc_root_temp_pop
Unexecuted instantiation: linear_scan.c:MVM_gc_root_temp_pop
Unexecuted instantiation: interface.c:MVM_gc_root_temp_pop
Unexecuted instantiation: emit.c:MVM_gc_root_temp_pop
Unexecuted instantiation: arch.c:MVM_gc_root_temp_pop
Unexecuted instantiation: nfg.c:MVM_gc_root_temp_pop
Unexecuted instantiation: stats.c:MVM_gc_root_temp_pop
Unexecuted instantiation: plan.c:MVM_gc_root_temp_pop
Unexecuted instantiation: arg_guard.c:MVM_gc_root_temp_pop
plugin.c:MVM_gc_root_temp_pop
Line
Count
Source
32
97.1k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
97.1k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
97.1k
    tc->num_temproots--;
38
97.1k
}
Unexecuted instantiation: decode_stream.c:MVM_gc_root_temp_pop
Unexecuted instantiation: ascii.c:MVM_gc_root_temp_pop
Unexecuted instantiation: parse_num.c:MVM_gc_root_temp_pop
Unexecuted instantiation: utf8.c:MVM_gc_root_temp_pop
Unexecuted instantiation: utf8_c8.c:MVM_gc_root_temp_pop
MVMContinuation.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
Unexecuted instantiation: unicode.c:MVM_gc_root_temp_pop
Unexecuted instantiation: normalize.c:MVM_gc_root_temp_pop
Unexecuted instantiation: latin1.c:MVM_gc_root_temp_pop
Unexecuted instantiation: utf16.c:MVM_gc_root_temp_pop
Unexecuted instantiation: windows1252.c:MVM_gc_root_temp_pop
Unexecuted instantiation: shiftjis.c:MVM_gc_root_temp_pop
Unexecuted instantiation: shiftjis_codeindex.c:MVM_gc_root_temp_pop
bigintops.c:MVM_gc_root_temp_pop
Line
Count
Source
32
10
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
10
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
10
    tc->num_temproots--;
38
10
}
Unexecuted instantiation: roots.c:MVM_gc_root_temp_pop
Unexecuted instantiation: continuation.c:MVM_gc_root_temp_pop
Unexecuted instantiation: intcache.c:MVM_gc_root_temp_pop
Unexecuted instantiation: fixedsizealloc.c:MVM_gc_root_temp_pop
Unexecuted instantiation: regionalloc.c:MVM_gc_root_temp_pop
Unexecuted instantiation: debugserver.c:MVM_gc_root_temp_pop
config.c:MVM_gc_root_temp_pop
Line
Count
Source
32
22.3k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
22.3k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
22.3k
    tc->num_temproots--;
38
22.3k
}
Unexecuted instantiation: orchestrate.c:MVM_gc_root_temp_pop
allocation.c:MVM_gc_root_temp_pop
Line
Count
Source
32
29.5M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
29.5M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
29.5M
    tc->num_temproots--;
38
29.5M
}
Unexecuted instantiation: worklist.c:MVM_gc_root_temp_pop
Unexecuted instantiation: nativecall_dyncall.c:MVM_gc_root_temp_pop
Unexecuted instantiation: collect.c:MVM_gc_root_temp_pop
Unexecuted instantiation: gen2.c:MVM_gc_root_temp_pop
Unexecuted instantiation: wb.c:MVM_gc_root_temp_pop
Unexecuted instantiation: objectid.c:MVM_gc_root_temp_pop
Unexecuted instantiation: finalize.c:MVM_gc_root_temp_pop
Unexecuted instantiation: debug.c:MVM_gc_root_temp_pop
io.c:MVM_gc_root_temp_pop
Line
Count
Source
32
13.8k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
13.8k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
13.8k
    tc->num_temproots--;
38
13.8k
}
eventloop.c:MVM_gc_root_temp_pop
Line
Count
Source
32
52
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
52
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
52
    tc->num_temproots--;
38
52
}
Unexecuted instantiation: syncfile.c:MVM_gc_root_temp_pop
Unexecuted instantiation: bytecodedump.c:MVM_gc_root_temp_pop
Unexecuted instantiation: callsite.c:MVM_gc_root_temp_pop
exceptions.c:MVM_gc_root_temp_pop
Line
Count
Source
32
721
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
721
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
721
    tc->num_temproots--;
38
721
}
interp.c:MVM_gc_root_temp_pop
Line
Count
Source
32
8.54M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
8.54M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
8.54M
    tc->num_temproots--;
38
8.54M
}
Unexecuted instantiation: threadcontext.c:MVM_gc_root_temp_pop
compunit.c:MVM_gc_root_temp_pop
Line
Count
Source
32
2.80k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
2.80k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
2.80k
    tc->num_temproots--;
38
2.80k
}
bytecode.c:MVM_gc_root_temp_pop
Line
Count
Source
32
234k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
234k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
234k
    tc->num_temproots--;
38
234k
}
frame.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.76M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.76M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.76M
    tc->num_temproots--;
38
1.76M
}
Unexecuted instantiation: callstack.c:MVM_gc_root_temp_pop
Unexecuted instantiation: validation.c:MVM_gc_root_temp_pop
Unexecuted instantiation: syncsocket.c:MVM_gc_root_temp_pop
threads.c:MVM_gc_root_temp_pop
Line
Count
Source
32
371
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
371
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
371
    tc->num_temproots--;
38
371
}
ops.c:MVM_gc_root_temp_pop
Line
Count
Source
32
430k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
430k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
430k
    tc->num_temproots--;
38
430k
}
hll.c:MVM_gc_root_temp_pop
Line
Count
Source
32
163
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
163
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
163
    tc->num_temproots--;
38
163
}
loadbytecode.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.44k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.44k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.44k
    tc->num_temproots--;
38
1.44k
}
Unexecuted instantiation: num.c:MVM_gc_root_temp_pop
coerce.c:MVM_gc_root_temp_pop
Line
Count
Source
32
30.0M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
30.0M
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
30.0M
    tc->num_temproots--;
38
30.0M
}
Unexecuted instantiation: dll.c:MVM_gc_root_temp_pop
Unexecuted instantiation: ext.c:MVM_gc_root_temp_pop
Unexecuted instantiation: nativecall.c:MVM_gc_root_temp_pop
MVMThread.c:MVM_gc_root_temp_pop
Line
Count
Source
32
288
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
288
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
288
    tc->num_temproots--;
38
288
}
P6opaque.c:MVM_gc_root_temp_pop
Line
Count
Source
32
1.50k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
1.50k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
1.50k
    tc->num_temproots--;
38
1.50k
}
MVMCode.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
MVMOSHandle.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
MVMCompUnit.c:MVM_gc_root_temp_pop
Line
Count
Source
32
2.94k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
2.94k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
2.94k
    tc->num_temproots--;
38
2.94k
}
MVMStaticFrame.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
P6int.c:MVM_gc_root_temp_pop
Line
Count
Source
32
151
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
151
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
151
    tc->num_temproots--;
38
151
}
P6num.c:MVM_gc_root_temp_pop
Line
Count
Source
32
149
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
149
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
149
    tc->num_temproots--;
38
149
}
Uninstantiable.c:MVM_gc_root_temp_pop
Line
Count
Source
32
319
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
319
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
319
    tc->num_temproots--;
38
319
}
Unexecuted instantiation: HashAttrStore.c:MVM_gc_root_temp_pop
P6str.c:MVM_gc_root_temp_pop
Line
Count
Source
32
149
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
149
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
149
    tc->num_temproots--;
38
149
}
MVMIter.c:MVM_gc_root_temp_pop
Line
Count
Source
32
666k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
666k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
666k
    tc->num_temproots--;
38
666k
}
MVMContext.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
SCRef.c:MVM_gc_root_temp_pop
Line
Count
Source
32
3.20k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
3.20k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
3.20k
    tc->num_temproots--;
38
3.20k
}
MVMCallCapture.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
P6bigint.c:MVM_gc_root_temp_pop
Line
Count
Source
32
153
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
153
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
153
    tc->num_temproots--;
38
153
}
NFA.c:MVM_gc_root_temp_pop
Line
Count
Source
32
2
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
2
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
2
    tc->num_temproots--;
38
2
}
MVMException.c:MVM_gc_root_temp_pop
Line
Count
Source
32
145
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
145
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
145
    tc->num_temproots--;
38
145
}
MVMDLLSym.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
MVMMultiCache.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
reprconv.c:MVM_gc_root_temp_pop
Line
Count
Source
32
57.1k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
57.1k
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
57.1k
    tc->num_temproots--;
38
57.1k
}
Unexecuted instantiation: fileops.c:MVM_gc_root_temp_pop
Unexecuted instantiation: dirops.c:MVM_gc_root_temp_pop
procops.c:MVM_gc_root_temp_pop
Line
Count
Source
32
210
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
210
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
210
    tc->num_temproots--;
38
210
}
Unexecuted instantiation: timers.c:MVM_gc_root_temp_pop
Unexecuted instantiation: filewatchers.c:MVM_gc_root_temp_pop
Unexecuted instantiation: signals.c:MVM_gc_root_temp_pop
Unexecuted instantiation: asyncsocket.c:MVM_gc_root_temp_pop
Unexecuted instantiation: asyncsocketudp.c:MVM_gc_root_temp_pop
Unexecuted instantiation: reprs.c:MVM_gc_root_temp_pop
containers.c:MVM_gc_root_temp_pop
Line
Count
Source
32
3
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
3
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
3
    tc->num_temproots--;
38
3
}
Unexecuted instantiation: parametric.c:MVM_gc_root_temp_pop
MVMString.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
VMArray.c:MVM_gc_root_temp_pop
Line
Count
Source
32
743
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
743
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
743
    tc->num_temproots--;
38
743
}
MVMHash.c:MVM_gc_root_temp_pop
Line
Count
Source
32
146
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
146
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
146
    tc->num_temproots--;
38
146
}
MVMCFunction.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
KnowHOWREPR.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
KnowHOWAttributeREPR.c:MVM_gc_root_temp_pop
Line
Count
Source
32
144
MVM_STATIC_INLINE void MVM_gc_root_temp_pop(MVMThreadContext *tc) {
33
144
#if MVM_TEMP_ROOT_DEBUG
34
    if (tc->num_temproots <= 0)
35
        MVM_panic(1, "Illegal attempt to pop empty temporary root stack");
36
#endif
37
144
    tc->num_temproots--;
38
144
}
39
40
/* Pop top n roots from the per-thread temporary roots stack. */
41
25.4M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
25.4M
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
25.4M
    tc->num_temproots -= n;
47
25.4M
}
Unexecuted instantiation: callsite.c:MVM_gc_root_temp_pop_n
reprconv.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
31.8k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
31.8k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
31.8k
    tc->num_temproots -= n;
47
31.8k
}
Unexecuted instantiation: P6str.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: KnowHOWAttributeREPR.c:MVM_gc_root_temp_pop_n
KnowHOWREPR.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
5.35k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
5.35k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
5.35k
    tc->num_temproots -= n;
47
5.35k
}
Unexecuted instantiation: MVMCFunction.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMHash.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: VMArray.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMString.c:MVM_gc_root_temp_pop_n
parametric.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
10
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
10
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
10
    tc->num_temproots -= n;
47
10
}
Unexecuted instantiation: containers.c:MVM_gc_root_temp_pop_n
P6opaque.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
48.1k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
48.1k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
48.1k
    tc->num_temproots -= n;
47
48.1k
}
Unexecuted instantiation: reprs.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: asyncsocketudp.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: asyncsocket.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: signals.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: filewatchers.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: timers.c:MVM_gc_root_temp_pop_n
procops.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
18.3k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
18.3k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
18.3k
    tc->num_temproots -= n;
47
18.3k
}
Unexecuted instantiation: dirops.c:MVM_gc_root_temp_pop_n
fileops.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
1.44k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
1.44k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
1.44k
    tc->num_temproots -= n;
47
1.44k
}
MVMIter.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
147
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
147
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
147
    tc->num_temproots -= n;
47
147
}
Unexecuted instantiation: MVMContinuation.c:MVM_gc_root_temp_pop_n
MVMMultiCache.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
446
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
446
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
446
    tc->num_temproots -= n;
47
446
}
Unexecuted instantiation: MVMDLLSym.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMException.c:MVM_gc_root_temp_pop_n
NFA.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
5.20k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
5.20k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
5.20k
    tc->num_temproots -= n;
47
5.20k
}
Unexecuted instantiation: P6bigint.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMCallCapture.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: SCRef.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMContext.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: syncsocket.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMThread.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: HashAttrStore.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: Uninstantiable.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: P6num.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: P6int.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMStaticFrame.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMCompUnit.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMOSHandle.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMCode.c:MVM_gc_root_temp_pop_n
threads.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
25
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
25
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
25
    tc->num_temproots -= n;
47
25
}
nativecall_dyncall.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
3
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
3
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
3
    tc->num_temproots -= n;
47
3
}
Unexecuted instantiation: nativecall.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: ext.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: dll.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: coerce.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: num.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: loadbytecode.c:MVM_gc_root_temp_pop_n
hll.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
145
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
145
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
145
    tc->num_temproots -= n;
47
145
}
ops.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
1.46M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
1.46M
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
1.46M
    tc->num_temproots -= n;
47
1.46M
}
continuation.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
65
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
65
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
65
    tc->num_temproots -= n;
47
65
}
Unexecuted instantiation: bytecodedump.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: validation.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: callstack.c:MVM_gc_root_temp_pop_n
frame.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
7.95M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
7.95M
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
7.95M
    tc->num_temproots -= n;
47
7.95M
}
Unexecuted instantiation: bytecode.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: compunit.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: threadcontext.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: interp.c:MVM_gc_root_temp_pop_n
exceptions.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
2
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
2
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
2
    tc->num_temproots -= n;
47
2
}
Unexecuted instantiation: roots.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: syncfile.c:MVM_gc_root_temp_pop_n
eventloop.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
14
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
14
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
14
    tc->num_temproots -= n;
47
14
}
io.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
387
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
387
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
387
    tc->num_temproots -= n;
47
387
}
Unexecuted instantiation: debug.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: finalize.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: objectid.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: wb.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: gen2.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: collect.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: NativeCall.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: worklist.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: allocation.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: orchestrate.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: config.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: debugserver.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: regionalloc.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: fixedsizealloc.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: intcache.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: nfg.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: instrument.c:MVM_gc_root_temp_pop_n
bigintops.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
126
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
126
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
126
    tc->num_temproots -= n;
47
126
}
Unexecuted instantiation: shiftjis_codeindex.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: shiftjis.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: windows1252.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: utf16.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: latin1.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: normalize.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: unicode.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: profile.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: utf8_c8.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: utf8.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: parse_num.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: ascii.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: decode_stream.c:MVM_gc_root_temp_pop_n
plugin.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
31
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
31
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
31
    tc->num_temproots -= n;
47
31
}
Unexecuted instantiation: arg_guard.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: plan.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: stats.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: mmap.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: arch.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: emit.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: interface.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: linear_scan.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: tile.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: expr.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: compile.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: label.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: time.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: worker.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: moar.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: memmem32.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: random.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: sys.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: line_coverage.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: crossthreadwrite.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: telemeh.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: heapsnapshot.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMAsyncTask.c:MVM_gc_root_temp_pop_n
bootstrap.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
2.22k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
2.22k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
2.22k
    tc->num_temproots -= n;
47
2.22k
}
6model.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
12.4M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
12.4M
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
12.4M
    tc->num_temproots -= n;
47
12.4M
}
Unexecuted instantiation: MVMStaticFrameSpesh.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMSpeshLog.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: Decoder.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MultiDimArray.c:MVM_gc_root_temp_pop_n
NativeRef.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
19
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
19
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
19
    tc->num_temproots -= n;
47
19
}
Unexecuted instantiation: CPPStruct.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: MVMNull.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: sc.c:MVM_gc_root_temp_pop_n
ConcBlockingQueue.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
1.75k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
1.75k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
1.75k
    tc->num_temproots -= n;
47
1.75k
}
Unexecuted instantiation: Semaphore.c:MVM_gc_root_temp_pop_n
ConditionVariable.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
6
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
6
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
6
    tc->num_temproots -= n;
47
6
}
Unexecuted instantiation: ReentrantMutex.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: CUnion.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: CStruct.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: CArray.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: CStr.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: CPointer.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: facts.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: iterator.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: lookup.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: osr.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: inline.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: threshold.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: log.c:MVM_gc_root_temp_pop_n
deopt.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
1.05k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
1.05k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
1.05k
    tc->num_temproots -= n;
47
1.05k
}
Unexecuted instantiation: dead_bb_elimination.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: optimize.c:MVM_gc_root_temp_pop_n
args.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
3.38M
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
3.38M
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
3.38M
    tc->num_temproots -= n;
47
3.38M
}
Unexecuted instantiation: manipulate.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: candidate.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: codegen.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: graph.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: dump.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: driver.c:MVM_gc_root_temp_pop_n
Unexecuted instantiation: compiler.c:MVM_gc_root_temp_pop_n
serialization.c:MVM_gc_root_temp_pop_n
Line
Count
Source
41
9.03k
MVM_STATIC_INLINE void MVM_gc_root_temp_pop_n(MVMThreadContext *tc, MVMuint32 n) {
42
9.03k
#if MVM_TEMP_ROOT_DEBUG
43
    if (tc->num_temproots < n)
44
        MVM_panic(MVM_exitcode_gcroots, "Illegal attempt to pop insufficiently large temporary root stack");
45
#endif
46
9.03k
    tc->num_temproots -= n;
47
9.03k
}
48
49
/* Other functions related to roots. */
50
MVM_PUBLIC void MVM_gc_root_add_permanent(MVMThreadContext *tc, MVMCollectable **obj_ref);
51
MVM_PUBLIC void MVM_gc_root_add_permanent_desc(MVMThreadContext *tc, MVMCollectable **obj_ref, char *description);
52
void MVM_gc_root_add_permanents_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMHeapSnapshotState *snapshot);
53
void MVM_gc_root_add_instance_roots_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMHeapSnapshotState *snapshot);
54
void MVM_gc_root_add_tc_roots_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMHeapSnapshotState *snapshot);
55
MVMuint32 MVM_gc_root_temp_mark(MVMThreadContext *tc);
56
void MVM_gc_root_temp_mark_reset(MVMThreadContext *tc, MVMuint32 mark);
57
void MVM_gc_root_temp_pop_all(MVMThreadContext *tc);
58
void MVM_gc_root_add_temps_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMHeapSnapshotState *snapshot);
59
void MVM_gc_root_gen2_add(MVMThreadContext *tc, MVMCollectable *c);
60
void MVM_gc_root_add_gen2s_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist);
61
void MVM_gc_root_add_gen2s_to_snapshot(MVMThreadContext *tc, MVMHeapSnapshotState *snapshot);
62
void MVM_gc_root_gen2_cleanup(MVMThreadContext *tc);
63
void MVM_gc_root_add_frame_roots_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMFrame *start_frame);
64
void MVM_gc_root_add_frame_registers_to_worklist(MVMThreadContext *tc, MVMGCWorklist *worklist, MVMFrame *frame);
65
66
/* Macros related to rooting objects into the temporaries list, and
67
 * unrooting them afterwards. */
68
106M
#define MVMROOT(tc, obj_ref, block) do {\
69
106M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref)); \
70
44.2M
    block \
71
688k
    MVM_gc_root_temp_pop(tc); \
72
106M
 } while (0)
73
12.1M
#define MVMROOT2(tc, obj_ref1, obj_ref2, block) do {\
74
12.1M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref1)); \
75
12.1M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref2)); \
76
3.76M
    block \
77
5.20k
    MVM_gc_root_temp_pop_n(tc, 2); \
78
12.1M
 } while (0)
79
4.86M
#define MVMROOT3(tc, obj_ref1, obj_ref2, obj_ref3, block) do {\
80
4.86M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref1)); \
81
4.86M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref2)); \
82
4.86M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref3)); \
83
24.7M
    block \
84
4.86M
    MVM_gc_root_temp_pop_n(tc, 3); \
85
4.86M
 } while (0)
86
1.39M
#define MVMROOT4(tc, obj_ref1, obj_ref2, obj_ref3, obj_ref4, block) do {\
87
1.39M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref1)); \
88
1.39M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref2)); \
89
1.39M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref3)); \
90
1.39M
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref4)); \
91
9.14M
    block \
92
1.39M
    MVM_gc_root_temp_pop_n(tc, 4); \
93
1.39M
 } while (0)
94
0
#define MVMROOT5(tc, obj_ref1, obj_ref2, obj_ref3, obj_ref4, obj_ref5, block) do {\
95
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref1)); \
96
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref2)); \
97
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref3)); \
98
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref4)); \
99
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref5)); \
100
0
    block \
101
0
    MVM_gc_root_temp_pop_n(tc, 5); \
102
0
 } while (0)
103
0
#define MVMROOT6(tc, obj_ref1, obj_ref2, obj_ref3, obj_ref4, obj_ref5, obj_ref6, block) do {\
104
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref1)); \
105
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref2)); \
106
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref3)); \
107
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref4)); \
108
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref5)); \
109
0
    MVM_gc_root_temp_push(tc, (MVMCollectable **)&(obj_ref6)); \
110
0
    block \
111
0
    MVM_gc_root_temp_pop_n(tc, 6); \
112
0
 } while (0)