diff --git a/mps/manual/build.txt b/mps/manual/build.txt index 7b8e17c51b9..b462f013ea9 100644 --- a/mps/manual/build.txt +++ b/mps/manual/build.txt @@ -137,6 +137,8 @@ Platform OS Architecture Compiler Makefile ========== ========= ============= ============ ================= ``fri3gc`` FreeBSD IA-32 GCC ``fri3gc.gmk`` ``fri6gc`` FreeBSD x86_64 GCC ``fri6gc.gmk`` +``fri3ll`` FreeBSD IA-32 Clang ``fri3ll.gmk`` +``fri6ll`` FreeBSD x86_64 Clang ``fri6ll.gmk`` ``lii3gc`` Linux IA-32 GCC ``lii3gc.gmk`` ``lii6gc`` Linux x86_64 GCC ``lii6gc.gmk`` ``lii6ll`` Linux x86_64 Clang ``lii6ll.gmk`` @@ -175,9 +177,9 @@ To build a restricted set of targets for just one variety, run:: make -f 'VARIETY=' For example, to build just the "cool" variety of the ``amcss`` test on -FreeBSD:: +64-bit Linux with Clang:: - gmake -f fri3gc.gmk VARIETY=cool amcss + gmake -f lii6ll.gmk VARIETY=cool amcss On Windows platforms you need to run the "Visual Studio Command Prompt" from the Start menu. Then run one of these commands:: @@ -199,7 +201,7 @@ On Mac OS X, you can build from the command line with:: xcodebuild On most platforms, the output of the build goes to a directory named -after the platform (e.g. ``fri3gc``) so that you can share the source +after the platform (e.g. ``lii6ll``) so that you can share the source tree across platforms. On Mac OS X the output goes in a directory called ``xc``. Building generates ``mps.a`` or ``mps.lib`` or equivalent, a library of object code which you can link with your diff --git a/mps/manual/source/release.rst b/mps/manual/source/release.rst index f95aaba331e..21e426f13cc 100644 --- a/mps/manual/source/release.rst +++ b/mps/manual/source/release.rst @@ -12,6 +12,9 @@ Release 1.115.0 New features ............ +#. New supported platforms ``fri3ll`` (FreeBSD, IA-32, Clang/LLVM) + and ``fri6ll`` (FreeBSD, x86-64, Clang/LLVM). + #. When creating an :ref:`pool-amc` pool, :c:func:`mps_pool_create_k` accepts the new keyword argument :c:macro:`MPS_KEY_EXTEND_BY`, specifying the minimum size of the memory segments that the pool @@ -105,6 +108,26 @@ Other changes .. _job003866: https://www.ravenbrook.com/project/mps/issue/job003866/ +#. The MPS can now make use of :term:`spare committed memory` even if + it is :term:`mapped` at an unhelpful address, by unmapping it and + remapping at a better address. See job003898_. + + .. _job003898: https://www.ravenbrook.com/project/mps/issue/job003898/ + +#. :c:func:`mps_arena_step` now always considers starting a new + :term:`garbage collection` if the remaining idle time is long + enough to complete it. (Previously, if there was already a + collection in progress when :c:func:`mps_arena_step` was called, it + would finish the collection but not consider starting a new one.) + See job003934_. + + .. _job003934: https://www.ravenbrook.com/project/mps/issue/job003934/ + +#. The MPS no longer carries out :term:`garbage collections` when there + is no collection work to be done. See job003938_. + + .. _job003938: https://www.ravenbrook.com/project/mps/issue/job003938/ + .. _release-notes-1.114: diff --git a/mps/manual/source/topic/platform.rst b/mps/manual/source/topic/platform.rst index e74aa34cde2..15873d27af4 100644 --- a/mps/manual/source/topic/platform.rst +++ b/mps/manual/source/topic/platform.rst @@ -149,6 +149,20 @@ Platform interface x86-64 processor architecture, and the GCC compiler. +.. c:macro:: MPS_PF_FRI3GC + + A :term:`C` preprocessor macro that indicates, if defined, that + the :term:`platform` consists of the FreeBSD operating system, the + IA-32 processor architecture, and the Clang/LLVM compiler. + + +.. c:macro:: MPS_PF_FRI6GC + + A :term:`C` preprocessor macro that indicates, if defined, that + the :term:`platform` consists of the FreeBSD operating system, the + x86-64 processor architecture, and the Clang/LLVM compiler. + + .. c:macro:: MPS_PF_LII3GC A :term:`C` preprocessor macro that indicates, if defined, that @@ -328,8 +342,10 @@ the Memory Pool System, with their current status. Platform Status ========== ======================= ``fri3gc`` Supported +``fri3ll`` Supported ``fri4gc`` Corrected to ``fri3gc`` ``fri6gc`` Supported +``fri6ll`` Supported ``i5m2cc`` *Not supported* ``iam4cc`` *Not supported* ``lii3eg`` *Not supported*