comparison MasterLoop.c @ 66:bf08108405cc

Added recycle pool -- will merge later -- need to get PLDI results for now
author Me
date Mon, 15 Nov 2010 12:11:24 -0800
parents 3bac84e4e56e
children a6c442d52590 9c3107044f86
comparison
equal deleted inserted replaced
16:1c7bfb48cc44 18:02ee9d62f45e
168 168
169 #ifdef MEAS__TIME_MASTER 169 #ifdef MEAS__TIME_MASTER
170 saveLowTimeStampCountInto( masterPr->endMasterTSCLow ); 170 saveLowTimeStampCountInto( masterPr->endMasterTSCLow );
171 #endif 171 #endif
172 172
173 173
174 masterSwitchToCoreLoop( masterPr ) 174
175 /* VirtProcr offsets:
176 * 0xc stackPtr
177 * 0x10 framePtr
178 * 0x14 nextInstrPt
179 * 0x1c coreLoopFramePtr
180 * 0x20 coreLoopStackPtr
181 *
182 * _VMSMasterEnv offsets:
183 * 0x24 coreLoopStartPt
184 * 0x28 coreLoopEndPt
185 * 0x30 masterLock
186 */
187 // masterSwitchToCoreLoop( masterPr )
188 asm volatile("movl %0, %%ebx; \
189 movl %1, %%ecx; \
190 movl %%esp, 0x0c(%%ecx); \
191 movl %%ebp, 0x10(%%ecx); \
192 movl 0x24(%%ebx), %%eax; \
193 movl 0x20(%%ecx), %%esp; \
194 movl 0x1c(%%ecx), %%ebp; \
195 movl $0x0, 0x30(%%ebx); \
196 jmp %%eax" \
197 /* outputs */ : \
198 /* inputs */ : "g"(_VMSMasterEnv), "g"(masterPr) \
199 /* clobber */ : "memory", "%eax", "%ebx", "%ecx", "%edx", "%edi", "%esi" \
200 );
201
175 } 202 }
176 203
177 204
178 205
179 /*This has a race condition -- the coreloops are accessing their own queues 206 /*This has a race condition -- the coreloops are accessing their own queues