summaryrefslogtreecommitdiff
path: root/coroutine/win32/Context.h
diff options
context:
space:
mode:
Diffstat (limited to 'coroutine/win32/Context.h')
-rw-r--r--coroutine/win32/Context.h36
1 files changed, 18 insertions, 18 deletions
diff --git a/coroutine/win32/Context.h b/coroutine/win32/Context.h
index c4f041f501..aa9f17ddab 100644
--- a/coroutine/win32/Context.h
+++ b/coroutine/win32/Context.h
@@ -21,34 +21,34 @@ const size_t COROUTINE_REGISTERS = 4;
typedef struct
{
- void **stack_pointer;
+ void **stack_pointer;
} coroutine_context;
typedef void(__fastcall * coroutine_start)(coroutine_context *from, coroutine_context *self);
static inline void coroutine_initialize(
- coroutine_context *context,
- coroutine_start start,
- void *stack_pointer,
- size_t stack_size
+ coroutine_context *context,
+ coroutine_start start,
+ void *stack_pointer,
+ size_t stack_size
) {
- context->stack_pointer = (void**)stack_pointer;
+ context->stack_pointer = (void**)stack_pointer;
- if (!start) {
- assert(!context->stack_pointer);
- /* We are main coroutine for this thread */
- return;
- }
+ if (!start) {
+ assert(!context->stack_pointer);
+ /* We are main coroutine for this thread */
+ return;
+ }
- *--context->stack_pointer = (void*)start;
+ *--context->stack_pointer = (void*)start;
- /* Windows Thread Information Block */
- *--context->stack_pointer = 0; /* fs:[0] */
- *--context->stack_pointer = (void*)stack_pointer; /* fs:[4] */
- *--context->stack_pointer = (void*)((char *)stack_pointer - stack_size); /* fs:[8] */
+ /* Windows Thread Information Block */
+ *--context->stack_pointer = 0; /* fs:[0] */
+ *--context->stack_pointer = (void*)stack_pointer; /* fs:[4] */
+ *--context->stack_pointer = (void*)((char *)stack_pointer - stack_size); /* fs:[8] */
- context->stack_pointer -= COROUTINE_REGISTERS;
- memset(context->stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);
+ context->stack_pointer -= COROUTINE_REGISTERS;
+ memset(context->stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);
}
coroutine_context * __fastcall coroutine_transfer(coroutine_context * current, coroutine_context * target);