diff options
| author | Richard Brooksby | 2012-09-07 12:58:57 +0100 |
|---|---|---|
| committer | Richard Brooksby | 2012-09-07 12:58:57 +0100 |
| commit | 78d5f049f0e60bd0c903bc331c253f681d082cea (patch) | |
| tree | 2313698d481513796220f50377bdd911fff16bad /mps/code/mpmtypes.h | |
| parent | e17fee98ea221678f40bae915dd32c91ccc71922 (diff) | |
| download | emacs-78d5f049f0e60bd0c903bc331c253f681d082cea.tar.gz emacs-78d5f049f0e60bd0c903bc331c253f681d082cea.zip | |
Eliminating type puns on scan states, location dependencies, and allocation points through the mps interface.
Now that we're recommending inlining with client code and optimising with -O2 or -O3, we can't afford any bug introduced by the strict aliasing rule.
Copied from Perforce
Change: 179322
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/mpmtypes.h')
| -rw-r--r-- | mps/code/mpmtypes.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/mps/code/mpmtypes.h b/mps/code/mpmtypes.h index 66d5b533546..a15098c53ee 100644 --- a/mps/code/mpmtypes.h +++ b/mps/code/mpmtypes.h | |||
| @@ -67,9 +67,7 @@ typedef BufferClass SegBufClass; /* <design/buffer/> */ | |||
| 67 | typedef BufferClass RankBufClass; /* <design/buffer/> */ | 67 | typedef BufferClass RankBufClass; /* <design/buffer/> */ |
| 68 | typedef unsigned BufferMode; /* <design/buffer/> */ | 68 | typedef unsigned BufferMode; /* <design/buffer/> */ |
| 69 | typedef unsigned FrameState; /* <design/alloc-frame/> */ | 69 | typedef unsigned FrameState; /* <design/alloc-frame/> */ |
| 70 | typedef struct APStruct *AP; /* <design/buffer/> */ | ||
| 71 | typedef struct FormatStruct *Format; /* design.mps.format */ | 70 | typedef struct FormatStruct *Format; /* design.mps.format */ |
| 72 | typedef struct LDStruct *LD; /* design.mps.ld */ | ||
| 73 | typedef struct LockStruct *Lock; /* <code/lock.c>* */ | 71 | typedef struct LockStruct *Lock; /* <code/lock.c>* */ |
| 74 | typedef struct PoolStruct *Pool; /* <design/pool/> */ | 72 | typedef struct PoolStruct *Pool; /* <design/pool/> */ |
| 75 | typedef struct PoolClassStruct *PoolClass; /* <code/poolclas.c> */ | 73 | typedef struct PoolClassStruct *PoolClass; /* <code/poolclas.c> */ |
| @@ -94,7 +92,7 @@ typedef struct SegPrefStruct *SegPref; /* design.mps.pref, <code/locus.c> */ | |||
| 94 | typedef int SegPrefKind; /* design.mps.pref, <code/locus.c> */ | 92 | typedef int SegPrefKind; /* design.mps.pref, <code/locus.c> */ |
| 95 | typedef struct ArenaClassStruct *ArenaClass; /* <design/arena/> */ | 93 | typedef struct ArenaClassStruct *ArenaClass; /* <design/arena/> */ |
| 96 | typedef ArenaClass AbstractArenaClass; /* <code/arena.c> */ | 94 | typedef ArenaClass AbstractArenaClass; /* <code/arena.c> */ |
| 97 | typedef struct ArenaStruct *Arena; /* <design/arena/> */ | 95 | typedef struct mps_arena_s *Arena; /* <design/arena/> */ |
| 98 | typedef struct GlobalsStruct *Globals; /* <design/arena/> */ | 96 | typedef struct GlobalsStruct *Globals; /* <design/arena/> */ |
| 99 | typedef struct VMStruct *VM; /* <code/vm.c>* */ | 97 | typedef struct VMStruct *VM; /* <code/vm.c>* */ |
| 100 | typedef struct RootStruct *Root; /* <code/root.c> */ | 98 | typedef struct RootStruct *Root; /* <code/root.c> */ |