| 194 | } |
| 195 | |
| 196 | inline void return_stack(ContextualStack* s) { |
| 197 | if (NULL == s) { |
| 198 | return; |
| 199 | } |
| 200 | switch (s->stacktype) { |
| 201 | case STACK_TYPE_PTHREAD: |
| 202 | assert(false); |
| 203 | return; |
| 204 | case STACK_TYPE_SMALL: |
| 205 | return StackFactory<SmallStackClass>::return_stack(s); |
| 206 | case STACK_TYPE_NORMAL: |
| 207 | return StackFactory<NormalStackClass>::return_stack(s); |
| 208 | case STACK_TYPE_LARGE: |
| 209 | return StackFactory<LargeStackClass>::return_stack(s); |
| 210 | case STACK_TYPE_MAIN: |
| 211 | return StackFactory<MainStackClass>::return_stack(s); |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | inline void jump_stack(ContextualStack* from, ContextualStack* to) { |
| 216 | bthread_jump_fcontext(&from->context, to->context, 0/*not skip remained*/); |
no outgoing calls
no test coverage detected