Changeset a9b657a for src/libcfa/concurrency/invoke.c
- Timestamp:
- Mar 10, 2017, 11:01:31 AM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- dc0557d
- Parents:
- c857ad3 (diff), 149d297 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/concurrency/invoke.c
rc857ad3 ra9b657a 91 91 struct FakeStack { 92 92 void *fixedRegisters[3]; // fixed registers ebx, edi, esi (popped on 1st uSwitch, values unimportant) 93 void *rturn; // where to go on return from uSwitch 93 uint32_t mxcr; // SSE Status and Control bits (control bits are preserved across function calls) 94 uint16_t fcw; // X97 FPU control word (preserved across function calls) 95 void *rturn; // where to go on return from uSwitch 94 96 void *dummyReturn; // fake return compiler would have pushed on call to uInvoke 95 97 void *argument[3]; // for 16-byte ABI, 16-byte alignment starts here … … 108 110 struct FakeStack { 109 111 void *fixedRegisters[5]; // fixed registers rbx, r12, r13, r14, r15 110 uint32_t mxcr; 111 uint16_t fcw; 112 void *rturn; 112 uint32_t mxcr; // SSE Status and Control bits (control bits are preserved across function calls) 113 uint16_t fcw; // X97 FPU control word (preserved across function calls) 114 void *rturn; // where to go on return from uSwitch 113 115 void *dummyReturn; // NULL return address to provide proper alignment 114 116 };
Note: See TracChangeset
for help on using the changeset viewer.