aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/mpmtypes.h
diff options
context:
space:
mode:
authorRichard Brooksby2012-09-07 12:58:57 +0100
committerRichard Brooksby2012-09-07 12:58:57 +0100
commit78d5f049f0e60bd0c903bc331c253f681d082cea (patch)
tree2313698d481513796220f50377bdd911fff16bad /mps/code/mpmtypes.h
parente17fee98ea221678f40bae915dd32c91ccc71922 (diff)
downloademacs-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.h4
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/> */
67typedef BufferClass RankBufClass; /* <design/buffer/> */ 67typedef BufferClass RankBufClass; /* <design/buffer/> */
68typedef unsigned BufferMode; /* <design/buffer/> */ 68typedef unsigned BufferMode; /* <design/buffer/> */
69typedef unsigned FrameState; /* <design/alloc-frame/> */ 69typedef unsigned FrameState; /* <design/alloc-frame/> */
70typedef struct APStruct *AP; /* <design/buffer/> */
71typedef struct FormatStruct *Format; /* design.mps.format */ 70typedef struct FormatStruct *Format; /* design.mps.format */
72typedef struct LDStruct *LD; /* design.mps.ld */
73typedef struct LockStruct *Lock; /* <code/lock.c>* */ 71typedef struct LockStruct *Lock; /* <code/lock.c>* */
74typedef struct PoolStruct *Pool; /* <design/pool/> */ 72typedef struct PoolStruct *Pool; /* <design/pool/> */
75typedef struct PoolClassStruct *PoolClass; /* <code/poolclas.c> */ 73typedef struct PoolClassStruct *PoolClass; /* <code/poolclas.c> */
@@ -94,7 +92,7 @@ typedef struct SegPrefStruct *SegPref; /* design.mps.pref, <code/locus.c> */
94typedef int SegPrefKind; /* design.mps.pref, <code/locus.c> */ 92typedef int SegPrefKind; /* design.mps.pref, <code/locus.c> */
95typedef struct ArenaClassStruct *ArenaClass; /* <design/arena/> */ 93typedef struct ArenaClassStruct *ArenaClass; /* <design/arena/> */
96typedef ArenaClass AbstractArenaClass; /* <code/arena.c> */ 94typedef ArenaClass AbstractArenaClass; /* <code/arena.c> */
97typedef struct ArenaStruct *Arena; /* <design/arena/> */ 95typedef struct mps_arena_s *Arena; /* <design/arena/> */
98typedef struct GlobalsStruct *Globals; /* <design/arena/> */ 96typedef struct GlobalsStruct *Globals; /* <design/arena/> */
99typedef struct VMStruct *VM; /* <code/vm.c>* */ 97typedef struct VMStruct *VM; /* <code/vm.c>* */
100typedef struct RootStruct *Root; /* <code/root.c> */ 98typedef struct RootStruct *Root; /* <code/root.c> */