Revision: 3406 Author: eliot Date: 2015-07-16 13:00:51 -0700 (Thu, 16 Jul 2015) Log Message: ----------- Provide optional logging along the input event processing chain.
Modified Paths: -------------- branches/Cog/platforms/Cross/vm/sq.h branches/Cog/platforms/Cross/vm/sqExternalSemaphores.c branches/Cog/platforms/unix/vm/sqUnixEvent.c branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c
Property Changed: ---------------- branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
Modified: branches/Cog/platforms/Cross/vm/sq.h =================================================================== --- branches/Cog/platforms/Cross/vm/sq.h 2015-07-16 18:54:51 UTC (rev 3405) +++ branches/Cog/platforms/Cross/vm/sq.h 2015-07-16 20:00:51 UTC (rev 3406) @@ -513,6 +513,14 @@ /* Retrieve the next input event from the OS. */ sqInt ioGetNextEvent(sqInputEvent *evt);
+/* Log the event procesing chain. */ +#if defined(DEBUG_EVENT_CHAIN) +# define LogEventChain(parms) fprintf parms +# define dbgEvtChF stderr +#else +# define LogEventChain(parms) 0 +#endif + /* Image file and VM path names. */ extern char imageName[]; char *getImageName(void);
Modified: branches/Cog/platforms/Cross/vm/sqExternalSemaphores.c =================================================================== --- branches/Cog/platforms/Cross/vm/sqExternalSemaphores.c 2015-07-16 18:54:51 UTC (rev 3405) +++ branches/Cog/platforms/Cross/vm/sqExternalSemaphores.c 2015-07-16 20:00:51 UTC (rev 3406) @@ -136,6 +136,7 @@ /* An index of zero should be and is silently ignored. */ assert(index >= 0 && index <= numSignalRequests);
+ LogEventChain((dbgEvtChF,"sSWI(%d)%c.",index,(unsigned)i >= numSignalRequests?'-':'+')); if ((unsigned)i >= numSignalRequests) return 0;
@@ -193,6 +194,7 @@ checkSignalRequests = 0; sqLowLevelMFence();
+ LogEventChain((dbgEvtChF,"dSES(%d).",externalSemaphoreTableSize)); if (useTideA) { useTideA = 0; sqLowLevelMFence(); @@ -203,6 +205,7 @@ while (signalRequests[i].responses != signalRequests[i].requests) { if (doSignalSemaphoreWithIndex(i+1)) switched = 1; + LogEventChain((dbgEvtChF,"dSSI(%d):%c.",i+1,switched?'!':'_')); ++signalRequests[i].responses; } lowTideA = (unsigned long)-1 >> 1, highTideA = -1; @@ -217,6 +220,7 @@ while (signalRequests[i].responses != signalRequests[i].requests) { if (doSignalSemaphoreWithIndex(i+1)) switched = 1; + LogEventChain((dbgEvtChF,"dSSI(%d):%c.",i+1,switched?'!':'_')); ++signalRequests[i].responses; } lowTideB = (unsigned long)-1 >> 1, highTideB = -1;
Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h ___________________________________________________________________ Modified: checkindate - Thu Jul 16 08:25:14 PDT 2015 + Thu Jul 16 13:00:11 PDT 2015
Modified: branches/Cog/platforms/unix/vm/sqUnixEvent.c =================================================================== --- branches/Cog/platforms/unix/vm/sqUnixEvent.c 2015-07-16 18:54:51 UTC (rev 3405) +++ branches/Cog/platforms/unix/vm/sqUnixEvent.c 2015-07-16 20:00:51 UTC (rev 3406) @@ -266,6 +266,7 @@ { if (iebEmptyP()) ioProcessEvents(); + LogEventChain((dbgEvtChF,"ioGNE%s",iebEmptyP()?"_":"!\n")); if (iebEmptyP()) return false; *evt= inputEventBuffer[iebOut];
Modified: branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c =================================================================== --- branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c 2015-07-16 18:54:51 UTC (rev 3405) +++ branches/Cog/platforms/unix/vm-display-X11/sqUnixX11.c 2015-07-16 20:00:51 UTC (rev 3406) @@ -4834,6 +4834,7 @@
static sqInt display_ioProcessEvents(void) { + LogEventChain((dbgEvtChF,"ioPE.")); handleEvents(); aioPoll(0); return 0;
vm-dev@lists.squeakfoundation.org