diff options
author | samuel <samuel@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-20 20:09:38 +0000 |
---|---|---|
committer | samuel <samuel@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-20 20:09:38 +0000 |
commit | 26adef94fab56f622cec615ba4cc58ba40a587b7 (patch) | |
tree | 6de4bc4be4e682eaae424578b915ce3b72e0b601 /coroutine/win64 | |
parent | 9423a752e8dcb3fbd0f366397452040e77b331cb (diff) |
Fix indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'coroutine/win64')
-rw-r--r-- | coroutine/win64/Context.h | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/coroutine/win64/Context.h b/coroutine/win64/Context.h index a72ce530f8..16a8f583ab 100644 --- a/coroutine/win64/Context.h +++ b/coroutine/win64/Context.h @@ -21,7 +21,7 @@ const size_t COROUTINE_XMM_REGISTERS = 1+10*2; typedef struct { - void **stack_pointer; + void **stack_pointer; } coroutine_context; typedef void(* coroutine_start)(coroutine_context *from, coroutine_context *self); @@ -29,36 +29,36 @@ typedef void(* coroutine_start)(coroutine_context *from, coroutine_context *self void coroutine_trampoline(); 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 ) { - /* Force 16-byte alignment */ - context->stack_pointer = (void**)((uintptr_t)stack_pointer & ~0xF); - - if (!start) { - assert(!context->stack_pointer); - /* We are main coroutine for this thread */ - return; - } - - /* Win64 ABI requires space for arguments */ - context->stack_pointer -= 4; - - /* Return address */ - *--context->stack_pointer = 0; - *--context->stack_pointer = (void*)start; - *--context->stack_pointer = (void*)coroutine_trampoline; - - /* Windows Thread Information Block */ - /* *--context->stack_pointer = 0; */ /* gs:[0x00] is not used */ - *--context->stack_pointer = (void*)stack_pointer; /* gs:[0x08] */ - *--context->stack_pointer = (void*)((char *)stack_pointer - stack_size); /* gs:[0x10] */ - - context->stack_pointer -= COROUTINE_REGISTERS; - memset(context->stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS); - memset(context->stack_pointer - COROUTINE_XMM_REGISTERS, 0, sizeof(void*) * COROUTINE_XMM_REGISTERS); + /* Force 16-byte alignment */ + context->stack_pointer = (void**)((uintptr_t)stack_pointer & ~0xF); + + if (!start) { + assert(!context->stack_pointer); + /* We are main coroutine for this thread */ + return; + } + + /* Win64 ABI requires space for arguments */ + context->stack_pointer -= 4; + + /* Return address */ + *--context->stack_pointer = 0; + *--context->stack_pointer = (void*)start; + *--context->stack_pointer = (void*)coroutine_trampoline; + + /* Windows Thread Information Block */ + /* *--context->stack_pointer = 0; */ /* gs:[0x00] is not used */ + *--context->stack_pointer = (void*)stack_pointer; /* gs:[0x08] */ + *--context->stack_pointer = (void*)((char *)stack_pointer - stack_size); /* gs:[0x10] */ + + context->stack_pointer -= COROUTINE_REGISTERS; + memset(context->stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS); + memset(context->stack_pointer - COROUTINE_XMM_REGISTERS, 0, sizeof(void*) * COROUTINE_XMM_REGISTERS); } coroutine_context * coroutine_transfer(coroutine_context * current, coroutine_context * target); |