Skip to content

Commit 22467fe

Browse files
committed
Sketch out C struct mappings for NQPRoutine and NQPSignature.
1 parent 37c6c88 commit 22467fe

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/guts/multi_dispatch.h

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,19 @@
1-
PMC *nqp_multi_dispatch(PARROT_INTERP, PMC *dispatcher, PMC *capture);
1+
/* This is how an NQPRoutine looks on the inside. */
2+
typedef struct {
3+
PMC *st; /* S-table, though we don't care about that here. */
4+
PMC *sc; /* Serialization context, though we don't care about that here. */
5+
PMC *_do; /* Lower-level code object. */
6+
PMC *signature; /* Signature object. */
7+
PMC *dispatchees; /* List of dispatchees, if any. */
8+
PMC *dispatcher_cache; /* Holder for any dispatcher cache. */
9+
} NQP_Routine;
10+
11+
/* This is how an NQPSignature looks on the inside. */
12+
typedef struct {
13+
PMC *st; /* S-table, though we don't care about that here. */
14+
PMC *sc; /* Serialization context, though we don't care about that here. */
15+
PMC *types; /* Set of types for arguments. */
16+
PMC *defindnesses; /* Set of definedness flags for arguments. */
17+
} NQP_Signature;
18+
19+
PMC *nqp_multi_dispatch(PARROT_INTERP, PMC *dispatcher, PMC *capture);

0 commit comments

Comments
 (0)