Coverage Report

Created: 2018-07-03 15:31

/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
96.4M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
96.4M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
1.95M
        MVM_gc_write_barrier_hit(tc, update_root);
10
96.4M
}
Unexecuted instantiation: facts.c:MVM_gc_write_barrier
sc.c:MVM_gc_write_barrier
Line
Count
Source
7
955k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
955k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
3.36k
        MVM_gc_write_barrier_hit(tc, update_root);
10
955k
}
serialization.c:MVM_gc_write_barrier
Line
Count
Source
7
228k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
228k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
48.4k
        MVM_gc_write_barrier_hit(tc, update_root);
10
228k
}
Unexecuted instantiation: compiler.c:MVM_gc_write_barrier
Unexecuted instantiation: driver.c:MVM_gc_write_barrier
Unexecuted instantiation: dump.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
bootstrap.c:MVM_gc_write_barrier
Line
Count
Source
7
12.3k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
12.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
12.3k
}
Unexecuted instantiation: optimize.c:MVM_gc_write_barrier
Unexecuted instantiation: dead_bb_elimination.c:MVM_gc_write_barrier
deopt.c:MVM_gc_write_barrier
Line
Count
Source
7
24
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
24
    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
24
}
log.c:MVM_gc_write_barrier
Line
Count
Source
7
26.3M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
26.3M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
7.91k
        MVM_gc_write_barrier_hit(tc, update_root);
10
26.3M
}
Unexecuted instantiation: threshold.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: iterator.c:MVM_gc_write_barrier
ConcBlockingQueue.c:MVM_gc_write_barrier
Line
Count
Source
7
1.90k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1.90k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
1.53k
        MVM_gc_write_barrier_hit(tc, update_root);
10
1.90k
}
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: CStruct.c:MVM_gc_write_barrier
Unexecuted instantiation: CUnion.c:MVM_gc_write_barrier
ReentrantMutex.c:MVM_gc_write_barrier
Line
Count
Source
7
145
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
145
    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
145
}
ConditionVariable.c:MVM_gc_write_barrier
Line
Count
Source
7
4
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
4
    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
}
Semaphore.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: worker.c:MVM_gc_write_barrier
MVMAsyncTask.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
MVMNull.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
Unexecuted instantiation: CPPStruct.c:MVM_gc_write_barrier
NativeRef.c:MVM_gc_write_barrier
Line
Count
Source
7
84
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
84
    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
84
}
MultiDimArray.c:MVM_gc_write_barrier
Line
Count
Source
7
67
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
67
    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
67
}
Decoder.c:MVM_gc_write_barrier
Line
Count
Source
7
663
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
663
    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
663
}
MVMSpeshLog.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
MVMStaticFrameSpesh.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
6model.c:MVM_gc_write_barrier
Line
Count
Source
7
9.13k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
9.13k
    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
9.13k
}
Unexecuted instantiation: mmap.c:MVM_gc_write_barrier
Unexecuted instantiation: profile.c:MVM_gc_write_barrier
Unexecuted instantiation: heapsnapshot.c:MVM_gc_write_barrier
Unexecuted instantiation: telemeh.c:MVM_gc_write_barrier
Unexecuted instantiation: crossthreadwrite.c:MVM_gc_write_barrier
Unexecuted instantiation: line_coverage.c:MVM_gc_write_barrier
Unexecuted instantiation: sys.c:MVM_gc_write_barrier
Unexecuted instantiation: random.c:MVM_gc_write_barrier
Unexecuted instantiation: memmem32.c:MVM_gc_write_barrier
Unexecuted instantiation: moar.c:MVM_gc_write_barrier
Unexecuted instantiation: instrument.c:MVM_gc_write_barrier
Unexecuted instantiation: time.c:MVM_gc_write_barrier
Unexecuted instantiation: label.c:MVM_gc_write_barrier
Unexecuted instantiation: compile.c:MVM_gc_write_barrier
Unexecuted instantiation: expr.c:MVM_gc_write_barrier
Unexecuted instantiation: tile.c:MVM_gc_write_barrier
Unexecuted instantiation: linear_scan.c:MVM_gc_write_barrier
Unexecuted instantiation: interface.c:MVM_gc_write_barrier
Unexecuted instantiation: emit.c:MVM_gc_write_barrier
Unexecuted instantiation: arch.c:MVM_gc_write_barrier
Unexecuted instantiation: nfg.c:MVM_gc_write_barrier
stats.c:MVM_gc_write_barrier
Line
Count
Source
7
5.96M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
5.96M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
74.0k
        MVM_gc_write_barrier_hit(tc, update_root);
10
5.96M
}
Unexecuted instantiation: plan.c:MVM_gc_write_barrier
Unexecuted instantiation: arg_guard.c:MVM_gc_write_barrier
plugin.c:MVM_gc_write_barrier
Line
Count
Source
7
72
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
72
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
26
        MVM_gc_write_barrier_hit(tc, update_root);
10
72
}
Unexecuted instantiation: decode_stream.c:MVM_gc_write_barrier
Unexecuted instantiation: ascii.c:MVM_gc_write_barrier
Unexecuted instantiation: parse_num.c:MVM_gc_write_barrier
Unexecuted instantiation: utf8.c:MVM_gc_write_barrier
Unexecuted instantiation: utf8_c8.c:MVM_gc_write_barrier
MVMContinuation.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
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: shiftjis.c:MVM_gc_write_barrier
Unexecuted instantiation: shiftjis_codeindex.c:MVM_gc_write_barrier
Unexecuted instantiation: bigintops.c:MVM_gc_write_barrier
Unexecuted instantiation: roots.c:MVM_gc_write_barrier
continuation.c:MVM_gc_write_barrier
Line
Count
Source
7
65
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
65
    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
65
}
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: debugserver.c:MVM_gc_write_barrier
Unexecuted instantiation: config.c:MVM_gc_write_barrier
Unexecuted instantiation: orchestrate.c:MVM_gc_write_barrier
allocation.c:MVM_gc_write_barrier
Line
Count
Source
7
29.5M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
29.5M
    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
29.5M
}
Unexecuted instantiation: worklist.c:MVM_gc_write_barrier
Unexecuted instantiation: nativecall_dyncall.c:MVM_gc_write_barrier
collect.c:MVM_gc_write_barrier
Line
Count
Source
7
1.51M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1.51M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
1.51M
        MVM_gc_write_barrier_hit(tc, update_root);
10
1.51M
}
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: debug.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: bytecodedump.c:MVM_gc_write_barrier
Unexecuted instantiation: args.c:MVM_gc_write_barrier
exceptions.c:MVM_gc_write_barrier
Line
Count
Source
7
758
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
758
    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
758
}
interp.c:MVM_gc_write_barrier
Line
Count
Source
7
1.72M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1.72M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
27.3k
        MVM_gc_write_barrier_hit(tc, update_root);
10
1.72M
}
Unexecuted instantiation: threadcontext.c:MVM_gc_write_barrier
compunit.c:MVM_gc_write_barrier
Line
Count
Source
7
1.18M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
1.18M
    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.18M
}
bytecode.c:MVM_gc_write_barrier
Line
Count
Source
7
3.01M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
3.01M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
2.95k
        MVM_gc_write_barrier_hit(tc, update_root);
10
3.01M
}
frame.c:MVM_gc_write_barrier
Line
Count
Source
7
2.85M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.85M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
215k
        MVM_gc_write_barrier_hit(tc, update_root);
10
2.85M
}
Unexecuted instantiation: callstack.c:MVM_gc_write_barrier
Unexecuted instantiation: validation.c:MVM_gc_write_barrier
Unexecuted instantiation: syncsocket.c:MVM_gc_write_barrier
threads.c:MVM_gc_write_barrier
Line
Count
Source
7
346
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
346
    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
346
}
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
Unexecuted instantiation: dll.c:MVM_gc_write_barrier
Unexecuted instantiation: ext.c:MVM_gc_write_barrier
Unexecuted instantiation: nativecall.c:MVM_gc_write_barrier
MVMThread.c:MVM_gc_write_barrier
Line
Count
Source
7
288
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
288
    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
288
}
P6opaque.c:MVM_gc_write_barrier
Line
Count
Source
7
5.73M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
5.73M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
10.1k
        MVM_gc_write_barrier_hit(tc, update_root);
10
5.73M
}
MVMCode.c:MVM_gc_write_barrier
Line
Count
Source
7
57.8k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
57.8k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
585
        MVM_gc_write_barrier_hit(tc, update_root);
10
57.8k
}
MVMOSHandle.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
MVMCompUnit.c:MVM_gc_write_barrier
Line
Count
Source
7
2.94k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
2.94k
    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.94k
}
MVMStaticFrame.c:MVM_gc_write_barrier
Line
Count
Source
7
7.82k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
7.82k
    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.82k
}
P6int.c:MVM_gc_write_barrier
Line
Count
Source
7
151
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
151
    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
151
}
P6num.c:MVM_gc_write_barrier
Line
Count
Source
7
149
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
149
    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
149
}
Uninstantiable.c:MVM_gc_write_barrier
Line
Count
Source
7
319
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
319
    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
319
}
Unexecuted instantiation: HashAttrStore.c:MVM_gc_write_barrier
P6str.c:MVM_gc_write_barrier
Line
Count
Source
7
3.99M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
3.99M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
3.18k
        MVM_gc_write_barrier_hit(tc, update_root);
10
3.99M
}
MVMIter.c:MVM_gc_write_barrier
Line
Count
Source
7
666k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
666k
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
60
        MVM_gc_write_barrier_hit(tc, update_root);
10
666k
}
MVMContext.c:MVM_gc_write_barrier
Line
Count
Source
7
150
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
150
    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
150
}
SCRef.c:MVM_gc_write_barrier
Line
Count
Source
7
15.4k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
15.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
15.4k
}
MVMCallCapture.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
P6bigint.c:MVM_gc_write_barrier
Line
Count
Source
7
153
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
153
    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
153
}
NFA.c:MVM_gc_write_barrier
Line
Count
Source
7
34.1k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
34.1k
    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
34.1k
}
MVMException.c:MVM_gc_write_barrier
Line
Count
Source
7
145
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
145
    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
145
}
MVMDLLSym.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
MVMMultiCache.c:MVM_gc_write_barrier
Line
Count
Source
7
4.30k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
4.30k
    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.30k
}
Unexecuted instantiation: reprconv.c:MVM_gc_write_barrier
Unexecuted instantiation: fileops.c:MVM_gc_write_barrier
Unexecuted instantiation: dirops.c:MVM_gc_write_barrier
procops.c:MVM_gc_write_barrier
Line
Count
Source
7
28
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
28
    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
28
}
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: callsite.c:MVM_gc_write_barrier
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
}
parametric.c:MVM_gc_write_barrier
Line
Count
Source
7
27
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
27
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
3
        MVM_gc_write_barrier_hit(tc, update_root);
10
27
}
MVMString.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
VMArray.c:MVM_gc_write_barrier
Line
Count
Source
7
8.23M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
8.23M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
22.1k
        MVM_gc_write_barrier_hit(tc, update_root);
10
8.23M
}
MVMHash.c:MVM_gc_write_barrier
Line
Count
Source
7
4.21M
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
4.21M
    if (((update_root->flags & MVM_CF_SECOND_GEN) && referenced && !(referenced->flags & MVM_CF_SECOND_GEN)))
9
20.2k
        MVM_gc_write_barrier_hit(tc, update_root);
10
4.21M
}
MVMCFunction.c:MVM_gc_write_barrier
Line
Count
Source
7
144
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
144
    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
144
}
KnowHOWREPR.c:MVM_gc_write_barrier
Line
Count
Source
7
14.1k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
14.1k
    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.1k
}
KnowHOWAttributeREPR.c:MVM_gc_write_barrier
Line
Count
Source
7
9.04k
MVM_STATIC_INLINE void MVM_gc_write_barrier(MVMThreadContext *tc, MVMCollectable *update_root, const MVMCollectable *referenced) {
8
9.04k
    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
9.04k
}
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
61.7M
    { \
29
2.80k
        void *_r = referenced; \
30
61.7M
        MVM_gc_write_barrier(tc, update_root, (MVMCollectable *)_r); \
31
61.7M
        update_addr = _r; \
32
61.7M
    }
33
#endif