diff options
| author | Richard Kistruck | 2008-11-11 16:57:30 +0000 |
|---|---|---|
| committer | Richard Kistruck | 2008-11-11 16:57:30 +0000 |
| commit | 38d28de5342ce33dd35fd3456c9c4fabf9fb21cb (patch) | |
| tree | 2b29618090f6bc29b7c69534baee8573476c3e97 /mps/code | |
| parent | 32031684e22770a55c1cb1ea080e4b507f98a8c8 (diff) | |
| download | emacs-38d28de5342ce33dd35fd3456c9c4fabf9fb21cb.tar.gz emacs-38d28de5342ce33dd35fd3456c9c4fabf9fb21cb.zip | |
Mps br/timing: new type "clock", internal equivalent of mps_clock_t.
Used for a field in messages. (More uses to follow).
Copied from Perforce
Change: 166697
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/message.c | 4 | ||||
| -rw-r--r-- | mps/code/mpm.h | 2 | ||||
| -rw-r--r-- | mps/code/mpmst.h | 2 | ||||
| -rw-r--r-- | mps/code/mpmtypes.h | 1 | ||||
| -rw-r--r-- | mps/code/mpsi.c | 8 |
5 files changed, 11 insertions, 6 deletions
diff --git a/mps/code/message.c b/mps/code/message.c index 2e63c80f025..f92d8d571e4 100644 --- a/mps/code/message.c +++ b/mps/code/message.c | |||
| @@ -50,7 +50,7 @@ Bool MessageCheck(Message message) | |||
| 50 | CHECKL(MessageTypeCheck(message->type)); | 50 | CHECKL(MessageTypeCheck(message->type)); |
| 51 | CHECKU(MessageClass, message->class); | 51 | CHECKU(MessageClass, message->class); |
| 52 | CHECKL(RingCheck(&message->queueRing)); | 52 | CHECKL(RingCheck(&message->queueRing)); |
| 53 | /* cannot check postedClock: no check for mps_clock_t */ | 53 | /* cannot check postedClock: no check for Clock */ |
| 54 | 54 | ||
| 55 | return TRUE; | 55 | return TRUE; |
| 56 | } | 56 | } |
| @@ -291,7 +291,7 @@ MessageClass MessageGetClass(Message message) | |||
| 291 | return message->class; | 291 | return message->class; |
| 292 | } | 292 | } |
| 293 | 293 | ||
| 294 | mps_clock_t MessageGetClock(Message message) | 294 | Clock MessageGetClock(Message message) |
| 295 | { | 295 | { |
| 296 | AVERT(Message, message); | 296 | AVERT(Message, message); |
| 297 | 297 | ||
diff --git a/mps/code/mpm.h b/mps/code/mpm.h index f53a7e835b0..7fd53f15127 100644 --- a/mps/code/mpm.h +++ b/mps/code/mpm.h | |||
| @@ -311,7 +311,7 @@ extern void MessageDiscard(Arena arena, Message message); | |||
| 311 | /* -- Message Methods, Generic */ | 311 | /* -- Message Methods, Generic */ |
| 312 | extern MessageType MessageGetType(Message message); | 312 | extern MessageType MessageGetType(Message message); |
| 313 | extern MessageClass MessageGetClass(Message message); | 313 | extern MessageClass MessageGetClass(Message message); |
| 314 | extern mps_clock_t MessageGetClock(Message message); | 314 | extern Clock MessageGetClock(Message message); |
| 315 | /* -- Message Method Dispatchers, Type-specific */ | 315 | /* -- Message Method Dispatchers, Type-specific */ |
| 316 | extern void MessageFinalizationRef(Ref *refReturn, | 316 | extern void MessageFinalizationRef(Ref *refReturn, |
| 317 | Arena arena, Message message); | 317 | Arena arena, Message message); |
diff --git a/mps/code/mpmst.h b/mps/code/mpmst.h index 1905e2bb560..7cb111fc281 100644 --- a/mps/code/mpmst.h +++ b/mps/code/mpmst.h | |||
| @@ -223,7 +223,7 @@ typedef struct MessageStruct { | |||
| 223 | MessageType type; /* Message Type */ | 223 | MessageType type; /* Message Type */ |
| 224 | MessageClass class; /* Message Class Structure */ | 224 | MessageClass class; /* Message Class Structure */ |
| 225 | RingStruct queueRing; /* Message queue ring */ | 225 | RingStruct queueRing; /* Message queue ring */ |
| 226 | mps_clock_t postedClock; /* mps_clock() at post time */ | 226 | Clock postedClock; /* mps_clock() at post time */ |
| 227 | } MessageStruct; | 227 | } MessageStruct; |
| 228 | 228 | ||
| 229 | 229 | ||
diff --git a/mps/code/mpmtypes.h b/mps/code/mpmtypes.h index c92662d2c94..aaece07f283 100644 --- a/mps/code/mpmtypes.h +++ b/mps/code/mpmtypes.h | |||
| @@ -40,6 +40,7 @@ typedef unsigned Shift; /* <design/type/#shift> */ | |||
| 40 | typedef unsigned Serial; /* <design/type/#serial> */ | 40 | typedef unsigned Serial; /* <design/type/#serial> */ |
| 41 | typedef Addr Ref; /* <design/type/#ref> */ | 41 | typedef Addr Ref; /* <design/type/#ref> */ |
| 42 | typedef void *Pointer; /* <design/type/#pointer> */ | 42 | typedef void *Pointer; /* <design/type/#pointer> */ |
| 43 | typedef unsigned long Clock; /* processor time */ | ||
| 43 | 44 | ||
| 44 | typedef Word RefSet; /* design.mps.refset */ | 45 | typedef Word RefSet; /* design.mps.refset */ |
| 45 | typedef Word ZoneSet; /* design.mps.refset */ | 46 | typedef Word ZoneSet; /* design.mps.refset */ |
diff --git a/mps/code/mpsi.c b/mps/code/mpsi.c index f27d1b7dec5..400ab84c486 100644 --- a/mps/code/mpsi.c +++ b/mps/code/mpsi.c | |||
| @@ -91,7 +91,7 @@ static Bool mpsi_check(void) | |||
| 91 | CHECKL((int)MPS_RANK_EXACT == (int)RankEXACT); | 91 | CHECKL((int)MPS_RANK_EXACT == (int)RankEXACT); |
| 92 | CHECKL((int)MPS_RANK_WEAK == (int)RankWEAK); | 92 | CHECKL((int)MPS_RANK_WEAK == (int)RankWEAK); |
| 93 | 93 | ||
| 94 | /* Check that external and internal messsage types match. */ | 94 | /* Check that external and internal message types match. */ |
| 95 | /* See <code/mps.h#message.types> and */ | 95 | /* See <code/mps.h#message.types> and */ |
| 96 | /* <code/mpmtypes.h#message.types>. */ | 96 | /* <code/mpmtypes.h#message.types>. */ |
| 97 | /* Also see .check.enum.cast. */ | 97 | /* Also see .check.enum.cast. */ |
| @@ -117,6 +117,10 @@ static Bool mpsi_check(void) | |||
| 117 | /* and <design/interface-c/#pun.size>. */ | 117 | /* and <design/interface-c/#pun.size>. */ |
| 118 | CHECKL(CHECKTYPE(size_t, Size)); | 118 | CHECKL(CHECKTYPE(size_t, Size)); |
| 119 | 119 | ||
| 120 | /* Clock values are passed from external to internal and back */ | ||
| 121 | /* out to external. */ | ||
| 122 | CHECKL(CHECKTYPE(mps_clock_t, Clock)); | ||
| 123 | |||
| 120 | /* Check ap_s/APStruct compatibility by hand */ | 124 | /* Check ap_s/APStruct compatibility by hand */ |
| 121 | /* .check.ap: See <code/mps.h#ap> and <code/buffer.h#ap>. */ | 125 | /* .check.ap: See <code/mps.h#ap> and <code/buffer.h#ap>. */ |
| 122 | CHECKL(sizeof(mps_ap_s) == sizeof(APStruct)); | 126 | CHECKL(sizeof(mps_ap_s) == sizeof(APStruct)); |
| @@ -1692,7 +1696,7 @@ mps_clock_t mps_message_clock(mps_arena_t mps_arena, | |||
| 1692 | { | 1696 | { |
| 1693 | Arena arena = (Arena)mps_arena; | 1697 | Arena arena = (Arena)mps_arena; |
| 1694 | Message message = (Message)mps_message; | 1698 | Message message = (Message)mps_message; |
| 1695 | mps_clock_t postedClock; /* @@@@ should be Clock, not mps_clock_t */ | 1699 | Clock postedClock; |
| 1696 | 1700 | ||
| 1697 | ArenaEnter(arena); | 1701 | ArenaEnter(arena); |
| 1698 | 1702 | ||