… | |
… | |
69 | static struct CoroAPI coroapi; |
69 | static struct CoroAPI coroapi; |
70 | static AV *main_mainstack; /* used to differentiate between $main and others */ |
70 | static AV *main_mainstack; /* used to differentiate between $main and others */ |
71 | static HV *coro_state_stash; |
71 | static HV *coro_state_stash; |
72 | static SV *ucoro_state_sv; |
72 | static SV *ucoro_state_sv; |
73 | static U32 ucoro_state_hash; |
73 | static U32 ucoro_state_hash; |
74 | static __thread SV *coro_mortal; /* will be freed after next transfer */ |
74 | static SV *coro_mortal; /* will be freed after next transfer */ |
75 | |
75 | |
76 | /* this is actually not only the c stack but also c registers etc... */ |
76 | /* this is actually not only the c stack but also c registers etc... */ |
77 | typedef struct { |
77 | typedef struct { |
78 | int refcnt; /* pointer reference counter */ |
78 | int refcnt; /* pointer reference counter */ |
79 | int usecnt; /* shared by how many coroutines */ |
79 | int usecnt; /* shared by how many coroutines */ |