Coverage Report

Created: 2017-04-15 07:07

/home/travis/build/MoarVM/MoarVM/src/gc/wb.h
Line
Count
Source
1
/* Functions for if the write barriers are hit. */
2
MVM_PUBLIC void MVM_gc_write_barrier_hit(MVMThreadContext *tc, MVMCollectable *update_root);
3
4
/* Ensures that if a generation 2 object comes to hold a reference to a
5
 * nursery object, then the generation 2 object becomes an inter-generational
6
 * root. */
7
40.9M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
40.9M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
1.40M
        MVM_gc_write_barrier_hit(tc, update_root);
10
40.9M
}
NativeRef.c:MVM_gc_write_barrier
Line
Count
Source
7
54
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
54
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
54
}
Unexecuted instantiation: CUnion.c:MVM_gc_write_barrier
ReentrantMutex.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
Unexecuted instantiation: ConditionVariable.c:MVM_gc_write_barrier
Unexecuted instantiation: Semaphore.c:MVM_gc_write_barrier
ConcBlockingQueue.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
MVMAsyncTask.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
MVMNull.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
Unexecuted instantiation: CPPStruct.c:MVM_gc_write_barrier
Unexecuted instantiation: CStruct.c:MVM_gc_write_barrier
MultiDimArray.c:MVM_gc_write_barrier
Line
Count
Source
7
44
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
44
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
44
}
Decoder.c:MVM_gc_write_barrier
Line
Count
Source
7
1
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
1
}
6model.c:MVM_gc_write_barrier
Line
Count
Source
7
7.57k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
7.57k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
7.57k
}
bootstrap.c:MVM_gc_write_barrier
Line
Count
Source
7
11.3k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
11.3k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
11.3k
}
sc.c:MVM_gc_write_barrier
Line
Count
Source
7
860k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
860k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
2.83k
        MVM_gc_write_barrier_hit(tc, update_root);
10
860k
}
serialization.c:MVM_gc_write_barrier
Line
Count
Source
7
199k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
199k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
43.1k
        MVM_gc_write_barrier_hit(tc, update_root);
10
199k
}
Unexecuted instantiation: compiler.c:MVM_gc_write_barrier
Unexecuted instantiation: driver.c:MVM_gc_write_barrier
MVMException.c:MVM_gc_write_barrier
Line
Count
Source
7
131
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
131
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
131
}
MVMThread.c:MVM_gc_write_barrier
Line
Count
Source
7
260
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
260
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
260
}
MVMIter.c:MVM_gc_write_barrier
Line
Count
Source
7
546k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
546k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
65
        MVM_gc_write_barrier_hit(tc, update_root);
10
546k
}
MVMContext.c:MVM_gc_write_barrier
Line
Count
Source
7
134
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
134
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
134
}
SCRef.c:MVM_gc_write_barrier
Line
Count
Source
7
14.4k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
14.4k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
14.4k
}
Lexotic.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
MVMCallCapture.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
P6bigint.c:MVM_gc_write_barrier
Line
Count
Source
7
138
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
138
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
138
}
NFA.c:MVM_gc_write_barrier
Line
Count
Source
7
30.2k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
30.2k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
30.2k
}
Unexecuted instantiation: dump.c:MVM_gc_write_barrier
MVMDLLSym.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
MVMMultiCache.c:MVM_gc_write_barrier
Line
Count
Source
7
4.00k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
4.00k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
4.00k
}
MVMContinuation.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
NativeCall.c:MVM_gc_write_barrier
Line
Count
Source
7
1
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
1
}
CPointer.c:MVM_gc_write_barrier
Line
Count
Source
7
1
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
1
}
Unexecuted instantiation: CStr.c:MVM_gc_write_barrier
Unexecuted instantiation: CArray.c:MVM_gc_write_barrier
Unexecuted instantiation: profile.c:MVM_gc_write_barrier
Unexecuted instantiation: nfg.c:MVM_gc_write_barrier
Unexecuted instantiation: unicode.c:MVM_gc_write_barrier
Unexecuted instantiation: normalize.c:MVM_gc_write_barrier
Unexecuted instantiation: latin1.c:MVM_gc_write_barrier
Unexecuted instantiation: utf16.c:MVM_gc_write_barrier
Unexecuted instantiation: windows1252.c:MVM_gc_write_barrier
Unexecuted instantiation: bigintops.c:MVM_gc_write_barrier
Unexecuted instantiation: instrument.c:MVM_gc_write_barrier
Unexecuted instantiation: utf8_c8.c:MVM_gc_write_barrier
Unexecuted instantiation: heapsnapshot.c:MVM_gc_write_barrier
Unexecuted instantiation: crossthreadwrite.c:MVM_gc_write_barrier
Unexecuted instantiation: line_coverage.c:MVM_gc_write_barrier
Unexecuted instantiation: moar.c:MVM_gc_write_barrier
Unexecuted instantiation: mmap.c:MVM_gc_write_barrier
Unexecuted instantiation: time.c:MVM_gc_write_barrier
Unexecuted instantiation: sys.c:MVM_gc_write_barrier
Unexecuted instantiation: emit_posix_x64.c:MVM_gc_write_barrier
Unexecuted instantiation: threshold.c:MVM_gc_write_barrier
Unexecuted instantiation: graph.c:MVM_gc_write_barrier
Unexecuted instantiation: codegen.c:MVM_gc_write_barrier
Unexecuted instantiation: candidate.c:MVM_gc_write_barrier
Unexecuted instantiation: manipulate.c:MVM_gc_write_barrier
Unexecuted instantiation: facts.c:MVM_gc_write_barrier
Unexecuted instantiation: optimize.c:MVM_gc_write_barrier
deopt.c:MVM_gc_write_barrier
Line
Count
Source
7
3.32k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
3.32k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
3.32k
}
Unexecuted instantiation: log.c:MVM_gc_write_barrier
Unexecuted instantiation: HashAttrStore.c:MVM_gc_write_barrier
Unexecuted instantiation: inline.c:MVM_gc_write_barrier
Unexecuted instantiation: osr.c:MVM_gc_write_barrier
Unexecuted instantiation: lookup.c:MVM_gc_write_barrier
Unexecuted instantiation: compile.c:MVM_gc_write_barrier
Unexecuted instantiation: decode_stream.c:MVM_gc_write_barrier
Unexecuted instantiation: ascii.c:MVM_gc_write_barrier
Unexecuted instantiation: utf8.c:MVM_gc_write_barrier
Unexecuted instantiation: orchestrate.c:MVM_gc_write_barrier
Unexecuted instantiation: ext.c:MVM_gc_write_barrier
Unexecuted instantiation: nativecall.c:MVM_gc_write_barrier
Unexecuted instantiation: nativecall_dyncall.c:MVM_gc_write_barrier
continuation.c:MVM_gc_write_barrier
Line
Count
Source
7
56
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
56
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
56
}
Unexecuted instantiation: intcache.c:MVM_gc_write_barrier
Unexecuted instantiation: fixedsizealloc.c:MVM_gc_write_barrier
Unexecuted instantiation: regionalloc.c:MVM_gc_write_barrier
Unexecuted instantiation: config.c:MVM_gc_write_barrier
Unexecuted instantiation: dll.c:MVM_gc_write_barrier
allocation.c:MVM_gc_write_barrier
Line
Count
Source
7
11.3M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
11.3M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
1
        MVM_gc_write_barrier_hit(tc, update_root);
10
11.3M
}
Unexecuted instantiation: worklist.c:MVM_gc_write_barrier
Unexecuted instantiation: roots.c:MVM_gc_write_barrier
collect.c:MVM_gc_write_barrier
Line
Count
Source
7
929k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
929k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
929k
        MVM_gc_write_barrier_hit(tc, update_root);
10
929k
}
Unexecuted instantiation: gen2.c:MVM_gc_write_barrier
Unexecuted instantiation: wb.c:MVM_gc_write_barrier
Unexecuted instantiation: objectid.c:MVM_gc_write_barrier
Unexecuted instantiation: finalize.c:MVM_gc_write_barrier
Unexecuted instantiation: validation.c:MVM_gc_write_barrier
Unexecuted instantiation: args.c:MVM_gc_write_barrier
exceptions.c:MVM_gc_write_barrier
Line
Count
Source
7
448
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
448
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
448
}
interp.c:MVM_gc_write_barrier
Line
Count
Source
7
3.75M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
3.75M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
190k
        MVM_gc_write_barrier_hit(tc, update_root);
10
3.75M
}
Unexecuted instantiation: threadcontext.c:MVM_gc_write_barrier
compunit.c:MVM_gc_write_barrier
Line
Count
Source
7
1.02M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1.02M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
1.02M
}
bytecode.c:MVM_gc_write_barrier
Line
Count
Source
7
2.63M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.63M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
2.75k
        MVM_gc_write_barrier_hit(tc, update_root);
10
2.63M
}
frame.c:MVM_gc_write_barrier
Line
Count
Source
7
2.69M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.69M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
191k
        MVM_gc_write_barrier_hit(tc, update_root);
10
2.69M
}
Unexecuted instantiation: callstack.c:MVM_gc_write_barrier
Unexecuted instantiation: debug.c:MVM_gc_write_barrier
Unexecuted instantiation: bytecodedump.c:MVM_gc_write_barrier
Unexecuted instantiation: threads.c:MVM_gc_write_barrier
Unexecuted instantiation: ops.c:MVM_gc_write_barrier
Unexecuted instantiation: hll.c:MVM_gc_write_barrier
Unexecuted instantiation: loadbytecode.c:MVM_gc_write_barrier
Unexecuted instantiation: num.c:MVM_gc_write_barrier
Unexecuted instantiation: coerce.c:MVM_gc_write_barrier
P6opaque.c:MVM_gc_write_barrier
Line
Count
Source
7
4.50M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
4.50M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
10.0k
        MVM_gc_write_barrier_hit(tc, update_root);
10
4.50M
}
parametric.c:MVM_gc_write_barrier
Line
Count
Source
7
16
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
16
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
16
}
MVMString.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
VMArray.c:MVM_gc_write_barrier
Line
Count
Source
7
6.12M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
6.12M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
18.4k
        MVM_gc_write_barrier_hit(tc, update_root);
10
6.12M
}
MVMHash.c:MVM_gc_write_barrier
Line
Count
Source
7
3.57M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
3.57M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
16.4k
        MVM_gc_write_barrier_hit(tc, update_root);
10
3.57M
}
MVMCFunction.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
KnowHOWREPR.c:MVM_gc_write_barrier
Line
Count
Source
7
13.0k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
13.0k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
13.0k
}
KnowHOWAttributeREPR.c:MVM_gc_write_barrier
Line
Count
Source
7
8.40k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
8.40k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
8.40k
}
P6str.c:MVM_gc_write_barrier
Line
Count
Source
7
2.61M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.61M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
588
        MVM_gc_write_barrier_hit(tc, update_root);
10
2.61M
}
containers.c:MVM_gc_write_barrier
Line
Count
Source
7
6
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
6
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
6
}
MVMCode.c:MVM_gc_write_barrier
Line
Count
Source
7
48.3k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
48.3k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
269
        MVM_gc_write_barrier_hit(tc, update_root);
10
48.3k
}
MVMOSHandle.c:MVM_gc_write_barrier
Line
Count
Source
7
130
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
130
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
130
}
MVMCompUnit.c:MVM_gc_write_barrier
Line
Count
Source
7
2.74k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.74k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
2.74k
}
MVMStaticFrame.c:MVM_gc_write_barrier
Line
Count
Source
7
7.65k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
7.65k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
7.65k
}
P6int.c:MVM_gc_write_barrier
Line
Count
Source
7
135
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
135
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
135
}
P6num.c:MVM_gc_write_barrier
Line
Count
Source
7
134
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
134
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
134
}
Uninstantiable.c:MVM_gc_write_barrier
Line
Count
Source
7
281
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
281
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
0
        MVM_gc_write_barrier_hit(tc, update_root);
10
281
}
Unexecuted instantiation: procops.c:MVM_gc_write_barrier
Unexecuted instantiation: io.c:MVM_gc_write_barrier
Unexecuted instantiation: eventloop.c:MVM_gc_write_barrier
Unexecuted instantiation: syncfile.c:MVM_gc_write_barrier
Unexecuted instantiation: syncstream.c:MVM_gc_write_barrier
Unexecuted instantiation: syncpipe.c:MVM_gc_write_barrier
Unexecuted instantiation: syncsocket.c:MVM_gc_write_barrier
Unexecuted instantiation: fileops.c:MVM_gc_write_barrier
Unexecuted instantiation: dirops.c:MVM_gc_write_barrier
Unexecuted instantiation: callsite.c:MVM_gc_write_barrier
Unexecuted instantiation: timers.c:MVM_gc_write_barrier
Unexecuted instantiation: filewatchers.c:MVM_gc_write_barrier
Unexecuted instantiation: signals.c:MVM_gc_write_barrier
Unexecuted instantiation: asyncsocket.c:MVM_gc_write_barrier
Unexecuted instantiation: asyncsocketudp.c:MVM_gc_write_barrier
Unexecuted instantiation: reprs.c:MVM_gc_write_barrier
Unexecuted instantiation: reprconv.c:MVM_gc_write_barrier
11
12
/* Does an assignment, but makes sure the write barrier MVM_WB is applied
13
 * first. Takes the root object, the address within it we're writing to, and
14
 * the thing we're writing. Note that update_addr is not involved in the
15
 * write barrier. */
16
#if MVM_GC_DEBUG
17
#define MVM_ASSIGN_REF(tc, update_root, update_addr, referenced) \
18
    { \
19
        void *_r = referenced; \
20
        if (_r && ((MVMCollectable *)_r)->owner == 0) \
21
            MVM_panic(1, "Invalid assignment (maybe of heap frame to stack frame?)"); \
22
        MVM_ASSERT_NOT_FROMSPACE(tc, _r); \
23
        MVM_gc_write_barrier(tc, update_root, (MVMCollectable *)_r); \
24
        update_addr = _r; \
25
    }
26
#else
27
#define MVM_ASSIGN_REF(tc, update_root, update_addr, referenced) \
28
25.6M
    { \
29
2.61k
        void *_r = referenced; \
30
25.6M
        MVM_gc_write_barrier(tc, update_root, (MVMCollectable *)_r); \
31
25.6M
        update_addr = _r; \
32
25.6M
    }
33
#endif