diff --git a/mps/code/mpscmv.h b/mps/code/mpscmv.h
deleted file mode 100644
index 509a1d26dc3..00000000000
--- a/mps/code/mpscmv.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* mpscmv.h: MEMORY POOL SYSTEM CLASS "MV"
- *
- * $Id$
- * Copyright (c) 2001-2014 Ravenbrook Limited. See end of file for license.
- *
- * DEPRECATED: Suggested replacement is MVFF, but see the MPS manual.
- */
-
-#ifndef mpscmv_h
-#define mpscmv_h
-
-#include "mps.h"
-
-#define mps_mv_free_size mps_pool_free_size
-#define mps_mv_size mps_pool_total_size
-
-extern mps_pool_class_t mps_class_mv(void);
-extern mps_pool_class_t mps_class_mv_debug(void);
-
-#endif /* mpscmv_h */
-
-
-/* C. COPYRIGHT AND LICENSE
- *
- * Copyright (C) 2001-2014 Ravenbrook Limited .
- * All rights reserved. This is an open source license. Contact
- * Ravenbrook for commercial licensing options.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * 3. Redistributions in any form must be accompanied by information on how
- * to obtain complete source code for this software and any accompanying
- * software that uses this software. The source code must either be
- * included in the distribution or be available for no more than the cost
- * of distribution plus a nominal fee, and must be freely redistributable
- * under reasonable conditions. For an executable file, complete source
- * code means the source code for all modules it contains. It does not
- * include source code for modules or files that typically accompany the
- * major components of the operating system on which the executable file
- * runs.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
diff --git a/mps/code/poolmvff.c b/mps/code/poolmvff.c
index b31c0f5d922..eedad5dbbb7 100644
--- a/mps/code/poolmvff.c
+++ b/mps/code/poolmvff.c
@@ -757,81 +757,6 @@ Bool MVFFCheck(MVFF mvff)
}
-/* Replacement of the deprecated MV pool class.
- *
- * MVFF replaces MV, but these functions are provided for backward
- * compatibility. TODO: Remove these sometime after MPS 1.117.
- */
-
-DECLARE_CLASS(Pool, MVPool, MVFFPool);
-DECLARE_CLASS(Pool, MVDebugPool, MVPool);
-
-static Res mvInit(Pool pool, Arena arena, PoolClass klass, ArgList args)
-{
- Index i;
-
- AVER(pool != NULL);
- AVERT(Arena, arena);
- AVERC(PoolClass, klass);
- AVERT(ArgList, args);
-
- /* MV allows arbitrary alignment but MVFF does not, so round up. */
- for (i = 0; args[i].key != MPS_KEY_ARGS_END; ++i)
- if (args[i].key == MPS_KEY_ALIGN
- && args[i].val.align < FreelistMinimumAlignment)
- args[i].val.align = FreelistMinimumAlignment;
-
- return NextMethod(Pool, MVPool, init)(pool, arena, klass, args);
-}
-
-static void mvVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
-{
- args[0].key = MPS_KEY_EXTEND_BY;
- args[0].val.size = va_arg(varargs, Size);
- args[1].key = MPS_KEY_MEAN_SIZE;
- args[1].val.size = va_arg(varargs, Size);
- args[2].key = MPS_KEY_MAX_SIZE;
- args[2].val.size = va_arg(varargs, Size);
- args[3].key = MPS_KEY_ARGS_END;
- AVERT(ArgList, args);
-}
-
-static void mvDebugVarargs(ArgStruct args[MPS_ARGS_MAX], va_list varargs)
-{
- args[0].key = MPS_KEY_POOL_DEBUG_OPTIONS;
- args[0].val.pool_debug_options = va_arg(varargs, mps_pool_debug_option_s *);
- mvVarargs(args + 1, varargs);
-}
-
-DEFINE_CLASS(Pool, MVPool, klass)
-{
- INHERIT_CLASS(klass, MVPool, MVFFPool);
- klass->init = mvInit;
- klass->varargs = mvVarargs;
- AVERT(PoolClass, klass);
-}
-
-DEFINE_CLASS(Pool, MVDebugPool, klass)
-{
- INHERIT_CLASS(klass, MVDebugPool, MVPool);
- PoolClassMixInDebug(klass);
- klass->size = sizeof(MVFFDebugStruct);
- klass->varargs = mvDebugVarargs;
- klass->debugMixin = MVFFDebugMixin;
- AVERT(PoolClass, klass);
-}
-
-mps_pool_class_t mps_class_mv(void)
-{
- return CLASS(MVPool);
-}
-
-mps_pool_class_t mps_class_mv_debug(void)
-{
- return CLASS(MVDebugPool);
-}
-
-
/* C. COPYRIGHT AND LICENSE
*
* Copyright (C) 2001-2016 Ravenbrook Limited .
diff --git a/mps/manual/source/release.rst b/mps/manual/source/release.rst
index b71aec40683..50c3b19046c 100644
--- a/mps/manual/source/release.rst
+++ b/mps/manual/source/release.rst
@@ -4,6 +4,21 @@ Release notes
=============
+.. _release-notes-1.118:
+
+Release 1.118.0
+---------------
+
+Interface changes
+.................
+
+#. The deprecated pool class MV (Manual Variable), and the deprecated
+ functions ``mps_mv_free_size`` and ``mps_mv_size`` have been
+ removed. Use :ref:`pool-mvff` and the generic functions
+ :c:func:`mps_pool_free_size` and :c:func:`mps_pool_total_size`
+ instead.
+
+
.. _release-notes-1.117:
Release 1.117.0
@@ -223,7 +238,7 @@ Interface changes
name :c:type:`mps_class_t` is still available via a ``typedef``,
but is deprecated.
-#. The functions :c:func:`mps_mv_free_size`, :c:func:`mps_mv_size`,
+#. The functions ``mps_mv_free_size``, ``mps_mv_size``,
:c:func:`mps_mvff_free_size`, :c:func:`mps_mvff_size`,
:c:func:`mps_mvt_free_size` and :c:func:`mps_mvt_size` are now
deprecated in favour of the generic functions
diff --git a/mps/manual/source/topic/deprecated.rst b/mps/manual/source/topic/deprecated.rst
index 5709f6802d8..67c92026021 100644
--- a/mps/manual/source/topic/deprecated.rst
+++ b/mps/manual/source/topic/deprecated.rst
@@ -7,10 +7,10 @@ Deprecated interfaces
=====================
This chapter documents the public symbols in the MPS interface that
-are now deprecated. These symbols may be removed in any future release
-(see :ref:`topic-interface-support` for details). If you are using one
-of these symbols, then you should update your code to use the
-supported interface.
+are currently deprecated. These symbols may be removed in any future
+release (see :ref:`topic-interface-support` for details). If you are
+using one of these symbols, then you should update your code to use
+the supported interface.
.. note::
@@ -19,77 +19,6 @@ supported interface.
makes a difference if we know that someone is using a feature.
-
-
-.. index::
- single: deprecated interfaces; in version 1.117
-
-Deprecated in version 1.117
-...........................
-
-.. c:function:: mps_pool_class_t mps_class_mv(void)
-
- .. deprecated::
-
- Use :c:func:`mps_class_mvff` instead.
-
- Return the :term:`pool class` for an MV (Manual Variable)
- :term:`pool`.
-
- When creating an MV pool, :c:func:`mps_pool_create_k` takes four
- optional :term:`keyword arguments`:
-
- * :c:macro:`MPS_KEY_ALIGN` (type :c:type:`mps_align_t`, default is
- :c:macro:`MPS_PF_ALIGN`) is the :term:`alignment` of the
- addresses allocated (and freed) in the pool. The minimum
- alignment supported by pools of this class is 1 (one)
- and the maximum is the arena grain size
- (see :c:macro:`MPS_KEY_ARENA_GRAIN_SIZE`).
-
- * :c:macro:`MPS_KEY_EXTEND_BY` (type :c:type:`size_t`,
- default 65536) is the :term:`size` of block that the pool will
- request from the :term:`arena`.
-
- * :c:macro:`MPS_KEY_MEAN_SIZE` (type :c:type:`size_t`, default 32)
- is the predicted mean size of blocks that will be allocated from
- the pool. This value must be smaller than, or equal to, the
- value for :c:macro:`MPS_KEY_EXTEND_BY`.
-
- * :c:macro:`MPS_KEY_MAX_SIZE` (type :c:type:`size_t`,
- default 65536) is the predicted maximum size of blocks that will
- be allocated from the pool. This value must be larger than, or
- equal to, the value for :c:macro:`MPS_KEY_EXTEND_BY`.
-
- The mean and maximum sizes are *hints* to the MPS: the pool will be
- less efficient if these are wrong, but nothing will break.
-
- For example::
-
- MPS_ARGS_BEGIN(args) {
- MPS_ARGS_ADD(args, MPS_KEY_MEAN_SIZE, 32);
- MPS_ARGS_ADD(args, MPS_KEY_MAX_SIZE, 1024);
- MPS_ARGS_ADD(args, MPS_KEY_EXTEND_BY, 1024 * 1024);
- res = mps_pool_create_k(&pool, arena, mps_class_mfs(), args);
- } MPS_ARGS_END(args);
-
-
-.. c:function:: mps_pool_class_t mps_class_mv_debug(void)
-
- .. deprecated::
-
- Use :c:func:`mps_class_mvff_debug` instead.
-
- A :ref:`debugging ` version of the MV pool
- class.
-
- When creating a debugging MV pool, :c:func:`mps_pool_create_k`
- takes five optional keyword arguments: :c:macro:`MPS_KEY_ALIGN`,
- :c:macro:`MPS_KEY_EXTEND_SIZE`, :c:macro:`MPS_KEY_MEAN_SIZE`,
- :c:macro:`MPS_KEY_MAX_SIZE` are as described above, and
- :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS` specifies the debugging
- options. See :c:type:`mps_pool_debug_option_s`.
-
-
.. index::
single: deprecated interfaces; in version 1.115
@@ -113,34 +42,6 @@ Deprecated in version 1.115
pools were the only objects in the MPS that belonged to
classes.
-
-.. c:function:: size_t mps_mv_free_size(mps_pool_t pool)
-
- .. deprecated::
-
- Use the generic function :c:func:`mps_pool_free_size` instead.
-
- Return the total amount of free space in an MV pool.
-
- ``pool`` is the MV pool.
-
- Returns the total free space in the pool, in :term:`bytes (1)`.
-
-
-.. c:function:: size_t mps_mv_size(mps_pool_t pool)
-
- .. deprecated::
-
- Use the generic function :c:func:`mps_pool_total_size`
- instead.
-
- Return the total size of an MV pool.
-
- ``pool`` is the MV pool.
-
- Returns the total size of the pool, in :term:`bytes (1)`. This
- is the sum of allocated space and free space.
-
.. c:function:: size_t mps_mvff_free_size(mps_pool_t pool)
@@ -591,30 +492,6 @@ Deprecated in version 1.112
size_t extend_by,
size_t unit_size)
- When creating a pool of class :c:func:`mps_class_mv`, pass the
- values for the keyword arguments :c:macro:`MPS_KEY_EXTEND_BY`,
- :c:macro:`MPS_KEY_MEAN_SIZE`, and :c:macro:`MPS_KEY_MAX_SIZE` like
- this::
-
- mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
- mps_pool_class_t mps_class_mv(),
- size_t extend_by,
- size_t mean_size,
- size_t max_size)
-
- When creating a pool of class :c:func:`mps_class_mv_debug`, pass
- the values for the keyword arguments
- :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS`,
- :c:macro:`MPS_KEY_EXTEND_BY`, :c:macro:`MPS_KEY_MEAN_SIZE` and
- :c:macro:`MPS_KEY_MAX_SIZE` like this::
-
- mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
- mps_pool_class_t mps_class_mv_debug(),
- mps_pool_debug_option_s *pool_debug_options,
- size_t extend_by,
- size_t mean_size,
- size_t max_size)
-
When creating a pool of class :c:func:`mps_class_mvff`, pass the
values for the keyword arguments :c:macro:`MPS_KEY_EXTEND_BY`,
:c:macro:`MPS_KEY_MEAN_SIZE`, :c:macro:`MPS_KEY_ALIGN`,