diff --git a/mps/code/format.c b/mps/code/format.c index 5155a740eb5..9867f562167 100644 --- a/mps/code/format.c +++ b/mps/code/format.c @@ -40,11 +40,11 @@ Bool FormatCheck(Format format) } -static Addr FormatDefaultClass(Addr object) +static mps_addr_t FormatDefaultClass(mps_addr_t object) { AVER(object != NULL); - return ((Addr *)object)[0]; + return ((mps_addr_t *)object)[0]; } @@ -53,13 +53,13 @@ static Addr FormatDefaultClass(Addr object) Res FormatCreate(Format *formatReturn, Arena arena, Align alignment, FormatVariety variety, - FormatScanMethod scan, - FormatSkipMethod skip, - FormatMoveMethod move, - FormatIsMovedMethod isMoved, - FormatCopyMethod copy, - FormatPadMethod pad, - FormatClassMethod class, + mps_fmt_scan_t scan, + mps_fmt_skip_t skip, + mps_fmt_fwd_t move, + mps_fmt_isfwd_t isMoved, + mps_fmt_copy_t copy, + mps_fmt_pad_t pad, + mps_fmt_class_t class, Size headerSize) { Format format; diff --git a/mps/code/mpm.h b/mps/code/mpm.h index 58fb4da6a31..049cbf65343 100644 --- a/mps/code/mpm.h +++ b/mps/code/mpm.h @@ -807,13 +807,13 @@ extern Bool FormatCheck(Format format); extern Res FormatCreate(Format *formatReturn, Arena arena, Align alignment, FormatVariety variety, - FormatScanMethod scan, - FormatSkipMethod skip, - FormatMoveMethod move, - FormatIsMovedMethod isMoved, - FormatCopyMethod copy, - FormatPadMethod pad, - FormatClassMethod class, + mps_fmt_scan_t scan, + mps_fmt_skip_t skip, + mps_fmt_fwd_t move, + mps_fmt_isfwd_t isMoved, + mps_fmt_copy_t copy, + mps_fmt_pad_t pad, + mps_fmt_class_t class, Size headerSize); extern void FormatDestroy(Format format); extern Arena FormatArena(Format format); @@ -940,7 +940,7 @@ extern Res RootCreateReg(Root *rootReturn, Arena arena, void *p, size_t s); extern Res RootCreateFmt(Root *rootReturn, Arena arena, Rank rank, RootMode mode, - FormatScanMethod scan, + mps_fmt_scan_t scan, Addr base, Addr limit); extern Res RootCreateFun(Root *rootReturn, Arena arena, Rank rank, mps_root_scan_t scan, diff --git a/mps/code/mpmst.h b/mps/code/mpmst.h index 5c21c60a6a0..1cd8a77a7ec 100644 --- a/mps/code/mpmst.h +++ b/mps/code/mpmst.h @@ -406,13 +406,13 @@ typedef struct FormatStruct { Arena arena; /* owning arena */ RingStruct arenaRing; /* formats are attached to the arena */ Align alignment; /* alignment of formatted objects */ - FormatScanMethod scan; - FormatSkipMethod skip; - FormatMoveMethod move; - FormatIsMovedMethod isMoved; - FormatCopyMethod copy; - FormatPadMethod pad; - FormatClassMethod class; /* pointer indicating class */ + mps_fmt_scan_t scan; + mps_fmt_skip_t skip; + mps_fmt_fwd_t move; + mps_fmt_isfwd_t isMoved; + mps_fmt_copy_t copy; + mps_fmt_pad_t pad; + mps_fmt_class_t class; /* pointer indicating class */ Size headerSize; /* size of header */ } FormatStruct; diff --git a/mps/code/mpmtypes.h b/mps/code/mpmtypes.h index 12d23e39989..890522b804e 100644 --- a/mps/code/mpmtypes.h +++ b/mps/code/mpmtypes.h @@ -242,19 +242,6 @@ typedef struct TraceStartMessageStruct *TraceStartMessage; typedef struct TraceMessageStruct *TraceMessage; /* trace end */ -/* Format*Method -- see design.mps.format-interface */ -/* .fmt-methods: These methods must match those defined in the */ -/* MPS C Interface. (See .) */ - -typedef Res (*FormatScanMethod)(mps_ss_t ss, Addr base, Addr limit); -typedef Addr (*FormatSkipMethod)(Addr object); -typedef void (*FormatMoveMethod)(Addr object, Addr to); -typedef Addr (*FormatIsMovedMethod)(Addr object); -typedef void (*FormatCopyMethod)(Addr object, Addr to); -typedef void (*FormatPadMethod)(Addr base, Size size); -typedef Addr (*FormatClassMethod)(Addr object); - - /* CONSTANTS */ diff --git a/mps/code/mps.h b/mps/code/mps.h index 945d43cc13b..6d0edbb75d2 100644 --- a/mps/code/mps.h +++ b/mps/code/mps.h @@ -179,8 +179,7 @@ typedef struct mps_ld_s { /* location dependency descriptor */ /* Format and Root Method Types */ /* see design.mps.root-interface */ -/* .fmt-methods: Keep in sync with */ -/* .root-methods: Keep in sync with */ +/* see design.mps.format-interface */ typedef mps_res_t (*mps_root_scan_t)(mps_ss_t, void *, size_t); typedef mps_res_t (*mps_fmt_scan_t)(mps_ss_t, mps_addr_t, mps_addr_t); diff --git a/mps/code/mpsi.c b/mps/code/mpsi.c index c620cad18dd..711f5807254 100644 --- a/mps/code/mpsi.c +++ b/mps/code/mpsi.c @@ -463,12 +463,12 @@ mps_res_t mps_fmt_create_A(mps_fmt_t *mps_fmt_o, arena, (Align)mps_fmt_A->align, FormatVarietyA, - (FormatScanMethod)mps_fmt_A->scan, - (FormatSkipMethod)mps_fmt_A->skip, - (FormatMoveMethod)mps_fmt_A->fwd, - (FormatIsMovedMethod)mps_fmt_A->isfwd, - (FormatCopyMethod)mps_fmt_A->copy, - (FormatPadMethod)mps_fmt_A->pad, + mps_fmt_A->scan, + mps_fmt_A->skip, + mps_fmt_A->fwd, + mps_fmt_A->isfwd, + mps_fmt_A->copy, + mps_fmt_A->pad, NULL, (Size)0); @@ -497,13 +497,13 @@ mps_res_t mps_fmt_create_B(mps_fmt_t *mps_fmt_o, arena, (Align)mps_fmt_B->align, FormatVarietyB, - (FormatScanMethod)mps_fmt_B->scan, - (FormatSkipMethod)mps_fmt_B->skip, - (FormatMoveMethod)mps_fmt_B->fwd, - (FormatIsMovedMethod)mps_fmt_B->isfwd, - (FormatCopyMethod)mps_fmt_B->copy, - (FormatPadMethod)mps_fmt_B->pad, - (FormatClassMethod)mps_fmt_B->mps_class, + mps_fmt_B->scan, + mps_fmt_B->skip, + mps_fmt_B->fwd, + mps_fmt_B->isfwd, + mps_fmt_B->copy, + mps_fmt_B->pad, + mps_fmt_B->mps_class, (Size)0); ArenaLeave(arena); @@ -531,12 +531,12 @@ mps_res_t mps_fmt_create_auto_header(mps_fmt_t *mps_fmt_o, arena, (Align)mps_fmt->align, FormatVarietyAutoHeader, - (FormatScanMethod)mps_fmt->scan, - (FormatSkipMethod)mps_fmt->skip, - (FormatMoveMethod)mps_fmt->fwd, - (FormatIsMovedMethod)mps_fmt->isfwd, + mps_fmt->scan, + mps_fmt->skip, + mps_fmt->fwd, + mps_fmt->isfwd, NULL, - (FormatPadMethod)mps_fmt->pad, + mps_fmt->pad, NULL, (Size)mps_fmt->mps_headerSize); @@ -565,12 +565,12 @@ mps_res_t mps_fmt_create_fixed(mps_fmt_t *mps_fmt_o, arena, (Align)mps_fmt_fixed->align, FormatVarietyFixed, - (FormatScanMethod)mps_fmt_fixed->scan, + mps_fmt_fixed->scan, NULL, - (FormatMoveMethod)mps_fmt_fixed->fwd, - (FormatIsMovedMethod)mps_fmt_fixed->isfwd, + mps_fmt_fixed->fwd, + mps_fmt_fixed->isfwd, NULL, - (FormatPadMethod)mps_fmt_fixed->pad, + mps_fmt_fixed->pad, NULL, (Size)0); @@ -1265,11 +1265,10 @@ mps_res_t mps_root_create_table_masked(mps_root_t *mps_root_o, mps_res_t mps_root_create_fmt(mps_root_t *mps_root_o, mps_arena_t arena, mps_rank_t mps_rank, mps_rm_t mps_rm, - mps_fmt_scan_t mps_fmt_scan, + mps_fmt_scan_t scan, mps_addr_t base, mps_addr_t limit) { Rank rank = (Rank)mps_rank; - FormatScanMethod scan = (FormatScanMethod)mps_fmt_scan; Root root; RootMode mode = (RootMode)mps_rm; Res res; diff --git a/mps/code/root.c b/mps/code/root.c index c94217c04ad..edb932f800a 100644 --- a/mps/code/root.c +++ b/mps/code/root.c @@ -53,7 +53,7 @@ typedef struct RootStruct { size_t s; /* passed to scan */ } reg; struct { - FormatScanMethod scan; /* format-like scanner */ + mps_fmt_scan_t scan; /* format-like scanner */ Addr base, limit; /* passed to scan */ } fmt; } the; @@ -315,7 +315,7 @@ Res RootCreateReg(Root *rootReturn, Arena arena, } Res RootCreateFmt(Root *rootReturn, Arena arena, - Rank rank, RootMode mode, FormatScanMethod scan, + Rank rank, RootMode mode, mps_fmt_scan_t scan, Addr base, Addr limit) { union RootUnion theUnion;