mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08:00
Mps br/timing: hack in mps_clock_t
(Should go via new Clock type in mpmtypes, mpsi_check(), etc). Copied from Perforce Change: 166591 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
f5c3940658
commit
62fb0f32ae
6 changed files with 30 additions and 2 deletions
|
|
@ -284,6 +284,14 @@ MessageClass MessageGetClass(Message message)
|
|||
return message->class;
|
||||
}
|
||||
|
||||
/* Return the class of a message */
|
||||
mps_clock_t MessageGetClock(Message message)
|
||||
{
|
||||
AVERT(Message, message);
|
||||
|
||||
return message->postedClock;
|
||||
}
|
||||
|
||||
static void MessageDelete(Message message)
|
||||
{
|
||||
AVERT(Message, message);
|
||||
|
|
|
|||
|
|
@ -311,6 +311,7 @@ extern void MessageDiscard(Arena arena, Message message);
|
|||
/* -- Message Methods, Generic */
|
||||
extern MessageType MessageGetType(Message message);
|
||||
extern MessageClass MessageGetClass(Message message);
|
||||
extern mps_clock_t MessageGetClock(Message message);
|
||||
/* -- Message Method Dispatchers, Type-specific */
|
||||
extern void MessageFinalizationRef(Ref *refReturn,
|
||||
Arena arena, Message message);
|
||||
|
|
|
|||
|
|
@ -223,6 +223,7 @@ typedef struct MessageStruct {
|
|||
MessageType type; /* Message Type */
|
||||
MessageClass class; /* Message Class Structure */
|
||||
RingStruct queueRing; /* Message queue ring */
|
||||
mps_clock_t postedClock; /* mps_clock() at post time */
|
||||
} MessageStruct;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ typedef size_t mps_align_t; /* alignment (size_t) */
|
|||
typedef unsigned mps_rm_t; /* root mode (unsigned) */
|
||||
typedef unsigned mps_rank_t; /* ranks (unsigned) */
|
||||
typedef unsigned mps_message_type_t; /* message type (unsigned) */
|
||||
typedef unsigned long mps_clock_t; /* processor time */
|
||||
|
||||
/* Result Codes */
|
||||
/* .result-codes: Keep in sync with <code/mpmtypes.h#result-codes> */
|
||||
|
|
@ -527,6 +528,7 @@ extern void mps_message_discard(mps_arena_t, mps_message_t);
|
|||
|
||||
/* -- All Message Types */
|
||||
extern mps_message_type_t mps_message_type(mps_arena_t, mps_message_t);
|
||||
extern mps_clock_t mps_message_clock(mps_arena_t, mps_message_t);
|
||||
|
||||
/* -- mps_message_type_finalization */
|
||||
extern void mps_message_finalization_ref(mps_addr_t *,
|
||||
|
|
|
|||
|
|
@ -1675,6 +1675,23 @@ mps_message_type_t mps_message_type(mps_arena_t mps_arena,
|
|||
return (mps_message_type_t)type;
|
||||
}
|
||||
|
||||
mps_clock_t mps_message_clock(mps_arena_t mps_arena,
|
||||
mps_message_t mps_message)
|
||||
{
|
||||
Arena arena = (Arena)mps_arena;
|
||||
Message message = (Message)mps_message;
|
||||
mps_clock_t postedClock; /* @@@@ should be Clock, not mps_clock_t */
|
||||
|
||||
ArenaEnter(arena);
|
||||
|
||||
postedClock = MessageGetClock(message);
|
||||
|
||||
ArenaLeave(arena);
|
||||
|
||||
return (mps_clock_t)postedClock;
|
||||
}
|
||||
|
||||
|
||||
/* -- mps_message_type_finalization */
|
||||
|
||||
void mps_message_finalization_ref(mps_addr_t *mps_addr_return,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#define mpslib_h
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "mps.h" /* mps_clock_t */
|
||||
|
||||
extern int mps_lib_get_EOF(void);
|
||||
#define mps_lib_EOF (mps_lib_get_EOF())
|
||||
|
|
@ -36,7 +36,6 @@ extern void *(mps_lib_memcpy)(void *, const void *, size_t);
|
|||
extern int (mps_lib_memcmp)(const void *, const void *, size_t);
|
||||
|
||||
|
||||
typedef unsigned long mps_clock_t;
|
||||
extern mps_clock_t mps_clock(void);
|
||||
extern mps_clock_t mps_clocks_per_sec(void);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue