aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code
diff options
context:
space:
mode:
authorRichard Brooksby2012-08-22 09:03:25 +0100
committerRichard Brooksby2012-08-22 09:03:25 +0100
commitd3a49735dc93c9e4b1dda3bb36df39554461e162 (patch)
treef343666481261128a028550672784082de3948b1 /mps/code
parent30283c6f11af8a8aea4dfb0f3b9617adfbd22771 (diff)
downloademacs-d3a49735dc93c9e4b1dda3bb36df39554461e162.tar.gz
emacs-d3a49735dc93c9e4b1dda3bb36df39554461e162.zip
Switching eventtypes (large hex constants) to codes (16-bit ids).
Copied from Perforce Change: 179018 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
-rw-r--r--mps/code/event.h2
-rw-r--r--mps/code/eventcnv.c8
-rw-r--r--mps/code/eventcom.h108
-rw-r--r--mps/code/eventdef.h2
-rw-r--r--mps/code/eventpro.h1
5 files changed, 9 insertions, 112 deletions
diff --git a/mps/code/event.h b/mps/code/event.h
index 97e622b628d..f089560cf4d 100644
--- a/mps/code/event.h
+++ b/mps/code/event.h
@@ -49,7 +49,7 @@ extern Word EventKindControl;
49 EventFlush(); \ 49 EventFlush(); \
50 AVER(_size <= (size_t)(EventLimit - EventNext)); \ 50 AVER(_size <= (size_t)(EventLimit - EventNext)); \
51 _event = (void *)EventNext; \ 51 _event = (void *)EventNext; \
52 _event->code = Event##name; \ 52 _event->code = Event##name##Code; \
53 _event->clock = mps_clock(); 53 _event->clock = mps_clock();
54 54
55#define EVENT_END(name, size) \ 55#define EVENT_END(name, size) \
diff --git a/mps/code/eventcnv.c b/mps/code/eventcnv.c
index 3414bafde9b..4e658f3d9c1 100644
--- a/mps/code/eventcnv.c
+++ b/mps/code/eventcnv.c
@@ -414,7 +414,7 @@ static void readLog(EventProc proc)
414 if (res == ResFAIL) break; /* eof */ 414 if (res == ResFAIL) break; /* eof */
415 if (res != ResOK) everror("Truncated log"); 415 if (res != ResOK) everror("Truncated log");
416 eventTime = event->any.clock; 416 eventTime = event->any.clock;
417 code = EventGetCode(event); 417 code = event->any.code;
418 418
419 /* Output bucket, if necessary, and update counters */ 419 /* Output bucket, if necessary, and update counters */
420 if (bucketSize != 0 && eventTime >= bucketLimit) { 420 if (bucketSize != 0 && eventTime >= bucketLimit) {
@@ -456,7 +456,7 @@ static void readLog(EventProc proc)
456 } 456 }
457 457
458 switch (event->any.code) { 458 switch (event->any.code) {
459 case EventLabel: { 459 case EventLabelCode: {
460 switch (style) { 460 switch (style) {
461 case '\0': case 'C': { 461 case '\0': case 'C': {
462 EventString sym = LabelText(proc, event->Label.f1); 462 EventString sym = LabelText(proc, event->Label.f1);
@@ -480,7 +480,7 @@ static void readLog(EventProc proc)
480 } break; 480 } break;
481 } 481 }
482 } break; 482 } break;
483 case EventMeterValues: { 483 case EventMeterValuesCode: {
484 switch (style) { 484 switch (style) {
485 case '\0': { 485 case '\0': {
486 if (event->MeterValues.f3 == 0) { 486 if (event->MeterValues.f3 == 0) {
@@ -516,7 +516,7 @@ static void readLog(EventProc proc)
516 } break; 516 } break;
517 } 517 }
518 } break; 518 } break;
519 case EventPoolInit: { /* pool, arena, class */ 519 case EventPoolInitCode: { /* pool, arena, class */
520 printf(styleConv, (ulongest_t)event->PoolInit.f0); 520 printf(styleConv, (ulongest_t)event->PoolInit.f0);
521 printf(styleConv, (ulongest_t)event->PoolInit.f1); 521 printf(styleConv, (ulongest_t)event->PoolInit.f1);
522 /* class is a Pointer, but we label them, so call printAddr */ 522 /* class is a Pointer, but we label them, so call printAddr */
diff --git a/mps/code/eventcom.h b/mps/code/eventcom.h
index 18bef8ec4ca..f0f4bfdcc5f 100644
--- a/mps/code/eventcom.h
+++ b/mps/code/eventcom.h
@@ -15,7 +15,6 @@
15 15
16/* Types for event fields */ 16/* Types for event fields */
17 17
18typedef Word EventType;
19typedef unsigned short EventCode; 18typedef unsigned short EventCode;
20typedef unsigned EventKind; 19typedef unsigned EventKind;
21 20
@@ -59,6 +58,7 @@ enum {
59/* Note that enum values can be up to fifteen bits long portably. */ 58/* Note that enum values can be up to fifteen bits long portably. */
60#define EVENT_ENUM(X, name, code, always, kind, count, format) \ 59#define EVENT_ENUM(X, name, code, always, kind, count, format) \
61 enum { \ 60 enum { \
61 Event##name##Code = code, \
62 Event##name##Always = always, \ 62 Event##name##Always = always, \
63 Event##name##Kind = EventKind##kind \ 63 Event##name##Kind = EventKind##kind \
64 }; 64 };
@@ -82,13 +82,13 @@ typedef double EventFD;
82 82
83/* Common prefix for all event structures */ 83/* Common prefix for all event structures */
84typedef struct EventAnyStruct { 84typedef struct EventAnyStruct {
85 Word code; 85 EventCode code;
86 Word clock; 86 Word clock;
87} EventAnyStruct; 87} EventAnyStruct;
88 88
89#define EVENT_STRUCT(X, name, _code, always, kind, count, format) \ 89#define EVENT_STRUCT(X, name, _code, always, kind, count, format) \
90 typedef struct Event##name##Struct { \ 90 typedef struct Event##name##Struct { \
91 Word code; \ 91 EventCode code; \
92 Word clock; \ 92 Word clock; \
93 EVENT_STRUCT_FIELDS_##count format \ 93 EVENT_STRUCT_FIELDS_##count format \
94 } Event##name##Struct; 94 } Event##name##Struct;
@@ -451,108 +451,6 @@ typedef union EventUnion {
451#endif /* EVENT */ 451#endif /* EVENT */
452 452
453 453
454/* Event types -- see <design/telemetry/>
455 *
456 * These names are intended to be mnemonic. They are derived from
457 * selected letters as indicated, using the transliteration in
458 * guide.hex.trans.
459 *
460 * These definitions will be unnecessary when the event codes are
461 * changed to 16-bit. See <code/eventdef.h>.
462 */
463 /* EVent ... */
464#define EventEventTime ((EventType)0xEF213E99) /* TIME */
465#define EventPoolInit ((EventType)0xEFB07141) /* POoL INIt */
466#define EventPoolFinish ((EventType)0xEFB07F14) /* POoL FINish */
467#define EventPoolAlloc ((EventType)0xEFB07A77) /* POoL ALLoc */
468#define EventPoolFree ((EventType)0xEFB07F6E) /* POoL FREe */
469#define EventArenaCreateVM ((EventType)0xEFA64CF3) /* AReNa Create VM */
470#define EventArenaCreateVMNZ ((EventType)0xEFA64CF2) /* AReNa Create VmnZ */
471#define EventArenaCreateCL ((EventType)0xEFA64CC7) /* AReNa Create CL */
472#define EventArenaDestroy ((EventType)0xEFA64DE5) /* AReNa DEStroy */
473#define EventArenaAlloc ((EventType)0xEFA64A77) /* AReNa ALLoc */
474#define EventArenaFree ((EventType)0xEFA64F6E) /* AReNa FREe */
475#define EventSegAlloc ((EventType)0xEF5E9A77) /* SEG ALLoc */
476#define EventSegFree ((EventType)0xEF5E9F6E) /* SEG FREe */
477#define EventSegMerge ((EventType)0xEF5E93E6) /* SEG MERge */
478#define EventSegSplit ((EventType)0xEF5E95B7) /* SEG SPLit */
479#define EventAMCGenCreate ((EventType)0xEFA3C94C) /* AMC GeN Create */
480#define EventAMCGenDestroy ((EventType)0xEFA3C94D) /* AMC GeN Destroy */
481#define EventAMCInit ((EventType)0xEFA3C141) /* AMC INIt */
482#define EventAMCFinish ((EventType)0xEFA3CF14) /* AMC FINish */
483#define EventAMCTraceBegin ((EventType)0xEFA3C26B) /* AMC TRace Begin */
484#define EventAMCScanBegin ((EventType)0xEFA3C5CB) /* AMC SCan Begin */
485#define EventAMCScanEnd ((EventType)0xEFA3C5CE) /* AMC SCan End */
486#define EventAMCFix ((EventType)0xEFA3CF18) /* AMC FIX */
487#define EventAMCFixInPlace ((EventType)0xEFA3CF8A) /* AMC FiX Ambig */
488#define EventAMCFixForward ((EventType)0xEFA3CF8F) /* AMC FiX Forward */
489#define EventAMCReclaim ((EventType)0xEFA3C6EC) /* AMC REClaim */
490#define EventTraceStart ((EventType)0xEF26AC52) /* TRACe STart */
491#define EventTraceCreate ((EventType)0xEF26ACC6) /* TRACe CReate */
492#define EventTraceDestroy ((EventType)0xEF26ACDE) /* TRACe DEstroy */
493#define EventSegSetGrey ((EventType)0xEF59596A) /* SeG Set GRAy */
494#define EventTraceFlipBegin ((EventType)0xEF26AF7B) /* TRAce FLip Begin */
495#define EventTraceFlipEnd ((EventType)0xEF26AF7E) /* TRAce FLip End */
496#define EventTraceReclaim ((EventType)0xEF26A6EC) /* TRAce REClaim */
497#define EventTraceScanSeg ((EventType)0xEF26A559) /* TRAce ScanSeG */
498#define EventTraceScanSingleRef \
499 ((EventType)0xEF26A556) /* TRAce ScanSingleRef */
500#define EventTraceAccess ((EventType)0xEF26AACC) /* TRAce ACCess */
501#define EventTracePoll ((EventType)0xEF26AB01) /* TRAce POLl */
502#define EventTraceStep ((EventType)0xEF26A52B) /* TRAce STeP */
503#define EventTraceFix ((EventType)0xEF26AF18) /* TRAce FIX */
504#define EventTraceFixSeg ((EventType)0xEF26AF85) /* TRAce FiX Seg */
505#define EventTraceFixWhite ((EventType)0xEF26AF83) /* TRAce FiX White */
506#define EventTraceScanArea ((EventType)0xEF26A5CA) /* TRAce SCan Area */
507#define EventTraceScanAreaTagged ((EventType)0xEF26A5C2) /* TRAce SCan area Tagged */
508#define EventVMCreate ((EventType)0xEFF3C6EA) /* VM CREAte */
509#define EventVMDestroy ((EventType)0xEFF3DE52) /* VM DESTroy */
510#define EventVMMap ((EventType)0xEFF33AB9) /* VM MAP */
511#define EventVMUnmap ((EventType)0xEFF3043B) /* VM UNMaP */
512#define EventIntern ((EventType)0xEF142E64) /* INTERN */
513#define EventArenaExtend ((EventType)0xEFA64E82) /* AReNa EXTend */
514#define EventArenaRetract ((EventType)0xEFA646E2) /* AReNa RETract */
515#define EventRootScan ((EventType)0xEF625CA4) /* RooT SCAN */
516#define EventLabel ((EventType)0xEF7ABE79) /* LABEL */
517#define EventTraceSegGreyen ((EventType)0xEF26A599) /* TRAce SeG Greyen */
518#define EventBufferReserve ((EventType)0xEFB0FF6E) /* BUFFer REserve */
519#define EventBufferCommit ((EventType)0xEFB0FFC0) /* BUFFer COmmit */
520#define EventBufferInit ((EventType)0xEFB0FF14) /* BUFFer INit */
521#define EventBufferInitSeg ((EventType)0xEFB0F15E) /* BUFFer Init SEg */
522#define EventBufferInitRank ((EventType)0xEFB0F16A) /* BUFFer Init RAnk */
523#define EventBufferInitEPVM ((EventType)0xEFB0F1EF) /* BUFfer Init EpVm */
524#define EventBufferFinish ((EventType)0xEFB0FFF1) /* BUFFer FInish */
525#define EventBufferFill ((EventType)0xEFB0FFF7) /* BUFFer FilL */
526#define EventBufferEmpty ((EventType)0xEFB0FFE3) /* BUFFer EMpty */
527#define EventArenaAllocFail ((EventType)0xEFA64A7F) /* AReNa ALloc Fail */
528#define EventSegAllocFail ((EventType)0xEF5E9A7F) /* SEG ALloc Fail */
529#define EventMeterInit ((EventType)0xEF3E2141) /* METer INIt */
530#define EventMeterValues ((EventType)0xEF3E2FA7) /* METer VALues */
531#define EventCBSInit ((EventType)0xEFCB5141) /* CBS INIt */
532#define EventTraceStatCondemn ((EventType)0xEF26A5C0) /* TRAce Stat COndemn */
533#define EventTraceStatScan ((EventType)0xEF26A55C) /* TRAce Stat SCan */
534#define EventTraceStatFix ((EventType)0xEF26A5F8) /* TRAce Stat FiX */
535#define EventTraceStatReclaim ((EventType)0xEF26A56E) /* TRAce Stat REclaim */
536#define EventArenaWriteFaults ((EventType)0xEFA6436F) /* AReNa WRite Faults */
537#define EventPoolInitMV ((EventType)0xEFB0713F) /* POoL Init MV */
538#define EventPoolInitMVFF ((EventType)0xEFB071FF) /* POoL Init mvFF */
539#define EventPoolInitMFS ((EventType)0xEFB07135) /* POoL Init MfS */
540#define EventPoolInitEPVM ((EventType)0xEFB071EF) /* POoL Init EpVm */
541#define EventPoolInitEPDL ((EventType)0xEFB071E7) /* POoL Init EpdL */
542#define EventPoolInitAMS ((EventType)0xEFB071A5) /* POoL Init AmS */
543#define EventPoolInitAMC ((EventType)0xEFB071AC) /* POoL Init AmC */
544#define EventPoolInitAMCZ ((EventType)0xEFB071A2) /* POoL Init AmcZ */
545#define EventPoolInitAWL ((EventType)0xEFB071A3) /* POoL Init AWl */
546#define EventPoolInitLO ((EventType)0xEFB07170) /* POoL Init LO */
547#define EventPoolInitSNC ((EventType)0xEFB07154) /* POoL Init SNc */
548#define EventPoolInitMVT ((EventType)0xEFB07132) /* POoL Init MvT */
549#define EventPoolPush ((EventType)0xEFB07B58) /* POoL PuSH */
550#define EventPoolPop ((EventType)0xEFB07B0B) /* POoL POP */
551#define EventReservoirLimitSet ((EventType)0xEF6E5713) /* REServoir LIMit set */
552#define EventCommitLimitSet ((EventType)0xEFC03713) /* COMmit LIMit set */
553#define EventSpareCommitLimitSet ((EventType)0xEF5BC713) /* SPare Commit LIMit set */
554
555
556#endif /* eventcom_h */ 454#endif /* eventcom_h */
557 455
558 456
diff --git a/mps/code/eventdef.h b/mps/code/eventdef.h
index 379abd28751..9cb66e3dbe9 100644
--- a/mps/code/eventdef.h
+++ b/mps/code/eventdef.h
@@ -32,7 +32,7 @@
32 * and the major version when changing the format of the event file. 32 * and the major version when changing the format of the event file.
33 */ 33 */
34 34
35#define EVENT_VERSION_MAJOR ((unsigned)0) 35#define EVENT_VERSION_MAJOR ((unsigned)1)
36#define EVENT_VERSION_MEDIAN ((unsigned)0) 36#define EVENT_VERSION_MEDIAN ((unsigned)0)
37#define EVENT_VERSION_MINOR ((unsigned)0) 37#define EVENT_VERSION_MINOR ((unsigned)0)
38 38
diff --git a/mps/code/eventpro.h b/mps/code/eventpro.h
index db5d23d40a1..bd6cbebfc76 100644
--- a/mps/code/eventpro.h
+++ b/mps/code/eventpro.h
@@ -21,7 +21,6 @@ typedef Res (*EventProcReader)(void *, void *, size_t);
21 21
22extern EventCode EventName2Code(char *name); 22extern EventCode EventName2Code(char *name);
23extern char *EventCode2Name(EventCode code); 23extern char *EventCode2Name(EventCode code);
24extern EventCode EventGetCode(Event event);
25extern char *EventCode2Format(EventCode code); 24extern char *EventCode2Format(EventCode code);
26extern Bool EventCodeIsValid(EventCode code); 25extern Bool EventCodeIsValid(EventCode code);
27 26