- Timestamp:
- May 13, 2019, 2:01:15 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 768b3b4f
- Parents:
- 1531ef5
- Location:
- libcfa/src/concurrency
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/CtxSwitch-i386.S
r1531ef5 rb78129a 67 67 // argument is now at 8 + 12 = 20(%esp) 68 68 69 movl 2 8(%esp),%eax69 movl 20(%esp),%eax 70 70 71 71 // Load new context from the "to" area. -
libcfa/src/concurrency/invoke.c
r1531ef5 rb78129a 123 123 124 124 struct FakeStack { 125 void *fixedRegisters[3]; 125 void *fixedRegisters[3]; // fixed registers ebx, edi, esi (popped on 1st uSwitch, values unimportant) 126 126 void *rturn; // where to go on return from uSwitch 127 void *dummyReturn; 128 void *argument[3]; 129 void *padding; 127 void *dummyReturn; // fake return compiler would have pushed on call to uInvoke 128 void *argument[3]; // for 16-byte ABI, 16-byte alignment starts here 129 void *padding; // padding to force 16-byte alignment, as "base" is 16-byte aligned 130 130 }; 131 131
Note: See TracChangeset
for help on using the changeset viewer.