- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/invoke.c
r8761006c r0c92c9f 109 109 struct FakeStack { 110 110 void *fixedRegisters[5]; // fixed registers rbx, r12, r13, r14, r15 111 uint32_t mxcr; // SSE Status and Control bits (control bits are preserved across function calls) 112 uint16_t fcw; // X97 FPU control word (preserved across function calls) 113 void *rturn; // where to go on return from uSwitch 111 void *rturn; // where to go on return from uSwitch 114 112 void *dummyReturn; // NULL return address to provide proper alignment 115 113 }; … … 122 120 ((struct FakeStack *)(((struct machine_context_t *)stack->context)->SP))->fixedRegisters[0] = this; 123 121 ((struct FakeStack *)(((struct machine_context_t *)stack->context)->SP))->fixedRegisters[1] = invoke; 124 ((struct FakeStack *)(((struct machine_context_t *)stack->context)->SP))->mxcr = 0x1F80; //Vol. 2A 3-520125 ((struct FakeStack *)(((struct machine_context_t *)stack->context)->SP))->fcw = 0x037F; //Vol. 1 8-7126 122 #else 127 123 #error Only __i386__ and __x86_64__ is supported for threads in cfa
Note: See TracChangeset
for help on using the changeset viewer.