1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 14:10:47 -08:00

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.
This commit is contained in:
Gareth Rees 2020-09-01 18:59:30 +01:00
parent 7c286cba8f
commit 1e77b9d762
7 changed files with 14 additions and 44 deletions

View file

@ -432,9 +432,9 @@ extern void TraceIdMessagesDestroy(Arena arena, TraceId ti);
*(refIO) = SCANref, \
SCANres)
/* Equivalent to <code/mps.h> MPS_FIX */
/* Equivalent to <code/mps.h> MPS_FIX12 */
#define TRACE_FIX(ss, refIO) \
#define TRACE_FIX12(ss, refIO) \
(TRACE_FIX1(ss, *(refIO)) ? TRACE_FIX2(ss, refIO) : ResOK)
/* Equivalent to <code/mps.h> MPS_SCAN_END */

View file

@ -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); \

View file

@ -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 <code/arena.h#epoch.ts> */

View file

@ -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;
}

View file

@ -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;

View file

@ -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

View file

@ -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 <scan>` 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::