Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
annotate ProcrContext.h @ 78:521c75d64cef
Version before optimization
| author | Merten Sach <msach@mailbox.tu-berlin.de> |
|---|---|
| date | Mon, 04 Jul 2011 19:45:43 +0200 |
| parents | fe5ec83f1baf |
| children | dbfc8382d546 c11b9dcf6d24 d1dd9e6ee72c |
| rev | line source |
|---|---|
| Me@55 | 1 /* |
| Me@55 | 2 * Copyright 2009 OpenSourceStewardshipFoundation.org |
| Me@55 | 3 * Licensed under GNU General Public License version 2 |
| Me@55 | 4 * |
| Me@55 | 5 * Author: seanhalle@yahoo.com |
| Me@55 | 6 * |
| Me@55 | 7 */ |
| Me@55 | 8 |
| msach@77 | 9 #ifndef _ProcrContext_H |
| msach@77 | 10 #define _ProcrContext_H |
| msach@76 | 11 #define _GNU_SOURCE |
| Me@55 | 12 |
| msach@76 | 13 void saveCoreLoopReturnAddr(void **returnAddress); |
| msach@71 | 14 |
| msach@71 | 15 void switchToVP(VirtProcr *nextProcr); |
| msach@71 | 16 |
| msach@71 | 17 void switchToCoreLoop(VirtProcr *nextProcr); |
| msach@71 | 18 |
| msach@71 | 19 void masterSwitchToCoreLoop(VirtProcr *nextProcr); |
| msach@71 | 20 |
| msach@76 | 21 void startVirtProcrFn(); |
| msach@76 | 22 |
| msach@78 | 23 void *asmTerminateCoreLoop(VirtProcr *currPr); |
| msach@78 | 24 |
| msach@71 | 25 #define flushRegisters() \ |
| msach@76 | 26 asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15") |
| msach@71 | 27 |
| msach@77 | 28 inline VirtProcr * |
| msach@77 | 29 create_procr_helper( VirtProcr *newPr, VirtProcrFnPtr fnPtr, |
| msach@77 | 30 void *initialData, void *stackLocs ); |
| Me@55 | 31 |
| msach@77 | 32 #endif /* _ProcrContext_H */ |
| Me@62 | 33 |
