From 1e77b9d762b4e20dac9cd08e76a11cd346e2004f Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Tue, 1 Sep 2020 18:59:30 +0100 Subject: [PATCH] Remove mps_fix, deprecated since release 1.111.0 Also remove undocumented and deprecated MPS_FIX macro, and rename TRACE_FIX to TRACE_FIX12 to maintain parallelism. --- mps/code/mpm.h | 4 ++-- mps/code/mps.h | 2 -- mps/code/mpsi.c | 11 ----------- mps/code/mpsicv.c | 9 ++++++++- mps/code/trace.c | 2 +- mps/manual/source/release.rst | 3 +++ mps/manual/source/topic/deprecated.rst | 27 -------------------------- 7 files changed, 14 insertions(+), 44 deletions(-) diff --git a/mps/code/mpm.h b/mps/code/mpm.h index bf11fb628cb..afff9ddb68f 100644 --- a/mps/code/mpm.h +++ b/mps/code/mpm.h @@ -432,9 +432,9 @@ extern void TraceIdMessagesDestroy(Arena arena, TraceId ti); *(refIO) = SCANref, \ SCANres) -/* Equivalent to MPS_FIX */ +/* Equivalent to MPS_FIX12 */ -#define TRACE_FIX(ss, refIO) \ +#define TRACE_FIX12(ss, refIO) \ (TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK) /* Equivalent to MPS_SCAN_END */ diff --git a/mps/code/mps.h b/mps/code/mps.h index cdab683f45d..60587cfdc5c 100644 --- a/mps/code/mps.h +++ b/mps/code/mps.h @@ -797,8 +797,6 @@ extern mps_res_t mps_scan_area_masked(mps_ss_t, void *, void *, void *); extern mps_res_t mps_scan_area_tagged(mps_ss_t, void *, void *, void *); extern mps_res_t mps_scan_area_tagged_or_zero(mps_ss_t, void *, void *, void *); -extern mps_res_t mps_fix(mps_ss_t, mps_addr_t *); - #define MPS_SCAN_BEGIN(ss) \ MPS_BEGIN \ mps_ss_t _ss = (ss); \ diff --git a/mps/code/mpsi.c b/mps/code/mpsi.c index 664f43b1c33..358e1828a72 100644 --- a/mps/code/mpsi.c +++ b/mps/code/mpsi.c @@ -1663,17 +1663,6 @@ mps_bool_t mps_ld_isstale_any(mps_ld_t ld, mps_arena_t arena) return (mps_bool_t)b; } -mps_res_t mps_fix(mps_ss_t mps_ss, mps_addr_t *ref_io) -{ - mps_res_t res; - - MPS_SCAN_BEGIN(mps_ss) { - res = MPS_FIX12(mps_ss, ref_io); - } MPS_SCAN_END(mps_ss); - - return res; -} - mps_word_t mps_collections(mps_arena_t arena) { return ArenaEpoch(arena); /* thread safe: see */ diff --git a/mps/code/mpsicv.c b/mps/code/mpsicv.c index 798d5c4c91e..778ec35fb98 100644 --- a/mps/code/mpsicv.c +++ b/mps/code/mpsicv.c @@ -274,8 +274,15 @@ static void addr_pool_test(mps_arena_t arena, static mps_res_t root_single(mps_ss_t ss, void *p, size_t s) { + mps_res_t res; + mps_addr_t *ref = p; testlib_unused(s); - return mps_fix(ss, (mps_addr_t *)p); + + MPS_SCAN_BEGIN(ss) { + res = MPS_FIX12(ss, ref); + } MPS_SCAN_END(ss); + + return res; } diff --git a/mps/code/trace.c b/mps/code/trace.c index 9ddc600d3cd..da1daf0aa1e 100644 --- a/mps/code/trace.c +++ b/mps/code/trace.c @@ -1431,7 +1431,7 @@ static Res traceScanSingleRefRes(TraceSet ts, Rank rank, Arena arena, ShieldExpose(arena, seg); TRACE_SCAN_BEGIN(&ss) { - res = TRACE_FIX(&ss, refIO); + res = TRACE_FIX12(&ss, refIO); } TRACE_SCAN_END(&ss); ss.scannedSize = sizeof *refIO; diff --git a/mps/manual/source/release.rst b/mps/manual/source/release.rst index 2417d1b0baf..99c6c0589d2 100644 --- a/mps/manual/source/release.rst +++ b/mps/manual/source/release.rst @@ -58,6 +58,9 @@ Interface changes :c:func:`mps_reservoir_limit_set` and :c:func:`mps_reserve_with_reservoir_permit`, have been removed. +#. The deprecated function :c:func:`mps_fix` has been removed. Use + the macro :c:func:`MPS_FIX12` instead. + #. The keyword argument ``MPS_KEY_SPARE_COMMIT_LIMIT`` to :c:func:`mps_arena_create_k`, and the functions :c:func:`mps_arena_spare_commit_limit` and diff --git a/mps/manual/source/topic/deprecated.rst b/mps/manual/source/topic/deprecated.rst index 94d2e41a300..8e17aa10ca7 100644 --- a/mps/manual/source/topic/deprecated.rst +++ b/mps/manual/source/topic/deprecated.rst @@ -740,33 +740,6 @@ Deprecated in version 1.112 Deprecated in version 1.111 ........................... -.. c:function:: mps_res_t mps_fix(mps_ss_t ss, mps_addr_t *ref_io) - - .. deprecated:: - - Use :c:func:`MPS_FIX1` and :c:func:`MPS_FIX2` instead. - - :term:`Fix` a :term:`reference`. - - This is a function equivalent to:: - - MPS_SCAN_BEGIN(ss); - res = MPS_FIX12(ss, ref_io); - MPS_SCAN_END(ss); - return res; - - Because :term:`scanning ` is an operation on the - :term:`critical path`, we recommend that you use - :c:func:`MPS_FIX12` (or :c:func:`MPS_FIX1` and :c:func:`MPS_FIX2`) - to ensure that the "stage 1 fix" is inlined. - - .. note:: - - If you call this between :c:func:`MPS_SCAN_BEGIN` and - :c:func:`MPS_SCAN_END`, you must use :c:func:`MPS_FIX_CALL` to - ensure that the scan state is passed correctly. - - .. c:function:: mps_word_t mps_telemetry_control(mps_word_t reset_mask, mps_word_t flip_mask) .. deprecated::