summaryrefslogtreecommitdiff
path: root/coroutine/win64/Context.h
diff options
context:
space:
mode:
authorsamuel <samuel@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-20 20:09:38 +0000
committersamuel <samuel@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-11-20 20:09:38 +0000
commit26adef94fab56f622cec615ba4cc58ba40a587b7 (patch)
tree6de4bc4be4e682eaae424578b915ce3b72e0b601 /coroutine/win64/Context.h
parent9423a752e8dcb3fbd0f366397452040e77b331cb (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/Context.h')
-rw-r--r--coroutine/win64/Context.h60
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);