Coverage Report

Created: 2017-07-12 18:46

/home/travis/build/MoarVM/MoarVM/src/6model/reprs/MVMCallCapture.h
Line
Count
Source
1
/* Is this a capture that refers to the args area of an existing frame, or
2
 * a saved copy of a frame's args area? */
3
2.99k
#define MVM_CALL_CAPTURE_MODE_SAVE  2
4
5
/* Representation for a context in the VM. Holds an MVMFrame. */
6
struct MVMCallCaptureBody {
7
    /* Argument processing context. For use mode, it points to the context of
8
     * the frame in question. For save mode, we allocate a fresh one. */
9
    MVMArgProcContext *apc;
10
11
    /* The effective MVMCallsite. This may be the original one, but in the
12
     * event of flattening will describe the flattened outcome. */
13
    MVMCallsite *effective_callsite;
14
15
    /* Use or save mode? */
16
    MVMuint8 mode;
17
18
    MVMuint8 owns_callsite;
19
};
20
struct MVMCallCapture {
21
    MVMObject common;
22
    MVMCallCaptureBody body;
23
};
24
25
/* Function for REPR setup. */
26
const MVMREPROps * MVMCallCapture_initialize(MVMThreadContext *tc);
27
28
MVMint64 MVM_capture_pos_primspec(MVMThreadContext *tc, MVMObject *capture, MVMint64 index);