diff --git a/mps/code/comm.gmk b/mps/code/comm.gmk index 63facd0b6e5..11b54b902ab 100644 --- a/mps/code/comm.gmk +++ b/mps/code/comm.gmk @@ -239,7 +239,7 @@ TESTCASES=abqtest amcss amcsshe amcssth amsss amssshe apss arenacv awlut \ messtest mpmss mpsicv poolncv qs sacss segsmss steptest \ walkt0 testrun: $(TESTCASES) - OUTPUT=$$(mktemp /tmp/mps-XXXXXX.log); \ + OUTPUT=$$(mktemp /tmp/mps.log.XXXXXX); \ echo "Logging test output to $$OUTPUT"; \ $(^:%=(TESTCASE=$(PFM)/$(VARIETY)/%; \ echo "\n\n-- Running $$TESTCASE at $$(date) --" >> $$OUTPUT && \ diff --git a/mps/code/lockutw3.c b/mps/code/lockutw3.c index b135f0e1d43..51a1206a37d 100644 --- a/mps/code/lockutw3.c +++ b/mps/code/lockutw3.c @@ -74,6 +74,7 @@ int main(int argc, char *argv[]) Insist(lock != NULL); LockInit(lock); + UNUSED(argc); shared = 0; diff --git a/mps/code/qs.c b/mps/code/qs.c index 2adc49ec4b9..2bf41c4c8f4 100644 --- a/mps/code/qs.c +++ b/mps/code/qs.c @@ -187,6 +187,7 @@ static void makerndlist(unsigned l) { unsigned i; mps_word_t r; + mps_addr_t addr; cdie(l > 0, "list len"); if(list != NULL) { @@ -194,8 +195,10 @@ static void makerndlist(unsigned l) list = NULL; } listl = l; - die(mps_alloc((mps_addr_t *)&list, mpool, (l * sizeof(mps_word_t))), + addr = list; + die(mps_alloc(&addr, mpool, (l * sizeof(mps_word_t))), "Alloc List"); + list = addr; reg[0] = (mps_addr_t)0; regtag[0] = QSRef; for(i = 0; i < l; ++i) { @@ -330,6 +333,8 @@ static void *go(void *p, size_t s) { mps_fmt_t format; mps_chain_t chain; + mps_addr_t base; + mps_addr_t *addr; testlib_unused(p); testlib_unused(s); @@ -350,8 +355,11 @@ static void *go(void *p, size_t s) reg, NREGS), "RootCreateTable"); + + base = &activationStack; + addr = base; die(mps_root_create_table(&actroot, arena, mps_rank_ambig(), 0, - (mps_addr_t *)&activationStack, sizeof(QSCell)/sizeof(mps_addr_t)), + addr, sizeof(QSCell)/sizeof(mps_addr_t)), "RootCreateTable"); /* makes a random list */ @@ -396,6 +404,7 @@ static mps_res_t scan1(mps_ss_t ss, mps_addr_t *objectIO) { QSCell cell; mps_res_t res; + mps_addr_t addr; cdie(objectIO != NULL, "objectIO"); @@ -404,20 +413,24 @@ static mps_res_t scan1(mps_ss_t ss, mps_addr_t *objectIO) switch(cell->tag) { case QSRef: - if(!MPS_FIX1(ss, (mps_addr_t)cell->value)) + addr = cell->value; + if(!MPS_FIX1(ss, addr)) goto fixTail; - res = MPS_FIX2(ss, (mps_addr_t *)&cell->value); + res = MPS_FIX2(ss, &addr); if(res != MPS_RES_OK) return res; + cell->value = addr; /* fall */ case QSInt: fixTail: - if(!MPS_FIX1(ss, (mps_addr_t)cell->tail)) + addr = cell->tail; + if(!MPS_FIX1(ss, addr)) break; - res = MPS_FIX2(ss, (mps_addr_t *)&cell->tail); + res = MPS_FIX2(ss, &addr); if(res != MPS_RES_OK) return res; + cell->tail = addr; break; case QSEvac: diff --git a/mps/code/version.c b/mps/code/version.c index 03e7b78334e..0a9afed3476 100644 --- a/mps/code/version.c +++ b/mps/code/version.c @@ -29,7 +29,7 @@ SRCID(version, "$Id$"); * (Note: before 2006-02-01 the style was "release.epcore.chub") */ -#define MPS_RELEASE "release/1.110.0" +#define MPS_RELEASE "release/1.111.0" /* MPSCopyrightNotice -- copyright notice for the binary diff --git a/mps/configure b/mps/configure index 37bc1f842af..50885dcc35a 100755 --- a/mps/configure +++ b/mps/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Memory Pool System Kit master. +# Generated by GNU Autoconf 2.69 for Memory Pool System Kit release 1.111.0. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Memory Pool System Kit' PACKAGE_TARNAME='mps-kit' -PACKAGE_VERSION='master' -PACKAGE_STRING='Memory Pool System Kit master' +PACKAGE_VERSION='release 1.111.0' +PACKAGE_STRING='Memory Pool System Kit release 1.111.0' PACKAGE_BUGREPORT='mps-questions@ravenbrook.com' PACKAGE_URL='http://www.ravenbrook.com/project/mps/' @@ -1243,7 +1243,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Memory Pool System Kit master to adapt to many kinds of systems. +\`configure' configures Memory Pool System Kit release 1.111.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1308,7 +1308,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Memory Pool System Kit master:";; + short | recursive ) echo "Configuration of Memory Pool System Kit release 1.111.0:";; esac cat <<\_ACEOF @@ -1389,7 +1389,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Memory Pool System Kit configure master +Memory Pool System Kit configure release 1.111.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1645,7 +1645,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Memory Pool System Kit $as_me master, which was +It was created by Memory Pool System Kit $as_me release 1.111.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3445,7 +3445,7 @@ $as_echo "FreeBSD x86" >&6; } MPS_TARGET_NAME=fri3gc CFLAGS="$CFLAGS_GC" ;; - amd64-*-freebsd*) + amd64-*-freebsd* | x86_64-*-freebsd*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: FreeBSD x86_64" >&5 $as_echo "FreeBSD x86_64" >&6; } MPS_TARGET_NAME=fri6gc @@ -4056,7 +4056,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Memory Pool System Kit $as_me master, which was +This file was extended by Memory Pool System Kit $as_me release 1.111.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4110,7 +4110,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Memory Pool System Kit config.status master +Memory Pool System Kit config.status release 1.111.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/mps/configure.ac b/mps/configure.ac index a502abe9232..e3d65aa7fa0 100644 --- a/mps/configure.ac +++ b/mps/configure.ac @@ -80,7 +80,7 @@ case $host in MPS_TARGET_NAME=fri3gc CFLAGS="$CFLAGS_GC" ;; - amd64-*-freebsd*) + amd64-*-freebsd* | x86_64-*-freebsd*) AC_MSG_RESULT([FreeBSD x86_64]) MPS_TARGET_NAME=fri6gc CFLAGS="$CFLAGS_GC" diff --git a/mps/manual/html/.buildinfo b/mps/manual/html/.buildinfo index e0982ba10ec..2e4393a4fab 100644 --- a/mps/manual/html/.buildinfo +++ b/mps/manual/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 15abd0d7c7012e2eb4c4f6d2f13b20c1 +config: d3743f9f2ce023be0bf3d68c5b4c138a tags: fbb0d17656682115ca4d033fb2f83ba1 diff --git a/mps/manual/html/_sources/guide/advanced.txt b/mps/manual/html/_sources/guide/advanced.txt index d6fd1ba163b..f65de503e9e 100644 --- a/mps/manual/html/_sources/guide/advanced.txt +++ b/mps/manual/html/_sources/guide/advanced.txt @@ -364,7 +364,7 @@ actually test that ``key`` appears in the table, not just that some key with the same hash does.) When a table is rehashed, call :c:func:`mps_ld_reset` to clear the -location dependency, and the :c:func:`mps_ld_add` for each key before it is added back to the table. +location dependency, and then :c:func:`mps_ld_add` for each key before it is added back to the table. .. note:: diff --git a/mps/manual/html/_static/pygments.css b/mps/manual/html/_static/pygments.css index 1a14f2ae1ab..d79caa151c2 100644 --- a/mps/manual/html/_static/pygments.css +++ b/mps/manual/html/_static/pygments.css @@ -13,11 +13,11 @@ .highlight .gr { color: #FF0000 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #303030 } /* Generic.Output */ +.highlight .go { color: #333333 } /* Generic.Output */ .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0040D0 } /* Generic.Traceback */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ diff --git a/mps/manual/html/contact.html b/mps/manual/html/contact.html index 089e7c56bec..91a7007fbfe 100644 --- a/mps/manual/html/contact.html +++ b/mps/manual/html/contact.html @@ -8,7 +8,7 @@ - Contact us — Memory Pool System 1.110.0 documentation + Contact us — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -39,7 +39,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -83,7 +83,7 @@ Ravenbrook’s web site.

    title="previous chapter">Memory Pool System Kit Open Source License

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -91,7 +91,7 @@ Ravenbrook’s web site.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -108,7 +108,7 @@ Ravenbrook’s web site.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -146,7 +146,7 @@ Open Dylan source code. title="next chapter">Contact us

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -154,7 +154,7 @@ Open Dylan source code.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -174,7 +174,7 @@ Open Dylan source code.
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -286,7 +286,7 @@ design.mps.arena.tract-iter(0).

    .tract.if.tractofaddr: The function TractOfAddr() finds the tract corresponding to an address in memory. (See .req.fun.trans):

    -
    Bool TractOfAddr(Tract *tractReturn, Arena arena, Addr addr);
    +
    Bool TractOfAddr(Tract *tractReturn, Arena arena, Addr addr);
     

    If addr is an address which has been allocated to some pool, then @@ -552,7 +552,7 @@ next root.

    title="next chapter">2. Bit tables

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -560,7 +560,7 @@ next root.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -580,7 +580,7 @@ next root.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/bt.html b/mps/manual/html/design/bt.html index efa625026a0..ff5dd9c4d3f 100644 --- a/mps/manual/html/design/bt.html +++ b/mps/manual/html/design/bt.html @@ -8,7 +8,7 @@ - 2. Bit tables — Memory Pool System 1.110.0 documentation + 2. Bit tables — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -426,7 +426,7 @@ equals BTGet(BTy,i) f

    .if.find.general: There are four functions (below) to find reset ranges. All the functions have the same prototype (for symmetry):

    -
    Bool find(Index *baseReturn, Index *limitReturn,
    +
    Bool find(Index *baseReturn, Index *limitReturn,
               BT bt,
               Index searchBase, Index searchLimit,
               Count length);
    @@ -804,7 +804,7 @@ TEST1 and TEST2.

    title="next chapter">3. Coalescing block structure

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -812,7 +812,7 @@ TEST1 and TEST2.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -832,7 +832,7 @@ TEST1 and TEST2.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/cbs.html b/mps/manual/html/design/cbs.html index 9c8a10dc33f..52237bcb45d 100644 --- a/mps/manual/html/design/cbs.html +++ b/mps/manual/html/design/cbs.html @@ -8,7 +8,7 @@ - 3. Coalescing block structure — Memory Pool System 1.110.0 documentation + 3. Coalescing block structure — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -737,7 +737,7 @@ supports the following methods (for sub-module internal use):

    title="next chapter">4. Checking

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -745,7 +745,7 @@ supports the following methods (for sub-module internal use):

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -765,7 +765,7 @@ supports the following methods (for sub-module internal use):

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/check.html b/mps/manual/html/design/check.html index 395038f872d..9ea73212301 100644 --- a/mps/manual/html/design/check.html +++ b/mps/manual/html/design/check.html @@ -8,7 +8,7 @@ - 4. Checking — Memory Pool System 1.110.0 documentation + 4. Checking — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -164,7 +164,7 @@ type (.full-typ title="next chapter">5. Pool class interface

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -172,7 +172,7 @@ type (.full-typ

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -192,7 +192,7 @@ type (.full-typ
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/class-interface.html b/mps/manual/html/design/class-interface.html index d71a9e72da0..cdf4b6b1f7b 100644 --- a/mps/manual/html/design/class-interface.html +++ b/mps/manual/html/design/class-interface.html @@ -8,7 +8,7 @@ - 5. Pool class interface — Memory Pool System 1.110.0 documentation + 5. Pool class interface — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -284,7 +284,7 @@ unaligned size to be passed.

    title="next chapter">6. Collection framework

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -292,7 +292,7 @@ unaligned size to be passed.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -312,7 +312,7 @@ unaligned size to be passed.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/collection.html b/mps/manual/html/design/collection.html index 51109c85d49..1f3ed19c22e 100644 --- a/mps/manual/html/design/collection.html +++ b/mps/manual/html/design/collection.html @@ -8,7 +8,7 @@ - 6. Collection framework — Memory Pool System 1.110.0 documentation + 6. Collection framework — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -370,7 +370,7 @@ for all the traces that it had a barrier for, see .combine.@@@@< title="next chapter">7. Configuration

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -378,7 +378,7 @@ for all the traces that it had a barrier for, see .combine.@@@@<

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -398,7 +398,7 @@ for all the traces that it had a barrier for, see .combine.@@@@<
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/config.html b/mps/manual/html/design/config.html index 38be3b6d2f3..9572bf4ac71 100644 --- a/mps/manual/html/design/config.html +++ b/mps/manual/html/design/config.html @@ -8,7 +8,7 @@ - 7. Configuration — Memory Pool System 1.110.0 documentation + 7. Configuration — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -416,19 +416,19 @@ parameter. However, the concrete interface may vary.

    For example, this isn’t allowed, because there is a change in the interface:

    #if defined(PROT_FOO)
    -void ProtSpong(Foo foo, Bar bar);
    +void ProtSpong(Foo foo, Bar bar);
     #else
    -int ProtSpong(Bar bar, Foo foo);
    +int ProtSpong(Bar bar, Foo foo);
     #endif
     

    This example is allowed:

    #ifdef PROTECTION
    -void ProtSync(Space space);
    -/* more decls. */
    +void ProtSync(Space space);
    +/* more decls. */
     #else /* PROTECTION not */
     #define ProtSync(space) NOOP
    -/* more decls. */
    +/* more decls. */
     #endif /* PROTECTION */
     
    @@ -528,7 +528,7 @@ placed in a separate, common module.

    title="next chapter">8. Finalization

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -536,7 +536,7 @@ placed in a separate, common module.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -556,7 +556,7 @@ placed in a separate, common module.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/finalize.html b/mps/manual/html/design/finalize.html index 5c688eaeeb9..019c0f9f091 100644 --- a/mps/manual/html/design/finalize.html +++ b/mps/manual/html/design/finalize.html @@ -8,7 +8,7 @@ - 8. Finalization — Memory Pool System 1.110.0 documentation + 8. Finalization — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -199,7 +199,7 @@ in the absence of a write-barrier, it’s functionally identical to title="next chapter">9. The generic fix function

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -207,7 +207,7 @@ in the absence of a write-barrier, it’s functionally identical to

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -227,7 +227,7 @@ in the absence of a write-barrier, it’s functionally identical to
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/fix.html b/mps/manual/html/design/fix.html index 9cd6b3217e1..746986e2712 100644 --- a/mps/manual/html/design/fix.html +++ b/mps/manual/html/design/fix.html @@ -8,7 +8,7 @@ - 9. The generic fix function — Memory Pool System 1.110.0 documentation + 9. The generic fix function — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -126,7 +126,7 @@ is nailed); the Ra title="next chapter">14. The lock module

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -134,7 +134,7 @@ is nailed); the Ra

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -154,7 +154,7 @@ is nailed); the Ra
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/index.html b/mps/manual/html/design/index.html index 80876307669..a7404a02a4d 100644 --- a/mps/manual/html/design/index.html +++ b/mps/manual/html/design/index.html @@ -8,7 +8,7 @@ - Design — Memory Pool System 1.110.0 documentation + Design — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -310,7 +310,7 @@ date, they will be moved to the 1. Arena

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -318,7 +318,7 @@ date, they will be moved to the Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -338,7 +338,7 @@ date, they will be moved to the previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -275,7 +275,7 @@ success or EDEADLK (indicating a recursive claim); title="next chapter">15. Debugging features for client objects

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -283,7 +283,7 @@ success or EDEADLK (indicating a recursive claim);

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -303,7 +303,7 @@ success or EDEADLK (indicating a recursive claim);
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/object-debug.html b/mps/manual/html/design/object-debug.html index 9ebaa8f8476..6bfc73fadcf 100644 --- a/mps/manual/html/design/object-debug.html +++ b/mps/manual/html/design/object-debug.html @@ -8,7 +8,7 @@ - 15. Debugging features for client objects — Memory Pool System 1.110.0 documentation + 15. Debugging features for client objects — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -447,7 +447,7 @@ created.

    title="next chapter">16. Protocol inheritance

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -455,7 +455,7 @@ created.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -475,7 +475,7 @@ created.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/protocol.html b/mps/manual/html/design/protocol.html index 81e562d8769..16af3c1edfe 100644 --- a/mps/manual/html/design/protocol.html +++ b/mps/manual/html/design/protocol.html @@ -8,7 +8,7 @@ - 16. Protocol inheritance — Memory Pool System 1.110.0 documentation + 16. Protocol inheritance — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -547,7 +547,7 @@ design.mps.lock(0).

    title="next chapter">17. General MPS types

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -555,7 +555,7 @@ design.mps.lock(0).

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -575,7 +575,7 @@ design.mps.lock(0).

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/type.html b/mps/manual/html/design/type.html index 7c0fa1d2eb3..981565bb1c2 100644 --- a/mps/manual/html/design/type.html +++ b/mps/manual/html/design/type.html @@ -8,7 +8,7 @@ - 17. General MPS types — Memory Pool System 1.110.0 documentation + 17. General MPS types — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -656,7 +656,7 @@ exists to sanctify functions such as title="next chapter">18. Software versions

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -664,7 +664,7 @@ exists to sanctify functions such as

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -684,7 +684,7 @@ exists to sanctify functions such as
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/version-library.html b/mps/manual/html/design/version-library.html index a2a774af80f..f23ca12200e 100644 --- a/mps/manual/html/design/version-library.html +++ b/mps/manual/html/design/version-library.html @@ -8,7 +8,7 @@ - 19. Library version mechanism — Memory Pool System 1.110.0 documentation + 19. Library version mechanism — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -177,7 +177,7 @@ changed back immediately after the release checkpoint is made.

    title="next chapter">Introduction to memory management

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -185,7 +185,7 @@ changed back immediately after the release checkpoint is made.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -205,7 +205,7 @@ changed back immediately after the release checkpoint is made.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/design/version.html b/mps/manual/html/design/version.html index b9c39a6bd96..03ac7f1587d 100644 --- a/mps/manual/html/design/version.html +++ b/mps/manual/html/design/version.html @@ -8,7 +8,7 @@ - 18. Software versions — Memory Pool System 1.110.0 documentation + 18. Software versions — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • @@ -115,7 +115,7 @@ non-existent documents for the others.

    title="next chapter">19. Library version mechanism

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -123,7 +123,7 @@ non-existent documents for the others.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -143,7 +143,7 @@ non-existent documents for the others.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Design »
  • diff --git a/mps/manual/html/genindex.html b/mps/manual/html/genindex.html index a4a681e70fe..ef065ed48de 100644 --- a/mps/manual/html/genindex.html +++ b/mps/manual/html/genindex.html @@ -10,7 +10,7 @@ - Index — Memory Pool System 1.110.0 documentation + Index — Memory Pool System 1.111.0 documentation @@ -18,7 +18,7 @@ - + @@ -1571,7 +1571,7 @@ -
    fencepost, [1] +
    fencepost, [1]
    @@ -3049,11 +3049,11 @@ -
    mps_definalize (C function), [1] +
    mps_definalize (C function), [1]
    -
    mps_finalize (C function), [1] +
    mps_finalize (C function), [1]
    @@ -3267,7 +3267,7 @@ -
    mps_message_finalization_ref (C function), [1] +
    mps_message_finalization_ref (C function), [1]
    @@ -3982,7 +3982,7 @@ -
    padding method, [1] +
    padding method, [1]
    @@ -4030,7 +4030,7 @@ -
    parked state, [1] +
    parked state, [1]
    @@ -5700,7 +5700,7 @@

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -5708,7 +5708,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -5722,7 +5722,7 @@
  • index
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -593,7 +593,7 @@ it returns.

    title="next chapter">Memory Management Glossary: B

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -601,7 +601,7 @@ it returns.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -621,7 +621,7 @@ it returns.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/b.html b/mps/manual/html/glossary/b.html index eaa2ebc1b9b..d0a63df444c 100644 --- a/mps/manual/html/glossary/b.html +++ b/mps/manual/html/glossary/b.html @@ -8,7 +8,7 @@ - Memory Management Glossary: B — Memory Pool System 1.110.0 documentation + Memory Management Glossary: B — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -533,7 +533,7 @@ and Memory Management Glossary: C

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -541,7 +541,7 @@ and Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -561,7 +561,7 @@ and previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/c.html b/mps/manual/html/glossary/c.html index 2c8432eb24c..a264da7974a 100644 --- a/mps/manual/html/glossary/c.html +++ b/mps/manual/html/glossary/c.html @@ -8,7 +8,7 @@ - Memory Management Glossary: C — Memory Pool System 1.110.0 documentation + Memory Management Glossary: C — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -743,7 +743,7 @@ reached by following references from itself. title="next chapter">Memory Management Glossary: D

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -751,7 +751,7 @@ reached by following references from itself.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -771,7 +771,7 @@ reached by following references from itself.
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/d.html b/mps/manual/html/glossary/d.html index 55aa697cf46..76866c15039 100644 --- a/mps/manual/html/glossary/d.html +++ b/mps/manual/html/glossary/d.html @@ -8,7 +8,7 @@ - Memory Management Glossary: D — Memory Pool System 1.110.0 documentation + Memory Management Glossary: D — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -420,7 +420,7 @@ PCs. Dynamic memory often comes packaged in SIMMs or DIMMs.

    title="next chapter">Memory Management Glossary: E

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -428,7 +428,7 @@ PCs. Dynamic memory often comes packaged in SIMMs or DIMMs.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -448,7 +448,7 @@ PCs. Dynamic memory often comes packaged in SIMMs or DIMMs.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/e.html b/mps/manual/html/glossary/e.html index 20d186429cd..abe443b106d 100644 --- a/mps/manual/html/glossary/e.html +++ b/mps/manual/html/glossary/e.html @@ -8,7 +8,7 @@ - Memory Management Glossary: E — Memory Pool System 1.110.0 documentation + Memory Management Glossary: E — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -275,7 +275,7 @@ no large blocks can be Memory Management Glossary: F

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -283,7 +283,7 @@ no large blocks can be Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -303,7 +303,7 @@ no large blocks can be previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/f.html b/mps/manual/html/glossary/f.html index caee285ca93..bd64773e975 100644 --- a/mps/manual/html/glossary/f.html +++ b/mps/manual/html/glossary/f.html @@ -8,7 +8,7 @@ - Memory Management Glossary: F — Memory Pool System 1.110.0 documentation + Memory Management Glossary: F — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -539,7 +539,7 @@ same).

    title="next chapter">Memory Management Glossary: G

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -547,7 +547,7 @@ same).

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -567,7 +567,7 @@ same).

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/g.html b/mps/manual/html/glossary/g.html index e44537fa89b..b92b17f3d5b 100644 --- a/mps/manual/html/glossary/g.html +++ b/mps/manual/html/glossary/g.html @@ -8,7 +8,7 @@ - Memory Management Glossary: G — Memory Pool System 1.110.0 documentation + Memory Management Glossary: G — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -393,7 +393,7 @@ cheap.

    title="next chapter">Memory Management Glossary: H

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -401,7 +401,7 @@ cheap.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -421,7 +421,7 @@ cheap.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/h.html b/mps/manual/html/glossary/h.html index 05401b7ba25..34f5cc43413 100644 --- a/mps/manual/html/glossary/h.html +++ b/mps/manual/html/glossary/h.html @@ -8,7 +8,7 @@ - Memory Management Glossary: H — Memory Pool System 1.110.0 documentation + Memory Management Glossary: H — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -211,7 +211,7 @@ of the Memory Management Glossary: I

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -219,7 +219,7 @@ of the Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -239,7 +239,7 @@ of the previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/i.html b/mps/manual/html/glossary/i.html index 3d7d3ee7a79..4c8e002879d 100644 --- a/mps/manual/html/glossary/i.html +++ b/mps/manual/html/glossary/i.html @@ -8,7 +8,7 @@ - Memory Management Glossary: I — Memory Pool System 1.110.0 documentation + Memory Management Glossary: I — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -472,7 +472,7 @@ moved to. See Memory Management Glossary: K

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -480,7 +480,7 @@ moved to. See Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -500,7 +500,7 @@ moved to. See previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/index.html b/mps/manual/html/glossary/index.html index 737447de6d2..df7674c0992 100644 --- a/mps/manual/html/glossary/index.html +++ b/mps/manual/html/glossary/index.html @@ -8,7 +8,7 @@ - Memory Management Glossary — Memory Pool System 1.110.0 documentation + Memory Management Glossary — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -126,7 +126,7 @@ title="next chapter">Memory Management Glossary: A

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -134,7 +134,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -154,7 +154,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -120,7 +120,7 @@ people unfamiliar with the metric system.

    title="next chapter">Memory Management Glossary: L

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -128,7 +128,7 @@ people unfamiliar with the metric system.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -148,7 +148,7 @@ people unfamiliar with the metric system.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/l.html b/mps/manual/html/glossary/l.html index 1d27d3e2bc5..03e9db732ec 100644 --- a/mps/manual/html/glossary/l.html +++ b/mps/manual/html/glossary/l.html @@ -8,7 +8,7 @@ - Memory Management Glossary: L — Memory Pool System 1.110.0 documentation + Memory Management Glossary: L — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -362,7 +362,7 @@ locks. title="next chapter">Memory Management Glossary: M

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -370,7 +370,7 @@ locks.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -390,7 +390,7 @@ locks.
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/m.html b/mps/manual/html/glossary/m.html index 3d3e8fe4bca..08ca55dd4f1 100644 --- a/mps/manual/html/glossary/m.html +++ b/mps/manual/html/glossary/m.html @@ -8,7 +8,7 @@ - Memory Management Glossary: M — Memory Pool System 1.110.0 documentation + Memory Management Glossary: M — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -702,7 +702,7 @@ to refer to the mutator.

    title="next chapter">Memory Management Glossary: N

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -710,7 +710,7 @@ to refer to the mutator.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -730,7 +730,7 @@ to refer to the mutator.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/n.html b/mps/manual/html/glossary/n.html index 6eaa874b1a7..6af00a0065e 100644 --- a/mps/manual/html/glossary/n.html +++ b/mps/manual/html/glossary/n.html @@ -8,7 +8,7 @@ - Memory Management Glossary: N — Memory Pool System 1.110.0 documentation + Memory Management Glossary: N — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -216,7 +216,7 @@ it is related to the size of Memory Management Glossary: O

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -224,7 +224,7 @@ it is related to the size of Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -244,7 +244,7 @@ it is related to the size of previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/o.html b/mps/manual/html/glossary/o.html index 03703e39d99..49fdfebcb86 100644 --- a/mps/manual/html/glossary/o.html +++ b/mps/manual/html/glossary/o.html @@ -8,7 +8,7 @@ - Memory Management Glossary: O — Memory Pool System 1.110.0 documentation + Memory Management Glossary: O — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -279,7 +279,7 @@ write outside the bounds of that block.

    title="next chapter">Memory Management Glossary: P

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -287,7 +287,7 @@ write outside the bounds of that block.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -307,7 +307,7 @@ write outside the bounds of that block.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/p.html b/mps/manual/html/glossary/p.html index 2f4861c5d66..e6cf29d2735 100644 --- a/mps/manual/html/glossary/p.html +++ b/mps/manual/html/glossary/p.html @@ -8,7 +8,7 @@ - Memory Management Glossary: P — Memory Pool System 1.110.0 documentation + Memory Management Glossary: P — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -663,7 +663,7 @@ protection faults to provide Memory Management Glossary: Q

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -671,7 +671,7 @@ protection faults to provide Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -691,7 +691,7 @@ protection faults to provide previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/q.html b/mps/manual/html/glossary/q.html index 9433f23ec2d..362d7b9a82f 100644 --- a/mps/manual/html/glossary/q.html +++ b/mps/manual/html/glossary/q.html @@ -8,7 +8,7 @@ - Memory Management Glossary: Q — Memory Pool System 1.110.0 documentation + Memory Management Glossary: Q — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -118,7 +118,7 @@ PDP-11.

    title="next chapter">Memory Management Glossary: R

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -126,7 +126,7 @@ PDP-11.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -146,7 +146,7 @@ PDP-11.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/r.html b/mps/manual/html/glossary/r.html index 6e8a4b690e8..8346f6d7dc9 100644 --- a/mps/manual/html/glossary/r.html +++ b/mps/manual/html/glossary/r.html @@ -8,7 +8,7 @@ - Memory Management Glossary: R — Memory Pool System 1.110.0 documentation + Memory Management Glossary: R — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -647,7 +647,7 @@ the Memory Management Glossary: S

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -655,7 +655,7 @@ the Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -675,7 +675,7 @@ the previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/s.html b/mps/manual/html/glossary/s.html index df4d7d06eca..0d07e5068de 100644 --- a/mps/manual/html/glossary/s.html +++ b/mps/manual/html/glossary/s.html @@ -8,7 +8,7 @@ - Memory Management Glossary: S — Memory Pool System 1.110.0 documentation + Memory Management Glossary: S — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -1096,7 +1096,7 @@ makes them scannable before the collector runs.

    title="next chapter">Memory Management Glossary: T

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -1104,7 +1104,7 @@ makes them scannable before the collector runs.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -1124,7 +1124,7 @@ makes them scannable before the collector runs.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/t.html b/mps/manual/html/glossary/t.html index 0299e1ab71e..c409ae8fa4b 100644 --- a/mps/manual/html/glossary/t.html +++ b/mps/manual/html/glossary/t.html @@ -8,7 +8,7 @@ - Memory Management Glossary: T — Memory Pool System 1.110.0 documentation + Memory Management Glossary: T — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -506,7 +506,7 @@ language standard. For example, interpreting a value of type title="next chapter">Memory Management Glossary: U

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -514,7 +514,7 @@ language standard. For example, interpreting a value of type

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -534,7 +534,7 @@ language standard. For example, interpreting a value of type
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/u.html b/mps/manual/html/glossary/u.html index 3017854ba64..527e799de33 100644 --- a/mps/manual/html/glossary/u.html +++ b/mps/manual/html/glossary/u.html @@ -8,7 +8,7 @@ - Memory Management Glossary: U — Memory Pool System 1.110.0 documentation + Memory Management Glossary: U — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -239,7 +239,7 @@ numeric values such as integers or floats.

    title="next chapter">Memory Management Glossary: V

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -247,7 +247,7 @@ numeric values such as integers or floats.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -267,7 +267,7 @@ numeric values such as integers or floats.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/v.html b/mps/manual/html/glossary/v.html index 1571a39855a..525f41e3402 100644 --- a/mps/manual/html/glossary/v.html +++ b/mps/manual/html/glossary/v.html @@ -8,7 +8,7 @@ - Memory Management Glossary: V — Memory Pool System 1.110.0 documentation + Memory Management Glossary: V — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -276,7 +276,7 @@ with the usual sense of the phrase (see Memory Management Glossary: W

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -284,7 +284,7 @@ with the usual sense of the phrase (see Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -304,7 +304,7 @@ with the usual sense of the phrase (see previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/w.html b/mps/manual/html/glossary/w.html index 4e90911d90b..82d33be0a33 100644 --- a/mps/manual/html/glossary/w.html +++ b/mps/manual/html/glossary/w.html @@ -8,7 +8,7 @@ - Memory Management Glossary: W — Memory Pool System 1.110.0 documentation + Memory Management Glossary: W — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -416,7 +416,7 @@ They are also used to maintain Memory Management Glossary: Z

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -424,7 +424,7 @@ They are also used to maintain Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -444,7 +444,7 @@ They are also used to maintain previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/glossary/z.html b/mps/manual/html/glossary/z.html index c61b3f01002..15cc027de88 100644 --- a/mps/manual/html/glossary/z.html +++ b/mps/manual/html/glossary/z.html @@ -8,7 +8,7 @@ - Memory Management Glossary: Z — Memory Pool System 1.110.0 documentation + Memory Management Glossary: Z — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • @@ -120,7 +120,7 @@ zero but which have not been processed to see if they can be title="next chapter">Memory Pool System Kit Open Source License

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -128,7 +128,7 @@ zero but which have not been processed to see if they can be

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -148,7 +148,7 @@ zero but which have not been processed to see if they can be
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Memory Management Glossary »
  • diff --git a/mps/manual/html/guide/advanced.html b/mps/manual/html/guide/advanced.html index 287692cb133..bf29a49f776 100644 --- a/mps/manual/html/guide/advanced.html +++ b/mps/manual/html/guide/advanced.html @@ -8,7 +8,7 @@ - 6. Advanced topics — Memory Pool System 1.110.0 documentation + 6. Advanced topics — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • @@ -61,8 +61,8 @@

    In Scheme, an open file is represented by a port. In the toy Scheme interpreter, a port is a wrapper around a standard C file handle:

    typedef struct port_s {
    -    type_t type;                    /* TYPE_PORT */
    -    obj_t name;                     /* name of stream */
    +    type_t type;                    /* TYPE_PORT */
    +    obj_t name;                     /* name of stream */
         FILE *stream;
     } port_s;
     
    @@ -84,14 +84,14 @@ reliable mechanisms for releasing resources (like Scheme’s

    Any block in an automatically managed pool can be registered for finalization by calling mps_finalize(). In the toy Scheme interpreter, this can be done in make_port:

    -
     static obj_t make_port(obj_t name, FILE *stream)
    +
     static obj_t make_port(obj_t name, FILE *stream)
      {
    -     mps_addr_t port_ref;
    -     obj_t obj;
    -     mps_addr_t addr;
    +     mps_addr_t port_ref;
    +     obj_t obj;
    +     mps_addr_t addr;
          size_t size = ALIGN(sizeof(port_s));
          do {
    -         mps_res_t res = mps_reserve(&addr, obj_ap, size);
    +         mps_res_t res = mps_reserve(&addr, obj_ap, size);
              if (res != MPS_RES_OK) error("out of memory in make_port");
              obj = addr;
              obj->port.type = TYPE_PORT;
    @@ -127,17 +127,17 @@ reachable.

    message queue is at the start of the read–eval–print loop. When a finalization message is found, the associated file handle is closed (unless it has been closed already), and the message is discarded.

    -
     mps_message_type_t type;
    +
     mps_message_type_t type;
     
      while (mps_message_queue_type(&type, arena)) {
    -     mps_message_t message;
    -     mps_bool_t b;
    +     mps_message_t message;
    +     mps_bool_t b;
          b = mps_message_get(&message, arena, type);
          assert(b); /* we just checked there was one */
     
          if (type == mps_message_type_finalization()) {
    -         mps_addr_t port_ref;
    -         obj_t port;
    +         mps_addr_t port_ref;
    +         obj_t port;
              mps_message_finalization_ref(&port_ref, arena, message);
              port = port_ref;
              assert(TYPE(port) == TYPE_PORT);
    @@ -176,11 +176,11 @@ finalization message is found, the associated file handle is closed
     optimization: setting stream to NULL ensures that the file
     handle wouldn’t be closed more than once, even if the port object were
     later finalized.

    -
    static void port_close(obj_t port)
    +
    static void port_close(obj_t port)
     {
         assert(TYPE(port) == TYPE_PORT);
         if(port->port.stream != NULL) {
    -        mps_addr_t port_ref = port;
    +        mps_addr_t port_ref = port;
             fclose(port->port.stream);
             port->port.stream = NULL;
             mps_definalize(arena, &port_ref);
    @@ -253,24 +253,24 @@ depended on might have moved since their location was depended upon.

    case of a hash table, it is most convenient to inline it in the hash table’s metadata:

    typedef struct table_s {
    -  type_t type;                  /* TYPE_TABLE */
    -  hash_t hash;                  /* hash function */
    -  cmp_t cmp;                    /* comparison function */
    +  type_t type;                  /* TYPE_TABLE */
    +  hash_t hash;                  /* hash function */
    +  cmp_t cmp;                    /* comparison function */
       mps_ld_s ld;                  /* location dependency */
    -  obj_t buckets;                /* hash buckets */
    +  obj_t buckets;                /* hash buckets */
     } table_s;
     

    Before being used, the location dependency must be reset to indicate that nothing is depended upon, by calling mps_ld_reset().

    For example:

    -
    static obj_t make_table(size_t length, hash_t hashf, cmp_t cmpf)
    +
    static obj_t make_table(size_t length, hash_t hashf, cmp_t cmpf)
     {
    -    obj_t obj;
    -    mps_addr_t addr;
    +    obj_t obj;
    +    mps_addr_t addr;
         size_t l, size = ALIGN(sizeof(table_s));
         do {
    -        mps_res_t res = mps_reserve(&addr, obj_ap, size);
    +        mps_res_t res = mps_reserve(&addr, obj_ap, size);
             if (res != MPS_RES_OK) error("out of memory in make_table");
             obj = addr;
             obj->table.type = TYPE_TABLE;
    @@ -296,12 +296,12 @@ have taken place after the hash was computed but before you added the
     dependency.)

    In the toy Scheme interpreter, this is done just before the computation of the hash of the address.

    -
    static unsigned long eq_hash(obj_t obj, mps_ld_t ld)
    +
    static unsigned long eq_hash(obj_t obj, mps_ld_t ld)
     {
    -    union {char s[sizeof(obj_t)]; obj_t addr;} u;
    +    union {char s[sizeof(obj_t)]; obj_t addr;} u;
         if (ld) mps_ld_add(ld, arena, obj);
         u.addr = obj;
    -    return hash(u.s, sizeof(obj_t));
    +    return hash(u.s, sizeof(obj_t));
     }
     
    @@ -309,7 +309,7 @@ of the hash of the address.

    avoids adding unnecessary dependencies on a location. For example, an eqv? hash table does not need to depend on the location of numbers and characters:

    -
    static unsigned long eqv_hash(obj_t obj, mps_ld_t ld)
    +
    static unsigned long eqv_hash(obj_t obj, mps_ld_t ld)
     {
         switch(TYPE(obj)) {
             case TYPE_INTEGER:
    @@ -339,7 +339,7 @@ the key is stale: that is, if the garbage collector moved the key. The
     function mps_ld_isstale() tells you if any of the blocks whose
     locations you depended upon since the last call to
     mps_ld_reset() might have moved.

    -
    static obj_t table_ref(obj_t tbl, obj_t key)
    +
    static obj_t table_ref(obj_t tbl, obj_t key)
     {
         struct bucket_s *b = buckets_find(tbl, tbl->table.buckets, key, NULL);
         if (b && b->key != NULL && b->key != obj_deleted)
    @@ -361,7 +361,7 @@ unnecessarily rehashing the whole table. (It’s crucial, however, to
     actually test that key appears in the table, not just that some key
     with the same hash does.)

    When a table is rehashed, call mps_ld_reset() to clear the -location dependency, and the mps_ld_add() for each key before it is added back to the table.

    +location dependency, and then mps_ld_add() for each key before it is added back to the table.

    Note

    Somewhat misleadingly, mps_ld_isstale() takes an address as @@ -425,7 +425,7 @@ causes

    static void table_delete(obj_t tbl, obj_t key)
    +
    static void table_delete(obj_t tbl, obj_t key)
     {
         struct bucket_s *b;
         assert(TYPE(tbl) == TYPE_TABLE);
    @@ -500,9 +500,9 @@ vectors, one for the keys and the other for the values, to allow keys
     and values to have different ranks.

    These vectors will be allocated from an AWL pool with two allocation points, one for strong references, and one for weak references:

    -
    static mps_pool_t buckets_pool; /* pool for hash table buckets */
    -static mps_ap_t strong_buckets_ap; /* allocation point for strong buckets */
    -static mps_ap_t weak_buckets_ap; /* allocation point for weak buckets */
    +
    static mps_pool_t buckets_pool; /* pool for hash table buckets */
    +static mps_ap_t strong_buckets_ap; /* allocation point for strong buckets */
    +static mps_ap_t weak_buckets_ap; /* allocation point for weak buckets */
     
    @@ -515,16 +515,16 @@ allocated in a non-moving pool such as AWL.

    replacing it with a null pointer when it is
    fixed by the object format’s scan method. So the scan method for the buckets is going to have the following structure. (See below for the actual code.)

    -
    static mps_res_t buckets_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    static mps_res_t buckets_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            buckets_t buckets = base;
    +            buckets_t buckets = base;
                 size_t length = buckets->length;
                 for (i = 0; i < length; ++i) {
    -                mps_addr_t p = buckets->bucket[i];
    +                mps_addr_t p = buckets->bucket[i];
                     if (MPS_FIX1(ss, p)) {
    -                    mps_res_t res = MPS_FIX2(ss, &p);
    +                    mps_res_t res = MPS_FIX2(ss, &p);
                         if (res != MPS_RES_OK) return res;
                         if (p == NULL) {
                             /* TODO: key/value was splatted: splat value/key too */
    @@ -556,9 +556,9 @@ and vice versa.

    The AWL pool determines an object’s dependent object by calling a function that you supply when creating the pool. This means that each object needs to have a reference to its dependent object:

    -
    static mps_addr_t buckets_find_dependent(mps_addr_t addr)
    +

    Now the full details of the scan method can be given, with the revised code highlighted:

    -
    static mps_res_t buckets_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    static mps_res_t buckets_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            buckets_t buckets = base;
    +            buckets_t buckets = base;
                 size_t i, length = UNTAG_SIZE(buckets->length);
                 FIX(buckets->dependent);
                 if(buckets->dependent != NULL)
                     assert(buckets->dependent->length == buckets->length);
                 for (i = 0; i < length; ++i) {
    -                mps_addr_t p = buckets->bucket[i];
    +                mps_addr_t p = buckets->bucket[i];
                     if (MPS_FIX1(ss, p)) {
    -                    mps_res_t res = MPS_FIX2(ss, &p);
    +                    mps_res_t res = MPS_FIX2(ss, &p);
                         if (res != MPS_RES_OK) return res;
                         if (p == NULL) {
                             /* key/value was splatted: splat value/key too */
    @@ -649,9 +649,9 @@ used”, and NULL
     
     

    The skip method is straightforward:

    -
    static mps_addr_t buckets_skip(mps_addr_t base)
    +
    static mps_addr_t buckets_skip(mps_addr_t base)
     {
    -    buckets_t buckets = base;
    +    buckets_t buckets = base;
         size_t length = UNTAG_SIZE(buckets->length);
         return (char *)base +
             ALIGN(offsetof(buckets_s, bucket) +
    @@ -749,15 +749,15 @@ other strong references keeping it alive.
     
     

    Here’s the new symbol structure:

    typedef struct symbol_s {
    -    type_t type;                  /* TYPE_SYMBOL */
    -    obj_t name;                   /* its name (a string) */
    +    type_t type;                  /* TYPE_SYMBOL */
    +    obj_t name;                   /* its name (a string) */
     } symbol_s;
     

    and the new implementation of intern:

    -
    static obj_t intern_string(obj_t name)
    +
    static obj_t intern_string(obj_t name)
     {
    -    obj_t symbol;
    +    obj_t symbol;
         assert(TYPE(name) == TYPE_STRING);
         symbol = table_ref(symtab, name);
         if(symbol == NULL) {
    @@ -767,7 +767,7 @@ other strong references keeping it alive.
         return symbol;
     }
     
    -static obj_t intern(char *string)
    +static obj_t intern(char *string)
     {
         return intern_string(make_string(strlen(string), string));
     }
    @@ -775,7 +775,7 @@ other strong references keeping it alive.
     

    The symbol table now becomes a very simple root, that only has to be registered once (not every time it is rehashed, as previously):

    -
    mps_addr_t ref;
    +
    mps_addr_t ref;
     symtab = NULL;
     ref = &symtab;
     res = mps_root_create_table(&symtab_root, arena, mps_rank_exact(), 0,
    @@ -823,8 +823,8 @@ avoided.

    Here the appropriate class is AMCZ (Automatic Mostly-Copying Zero-rank), and the necessary code changes are straightforward. First, global variables for the new pool and its allocation point:

    -
    static mps_pool_t leaf_pool;    /* pool for leaf objects */
    -static mps_ap_t leaf_ap;        /* allocation point for leaf objects */
    +
    static mps_pool_t leaf_pool;    /* pool for leaf objects */
    +static mps_ap_t leaf_ap;        /* allocation point for leaf objects */
     

    Second, the leaf objects must be allocated on leaf_ap instead of @@ -886,7 +886,7 @@ objects that have been left behind.

    title="next chapter">Reference

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -894,7 +894,7 @@ objects that have been left behind.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -914,7 +914,7 @@ objects that have been left behind.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • diff --git a/mps/manual/html/guide/build.html b/mps/manual/html/guide/build.html index 088852866ba..9eea0908491 100644 --- a/mps/manual/html/guide/build.html +++ b/mps/manual/html/guide/build.html @@ -8,7 +8,7 @@ - 2. Building the Memory Pool System — Memory Pool System 1.110.0 documentation + 2. Building the Memory Pool System — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • @@ -377,7 +377,7 @@ the command:

    title="next chapter">3. Garbage collecting a language with the Memory Pool System

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -385,7 +385,7 @@ the command:

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -405,7 +405,7 @@ the command:

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • diff --git a/mps/manual/html/guide/debug.html b/mps/manual/html/guide/debug.html index f8b570687f3..7e52d984e9c 100644 --- a/mps/manual/html/guide/debug.html +++ b/mps/manual/html/guide/debug.html @@ -8,7 +8,7 @@ - 4. Debugging with the Memory Pool System — Memory Pool System 1.110.0 documentation + 4. Debugging with the Memory Pool System — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • @@ -227,13 +227,13 @@ up to the detection of the error. See

    4.3. Example: allocating with wrong size

    Here’s another kind of mistake: an off-by-one error in make_string leading to the allocation of string objects with the wrong size:

    -
    static obj_t make_string(size_t length, char *string)
    +
    static obj_t make_string(size_t length, char *string)
     {
    -  obj_t obj;
    -  mps_addr_t addr;
    +  obj_t obj;
    +  mps_addr_t addr;
       size_t size = ALIGN(offsetof(string_s, string) + length/* oops, forgot: +1 */);
       do {
    -    mps_res_t res = mps_reserve(&addr, obj_ap, size);
    +    mps_res_t res = mps_reserve(&addr, obj_ap, size);
         if (res != MPS_RES_OK) error("out of memory in make_string");
         obj = addr;
         obj->string.type = TYPE_STRING;
    @@ -389,7 +389,7 @@ see if we can help.

    title="next chapter">5. Tuning the Memory Pool System for performance

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -397,7 +397,7 @@ see if we can help.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -417,7 +417,7 @@ see if we can help.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • diff --git a/mps/manual/html/guide/index.html b/mps/manual/html/guide/index.html index eed324c5ae1..b3538698ef5 100644 --- a/mps/manual/html/guide/index.html +++ b/mps/manual/html/guide/index.html @@ -8,7 +8,7 @@ - Guide — Memory Pool System 1.110.0 documentation + Guide — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -143,7 +143,7 @@ title="next chapter">1. Overview of the Memory Pool System

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -151,7 +151,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -171,7 +171,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -90,7 +90,7 @@ pointers to strings.

    A Scheme object (whose type is not necessarily known) is represented by an obj_t, which is a pointer to a union of every type in the language:

    -
    typedef union obj_u *obj_t;
    +
    typedef union obj_u *obj_t;
     typedef union obj_u {
         type_s type;
         pair_s pair;
    @@ -113,8 +113,8 @@ specifying the type of the object (pair_s defined as
     follows:

    typedef struct pair_s {
    -    type_t type;        /* TYPE_PAIR */
    -    obj_t car, cdr;     /* first and second projections */
    +    type_t type;        /* TYPE_PAIR */
    +    obj_t car, cdr;     /* first and second projections */
     } pair_s;
     
    @@ -122,7 +122,7 @@ follows:

    operate on objects generically, testing TYPE(obj) as necessary (which is a macro for obj->type.type). For example, the print() function is implemented like this:

    -
    static void print(obj_t obj, unsigned depth, FILE *stream)
    +
    static void print(obj_t obj, unsigned depth, FILE *stream)
     {
         switch (TYPE(obj)) {
         case TYPE_INTEGER:
    @@ -140,9 +140,9 @@ operate on objects generically, testing 
     

    Each constructor allocates memory for the new object by calling malloc. For example, make_pair is the constructor for pairs:

    -
    static obj_t make_pair(obj_t car, obj_t cdr)
    +
    static obj_t make_pair(obj_t car, obj_t cdr)
     {
    -    obj_t obj = (obj_t)malloc(sizeof(pair_s));
    +    obj_t obj = (obj_t)malloc(sizeof(pair_s));
         if (obj == NULL) error("out of memory");
         obj->pair.type = TYPE_PAIR;
         CAR(obj) = car;
    @@ -181,7 +181,7 @@ general-purpose programs you’ll want to use the virtual memory arena.

    There’s only one arena, and many MPS functions take an arena as an argument, so it makes sense for the arena to be a global variable rather than having to pass it around everywhere:

    -
    static mps_arena_t arena;
    +
    static mps_arena_t arena;
     

    Create an arena by calling mps_arena_create(). This function @@ -193,7 +193,7 @@ its address space, the less efficient garbage collection will become. The MPS works best if you reserve an address space that is several times larger than your peak memory usage.

    Let’s reserve 32 megabytes:

    -
    mps_res_t res;
    +
    mps_res_t res;
     res = mps_arena_create(&arena,
                            mps_arena_class_vm(),
                            (size_t)(32 * 1024 * 1024));
    @@ -266,7 +266,7 @@ code for creating the object format for the toy Scheme interpreter:

    obj_pad, }; -mps_fmt_t obj_fmt; +mps_fmt_t obj_fmt; res = mps_fmt_create_A(&obj_fmt, arena, &obj_fmt_s); if (res != MPS_RES_OK) error("Couldn't create obj format");
    @@ -324,11 +324,11 @@ which the scan method was called. The scan method is called to discover references and so determine which objects are alive and which are dead, and also to update references after objects have been moved.

    Here’s the scan method for the toy Scheme interpreter:

    -
    static mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    static mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            obj_t obj = base;
    +            obj_t obj = base;
                 switch (TYPE(obj)) {
                 case TYPE_PAIR:
                     FIX(CAR(obj));
    @@ -406,9 +406,9 @@ soon as practicable.
     mps_fmt_skip_t. It is called by the MPS to skip over an
     object belonging to the format, and also to determine its size.

    Here’s the skip method for the toy Scheme interpreter:

    -
    static mps_addr_t obj_skip(mps_addr_t base)
    +
    static mps_addr_t obj_skip(mps_addr_t base)
     {
    -    obj_t obj = base;
    +    obj_t obj = base;
         switch (TYPE(obj)) {
         case TYPE_PAIR:
             base = (char *)base + ALIGN(sizeof(pair_s));
    @@ -461,24 +461,24 @@ objects might be as small as two words (for example, integers).

    The first type is suitable for forwarding objects of three words or longer:

    typedef struct fwd_s {
    -    type_t type;                  /* TYPE_FWD */
    -    obj_t fwd;                    /* forwarded object */
    +    type_t type;                  /* TYPE_FWD */
    +    obj_t fwd;                    /* forwarded object */
         size_t size;                  /* total size of this object */
     } fwd_s;
     

    while the second type is suitable for forwarding objects of two words:

    typedef struct fwd2_s {
    -    type_t type;                  /* TYPE_FWD2 */
    -    obj_t fwd;                    /* forwarded object */
    +    type_t type;                  /* TYPE_FWD2 */
    +    obj_t fwd;                    /* forwarded object */
     } fwd2_s;
     

    Here’s the forward method for the toy Scheme interpreter:

    -
    static void obj_fwd(mps_addr_t old, mps_addr_t new)
    +
    static void obj_fwd(mps_addr_t old, mps_addr_t new)
     {
    -    obj_t obj = old;
    -    mps_addr_t limit = obj_skip(old);
    +    obj_t obj = old;
    +    mps_addr_t limit = obj_skip(old);
         size_t size = (char *)limit - (char *)old;
         assert(size >= ALIGN_UP(sizeof(fwd2_s)));
         if (size == ALIGN_UP(sizeof(fwd2_s))) {
    @@ -537,9 +537,9 @@ scanning them could be avoided.
     object is a forwarding object, and if it is, to determine the
     location where that object was moved.

    Here’s the is-forwarded method for the toy Scheme interpreter:

    -
    static mps_addr_t obj_isfwd(mps_addr_t addr)
    +
    static mps_addr_t obj_isfwd(mps_addr_t addr)
     {
    -    obj_t obj = addr;
    +    obj_t obj = addr;
         switch (TYPE(obj)) {
         case TYPE_FWD2:
             return obj->fwd2.fwd;
    @@ -573,7 +573,7 @@ word. As with forwarding objects, this can be solved by having two
     types of padding object. The first type is suitable for padding
     objects of two words or longer:

    typedef struct pad_s {
    -    type_t type;                  /* TYPE_PAD */
    +    type_t type;                  /* TYPE_PAD */
         size_t size;                  /* total size of this object */
     } pad_s;
     
    @@ -581,14 +581,14 @@ objects of two words or longer:

    while the second type is suitable for padding objects consisting of a single word:

    typedef struct pad1_s {
    -    type_t type;                  /* TYPE_PAD1 */
    +    type_t type;                  /* TYPE_PAD1 */
     } pad1_s;
     

    Here’s the padding method:

    -
    static void obj_pad(mps_addr_t addr, size_t size)
    +
    static void obj_pad(mps_addr_t addr, size_t size)
     {
    -    obj_t obj = addr;
    +    obj_t obj = addr;
         assert(size >= ALIGN(sizeof(pad1_s)));
         if (size == ALIGN(sizeof(pad1_s))) {
             TYPE(obj) = TYPE_PAD1;
    @@ -664,7 +664,7 @@ the pool creation code. First, the header for the AMC pool class:

    Second, the object format:

    struct mps_fmt_A_s obj_fmt_s = {
    -    sizeof(mps_word_t),
    +    sizeof(mps_word_t),
         obj_scan,
         obj_skip,
         NULL,
    @@ -673,7 +673,7 @@ the pool creation code. First, the header for the AMC pool class:

    obj_pad, }; -mps_fmt_t obj_fmt; +mps_fmt_t obj_fmt; res = mps_fmt_create_A(&obj_fmt, arena, &obj_fmt_s); if (res != MPS_RES_OK) error("Couldn't create obj format");
    @@ -684,7 +684,7 @@ the pool creation code. First, the header for the AMC pool class:

    { 170, 0.45 }, }; -mps_chain_t obj_chain; +mps_chain_t obj_chain; res = mps_chain_create(&obj_chain, arena, LENGTH(obj_gen_params), @@ -693,7 +693,7 @@ the pool creation code. First, the header for the AMC pool class:

    And finally the pool:

    -
    mps_pool_t obj_pool;
    +
    mps_pool_t obj_pool;
     res = mps_pool_create(&obj_pool,
                           arena,
                           mps_class_amc(),
    @@ -721,15 +721,15 @@ memory allocated by other memory managers. For these roots you must
     describe to the MPS how to scan them for references.

    The toy Scheme interpreter has a number of static variables that point to heap-allocated objects. First, the special objects, including:

    -
    static obj_t obj_empty;         /* (), the empty list */
    +
    static obj_t obj_empty;         /* (), the empty list */
     

    Second, the predefined symbols, including:

    -
    static obj_t obj_quote;         /* "quote" symbol */
    +
    static obj_t obj_quote;         /* "quote" symbol */
     

    And third, the global symbol table:

    -
    static obj_t *symtab;
    +
    static obj_t *symtab;
     static size_t symtab_size;
     
    @@ -740,7 +740,7 @@ described above.

    In the case of the toy Scheme interpreter, the root scanning function for the special objects and the predefined symbols could be written like this:

    -
    static mps_res_t globals_scan(mps_ss_t ss, void *p, size_t s)
    +
    static mps_res_t globals_scan(mps_ss_t ss, void *p, size_t s)
     {
         MPS_SCAN_BEGIN(ss) {
             FIX(obj_empty);
    @@ -755,7 +755,7 @@ like this:

    but in fact the interpreter already has tables of these global objects, so it’s simpler and more extensible for the root scanning function to iterate over them:

    -
    static mps_res_t globals_scan(mps_ss_t ss, void *p, size_t s)
    +
    static mps_res_t globals_scan(mps_ss_t ss, void *p, size_t s)
     {
         MPS_SCAN_BEGIN(ss) {
             size_t i;
    @@ -770,7 +770,7 @@ function to iterate over them:

    Each root scanning function must be registered with the MPS by calling mps_root_create(), like this:

    -
    mps_root_t globals_root;
    +
    mps_root_t globals_root;
     res = mps_root_create(&globals_root, arena, mps_rank_exact(), 0,
                           globals_scan, NULL, 0);
     if (res != MPS_RES_OK) error("Couldn't register globals root");
    @@ -808,11 +808,11 @@ after the rehash has completed, de-registering the old root by calling
     the global symbol table, but the case of a table of references is
     sufficiently common that the MPS provides a convenient (and optimized)
     function, mps_root_create_table(), for registering it:

    -
    static mps_root_t symtab_root;
    +
    static mps_root_t symtab_root;
     
     /* ... */
     
    -mps_addr_t ref = symtab;
    +mps_addr_t ref = symtab;
     res = mps_root_create_table(&symtab_root, arena, mps_rank_exact(), 0,
                                 ref, symtab_size);
     if (res != MPS_RES_OK) error("Couldn't register new symtab root");
    @@ -821,15 +821,15 @@ function, The root must be re-registered whenever the global symbol table
     changes size:

    static void rehash(void) {
    -    obj_t *old_symtab = symtab;
    +    obj_t *old_symtab = symtab;
         unsigned old_symtab_size = symtab_size;
    -    mps_root_t old_symtab_root = symtab_root;
    +    mps_root_t old_symtab_root = symtab_root;
         unsigned i;
    -    mps_addr_t ref;
    -    mps_res_t res;
    +    mps_addr_t ref;
    +    mps_res_t res;
     
         symtab_size *= 2;
    -    symtab = malloc(sizeof(obj_t) * symtab_size);
    +    symtab = malloc(sizeof(obj_t) * symtab_size);
         if (symtab == NULL) error("out of memory");
     
         /* Initialize the new table to NULL so that "find" will work. */
    @@ -843,7 +843,7 @@ changes size:

    for (i = 0; i < old_symtab_size; ++i) if (old_symtab[i] != NULL) { - obj_t *where = find(old_symtab[i]->symbol.string); + obj_t *where = find(old_symtab[i]->symbol.string); assert(where != NULL); /* new table shouldn't be full */ assert(*where == NULL); /* shouldn't be in new table */ *where = old_symtab[i]; @@ -906,7 +906,7 @@ programs written in
    arena by calling mps_thread_reg():

    -
    mps_thr_t thread;
    +
    mps_thr_t thread;
     res = mps_thread_reg(&thread, arena);
     if (res != MPS_RES_OK) error("Couldn't register thread");
     
    @@ -915,7 +915,7 @@ programs written in mps_root_create_reg() and passing mps_stack_scan_ambig():

    void *marker = &marker;
    -mps_root_t reg_root;
    +mps_root_t reg_root;
     res = mps_root_create_reg(&reg_root,
                               arena,
                               mps_rank_ambig(),
    @@ -946,11 +946,11 @@ to start allocating.

    Manual pools typically support malloc-like allocation using the function mps_alloc(). But automatic pools cannot, because of the following problem:

    -
    static obj_t make_pair(obj_t car, obj_t cdr)
    +
    static obj_t make_pair(obj_t car, obj_t cdr)
     {
    -    obj_t obj;
    -    mps_addr_t addr;
    -    mps_res_t res;
    +    obj_t obj;
    +    mps_addr_t addr;
    +    mps_res_t res;
         res = mps_alloc(&addr, pool, sizeof(pair_s));
         if (res != MPS_RES_OK) error("out of memory in make_pair");
         obj = addr;
    @@ -973,7 +973,7 @@ may abort.

    Allocation point protocol. This needs an additional structure, an allocation point, to be attached to the pool by calling mps_ap_create():

    -
    static mps_ap_t obj_ap;
    +
    static mps_ap_t obj_ap;
     
     /* ... */
     
    @@ -982,13 +982,13 @@ calling 
    static obj_t make_pair(obj_t car, obj_t cdr)
    +
    diff --git a/mps/manual/html/guide/overview.html b/mps/manual/html/guide/overview.html index c8686f9d32e..5a20b0269de 100644 --- a/mps/manual/html/guide/overview.html +++ b/mps/manual/html/guide/overview.html @@ -8,7 +8,7 @@ - 1. Overview of the Memory Pool System — Memory Pool System 1.110.0 documentation + 1. Overview of the Memory Pool System — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • @@ -179,7 +179,7 @@ to learn how to integrate it with the Memory Pool System. See title="next chapter">2. Building the Memory Pool System

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -187,7 +187,7 @@ to learn how to integrate it with the Memory Pool System. See

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -207,7 +207,7 @@ to learn how to integrate it with the Memory Pool System. See
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • diff --git a/mps/manual/html/guide/perf.html b/mps/manual/html/guide/perf.html index c95c6eb271b..71ea4bde8af 100644 --- a/mps/manual/html/guide/perf.html +++ b/mps/manual/html/guide/perf.html @@ -8,7 +8,7 @@ - 5. Tuning the Memory Pool System for performance — Memory Pool System 1.110.0 documentation + 5. Tuning the Memory Pool System for performance — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • @@ -407,7 +407,7 @@ very large address space is ruinous to performance.

    title="next chapter">6. Advanced topics

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -415,7 +415,7 @@ very large address space is ruinous to performance.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -435,7 +435,7 @@ very large address space is ruinous to performance.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Guide »
  • diff --git a/mps/manual/html/index.html b/mps/manual/html/index.html index 64218494bcd..cff70dc3459 100644 --- a/mps/manual/html/index.html +++ b/mps/manual/html/index.html @@ -8,7 +8,7 @@ - Memory Pool System — Memory Pool System 1.110.0 documentation + Memory Pool System — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -39,7 +39,7 @@
  • next |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -188,7 +188,7 @@ title="next chapter">Guide

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -196,7 +196,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -213,7 +213,7 @@
  • next |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -222,7 +222,7 @@ manager that can respond dynamically to changing requirements.

    title="next chapter">3. Recycling techniques

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -230,7 +230,7 @@ manager that can respond dynamically to changing requirements.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -250,7 +250,7 @@ manager that can respond dynamically to changing requirements.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • diff --git a/mps/manual/html/mmref/begin.html b/mps/manual/html/mmref/begin.html index 7eab925c3df..01c0ffcd970 100644 --- a/mps/manual/html/mmref/begin.html +++ b/mps/manual/html/mmref/begin.html @@ -8,7 +8,7 @@ - 1. Overview — Memory Pool System 1.110.0 documentation + 1. Overview — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • @@ -309,7 +309,7 @@ handbook covering all aspects of garbage collection.

    title="next chapter">2. Allocation techniques

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -317,7 +317,7 @@ handbook covering all aspects of garbage collection.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -337,7 +337,7 @@ handbook covering all aspects of garbage collection.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • diff --git a/mps/manual/html/mmref/bib.html b/mps/manual/html/mmref/bib.html index 94cefb372e9..a521d287424 100644 --- a/mps/manual/html/mmref/bib.html +++ b/mps/manual/html/mmref/bib.html @@ -8,7 +8,7 @@ - Bibliography — Memory Pool System 1.110.0 documentation + Bibliography — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -437,7 +437,7 @@ title="next chapter">Acknowledgements

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -445,7 +445,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -465,7 +465,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -129,7 +129,7 @@ help of:

    title="next chapter">Memory Management Glossary

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -137,7 +137,7 @@ help of:

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -157,7 +157,7 @@ help of:

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -611,7 +611,7 @@ that poor Bibliography

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -619,7 +619,7 @@ that poor Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -639,7 +639,7 @@ that poor previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • diff --git a/mps/manual/html/mmref/index.html b/mps/manual/html/mmref/index.html index c8fd56cf9b8..b6876bb11eb 100644 --- a/mps/manual/html/mmref/index.html +++ b/mps/manual/html/mmref/index.html @@ -8,7 +8,7 @@ - Introduction to memory management — Memory Pool System 1.110.0 documentation + Introduction to memory management — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -106,7 +106,7 @@ title="next chapter">1. Overview

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -114,7 +114,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -134,7 +134,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -679,7 +679,7 @@ developed or implemented for Smalltalk.

    title="next chapter">5. Frequently Asked Questions

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -687,7 +687,7 @@ developed or implemented for Smalltalk.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -707,7 +707,7 @@ developed or implemented for Smalltalk.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • diff --git a/mps/manual/html/mmref/recycle.html b/mps/manual/html/mmref/recycle.html index 290c44ba981..640d100fff7 100644 --- a/mps/manual/html/mmref/recycle.html +++ b/mps/manual/html/mmref/recycle.html @@ -8,7 +8,7 @@ - 3. Recycling techniques — Memory Pool System 1.110.0 documentation + 3. Recycling techniques — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • @@ -292,7 +292,7 @@ references are deleted.

    title="next chapter">4. Memory management in various languages

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -300,7 +300,7 @@ references are deleted.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -320,7 +320,7 @@ references are deleted.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Introduction to memory management »
  • diff --git a/mps/manual/html/objects.inv b/mps/manual/html/objects.inv index f53c5242384..b079c65a7e0 100644 Binary files a/mps/manual/html/objects.inv and b/mps/manual/html/objects.inv differ diff --git a/mps/manual/html/pool/amc.html b/mps/manual/html/pool/amc.html index 5a15ca77f90..d5b53a5c9f2 100644 --- a/mps/manual/html/pool/amc.html +++ b/mps/manual/html/pool/amc.html @@ -8,7 +8,7 @@ - 4. AMC (Automatic Mostly-Copying) — Memory Pool System 1.110.0 documentation + 4. AMC (Automatic Mostly-Copying) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -117,10 +117,10 @@ belong to an object format of variant auto-header). Mostly-Copying) pool.

    When creating an AMC pool, mps_pool_create() takes two extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_amc(),
    -                          mps_fmt_t fmt,
    -                          mps_chain_t chain)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_amc(),
    +                          mps_fmt_t fmt,
    +                          mps_chain_t chain)
     

    fmt specifies the object format for the objects @@ -216,7 +216,7 @@ their contents; title="next chapter">5. AMCZ (Automatic Mostly-Copying Zero-rank)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -224,7 +224,7 @@ their contents;

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -244,7 +244,7 @@ their contents;
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/amcz.html b/mps/manual/html/pool/amcz.html index 3aa9e3f1a26..9780b1c4bba 100644 --- a/mps/manual/html/pool/amcz.html +++ b/mps/manual/html/pool/amcz.html @@ -8,7 +8,7 @@ - 5. AMCZ (Automatic Mostly-Copying Zero-rank) — Memory Pool System 1.110.0 documentation + 5. AMCZ (Automatic Mostly-Copying Zero-rank) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -89,10 +89,10 @@ method. Mostly-Copying Zero-rank) pool.

    When creating an AMCZ pool, mps_pool_create() takes two extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_amcz(),
    -                          mps_fmt_t fmt,
    -                          mps_chain_t chain)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_amcz(),
    +                          mps_fmt_t fmt,
    +                          mps_chain_t chain)
     

    fmt specifies the object format for the objects @@ -131,7 +131,7 @@ and a 6. AMS (Automatic Mark and Sweep)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -139,7 +139,7 @@ and a Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -159,7 +159,7 @@ and a previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/ams.html b/mps/manual/html/pool/ams.html index d1a39910622..7ef790a26d5 100644 --- a/mps/manual/html/pool/ams.html +++ b/mps/manual/html/pool/ams.html @@ -8,7 +8,7 @@ - 6. AMS (Automatic Mark and Sweep) — Memory Pool System 1.110.0 documentation + 6. AMS (Automatic Mark and Sweep) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -120,10 +120,10 @@ of this is that the pool’s pool.

    When creating an AMS pool, mps_pool_create() takes two extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_ams(),
    -                          mps_fmt_t fmt,
    -                          mps_chain_t chain)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_ams(),
    +                          mps_fmt_t fmt,
    +                          mps_chain_t chain)
     

    fmt specifies the object format for the objects @@ -140,11 +140,11 @@ must have a single generation.

    class.

    When creating a debugging AMS pool, mps_pool_create() takes three extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_ams_debug(),
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_ams_debug(),
                               mps_debug_option_s debug_option,
    -                          mps_fmt_t fmt,
    -                          mps_chain_t chain)
    +                          mps_fmt_t fmt,
    +                          mps_chain_t chain)
     

    debug_option specifies the debugging options. See @@ -181,7 +181,7 @@ takes three extra arguments:

    title="next chapter">7. AWL (Automatic Weak Linked)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -189,7 +189,7 @@ takes three extra arguments:

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -209,7 +209,7 @@ takes three extra arguments:

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/awl.html b/mps/manual/html/pool/awl.html index 3e10a6a4030..2df8f0d2e77 100644 --- a/mps/manual/html/pool/awl.html +++ b/mps/manual/html/pool/awl.html @@ -8,7 +8,7 @@ - 7. AWL (Automatic Weak Linked) — Memory Pool System 1.110.0 documentation + 7. AWL (Automatic Weak Linked) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -93,8 +93,8 @@ takes one additional parameter, a mps_rank_exact() (to allocate ordinary objects containing exact references), or mps_rank_weak() (to allocate objects that contain weak references). For example:

    -
    mps_ap_t ap;
    -mps_res_t res;
    +
    mps_ap_t ap;
    +mps_res_t res;
     res = mps_ap_create(&ap, pool, mps_rank_weak());
     if (res != MPS_RES_OK) error("can't create allocation point");
     
    @@ -169,31 +169,31 @@ values object, and vice versa (if necessary). The scan method looks out for the splatting of a reference, and when this is detected, it splats the corresponding reference in the dependent object.

    For example:

    -
    obj_t obj_deleted;              /* deleted entry in hash table */
    +
    obj_t obj_deleted;              /* deleted entry in hash table */
     
     typedef struct weak_array_s {
         struct weak_array_s *dependent;
         size_t length;              /* tagged as "length * 2 + 1" */
    -    obj_t slot[1];
    -} weak_array_s, *weak_array_t;
    +    obj_t slot[1];
    +} weak_array_s, *weak_array_t;
     
     typedef weak_table_s {
         type_s type;                /* TYPE_WEAK_TABLE */
    -    weak_array_t keys, values;
    -} weak_table_s, *weak_table_t;
    +    weak_array_t keys, values;
    +} weak_table_s, *weak_table_t;
     
    -mps_addr_t weak_array_find_dependent(mps_addr_t addr)
    +mps_addr_t weak_array_find_dependent(mps_addr_t addr)
     {
    -    weak_array_t a = addr;
    +    weak_array_t a = addr;
         return a->dependent;
     }
     
    -mps_res_t weak_array_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +mps_res_t weak_array_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            mps_addr_t p;
    -            weak_array_t a = base;
    +            mps_addr_t p;
    +            weak_array_t a = base;
                 size_t i, length = a->length >> 1; /* untag */
                 p = a->dependent;
                 MPS_FIX12(ss, &p);
    @@ -201,7 +201,7 @@ splats the corresponding reference in the dependent object.

    for (i = 0; i < length; ++i) { p = a->slot[i]; if (MPS_FIX1(ss, p)) { - mps_res_t res = MPS_FIX2(ss, &p); + mps_res_t res = MPS_FIX2(ss, &p); if (res != MPS_RES_OK) return res; if (p == NULL && a->dependent) { /* key/value was splatted: splat value/key too */ @@ -313,10 +313,10 @@ example above.

    pool.

    When creating an AWL pool, mps_pool_create() takes two extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_awl(),
    -                          mps_fmt_t fmt,
    -                          mps_awl_find_dependent_t find_dependent)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_awl(),
    +                          mps_fmt_t fmt,
    +                          mps_awl_find_dependent_t find_dependent)
     

    fmt specifies the object format for the objects @@ -327,8 +327,8 @@ method and a dependent object for an object in the pool.

    When creating an allocation point on an AWL pool, mps_ap_create() takes one extra argument:

    -
    mps_res_t mps_ap_create(mps_ap_t *ap_o, mps_pool_t pool,
    -                        mps_rank_t rank)
    +
    mps_res_t mps_ap_create(mps_ap_t *ap_o, mps_pool_t pool,
    +                        mps_rank_t rank)
     

    rank specifies the rank of references in objects @@ -383,7 +383,7 @@ if it is, then it must be in a 8. LO (Leaf Object)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -391,7 +391,7 @@ if it is, then it must be in a Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -411,7 +411,7 @@ if it is, then it must be in a previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/index.html b/mps/manual/html/pool/index.html index b9cb583109f..e4ab514e965 100644 --- a/mps/manual/html/pool/index.html +++ b/mps/manual/html/pool/index.html @@ -8,7 +8,7 @@ - Pool reference — Memory Pool System 1.110.0 documentation + Pool reference — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -138,7 +138,7 @@ title="next chapter">1. Choosing a pool class

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -146,7 +146,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -166,7 +166,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -645,7 +645,7 @@ yourself, we title="next chapter">4. AMC (Automatic Mostly-Copying)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -653,7 +653,7 @@ yourself, we

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -673,7 +673,7 @@ yourself, we
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/lo.html b/mps/manual/html/pool/lo.html index bc48c35cff1..48d83ddbd40 100644 --- a/mps/manual/html/pool/lo.html +++ b/mps/manual/html/pool/lo.html @@ -8,7 +8,7 @@ - 8. LO (Leaf Object) — Memory Pool System 1.110.0 documentation + 8. LO (Leaf Object) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -121,9 +121,9 @@ does not need a pool.

    When creating an LO pool, mps_pool_create() takes one extra argument:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_lo(),
    -                          mps_fmt_t fmt)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_lo(),
    +                          mps_fmt_t fmt)
     

    fmt specifies the object format for the objects @@ -160,7 +160,7 @@ method.

    title="next chapter">9. MFS (Manual Fixed Small)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -168,7 +168,7 @@ method
    .

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -188,7 +188,7 @@ method
    .

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/mfs.html b/mps/manual/html/pool/mfs.html index 6fd7bb61a66..822b00bb104 100644 --- a/mps/manual/html/pool/mfs.html +++ b/mps/manual/html/pool/mfs.html @@ -8,7 +8,7 @@ - 9. MFS (Manual Fixed Small) — Memory Pool System 1.110.0 documentation + 9. MFS (Manual Fixed Small) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -102,10 +102,10 @@ managed pools (unless these are registered as pool.

    When creating an MFS pool, mps_pool_create() takes two extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mfs(),
    -                          mps_size_t extend_size,
    -                          mps_size_t unit_size)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mfs(),
    +                          mps_size_t extend_size,
    +                          mps_size_t unit_size)
     

    extend_size is the size of segment that the pool will @@ -146,7 +146,7 @@ from this pool, in 10. MV (Manual Variable)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -154,7 +154,7 @@ from this pool, in Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -174,7 +174,7 @@ from this pool, in previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/mv.html b/mps/manual/html/pool/mv.html index effe7235f07..6fe20766412 100644 --- a/mps/manual/html/pool/mv.html +++ b/mps/manual/html/pool/mv.html @@ -8,7 +8,7 @@ - 10. MV (Manual Variable) — Memory Pool System 1.110.0 documentation + 10. MV (Manual Variable) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -99,11 +99,11 @@ managed pools (unless these are registered as pool.

    When creating an MV pool, mps_pool_create() takes three extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mv(),
    -                          mps_size_t extend_size,
    -                          mps_size_t average_size,
    -                          mps_size_t maximum_size)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mv(),
    +                          mps_size_t extend_size,
    +                          mps_size_t average_size,
    +                          mps_size_t maximum_size)
     

    extend_size is the size of segment that the pool will @@ -121,12 +121,12 @@ these are wrong.

    class.

    When creating a debugging MV pool, mps_pool_create() takes four extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mv_debug(),
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mv_debug(),
                               mps_debug_option_s debug_option,
    -                          mps_size_t extend_size,
    -                          mps_size_t average_size,
    -                          mps_size_t maximum_size)
    +                          mps_size_t extend_size,
    +                          mps_size_t average_size,
    +                          mps_size_t maximum_size)
     

    debug_option specifies the debugging options. See @@ -188,7 +188,7 @@ is the sum of allocated space and free space.

    title="next chapter">11. MVFF (Manual Variable First Fit)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -196,7 +196,7 @@ is the sum of allocated space and free space.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -216,7 +216,7 @@ is the sum of allocated space and free space.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/mvff.html b/mps/manual/html/pool/mvff.html index c1bba4e91a1..6515ee955d9 100644 --- a/mps/manual/html/pool/mvff.html +++ b/mps/manual/html/pool/mvff.html @@ -8,7 +8,7 @@ - 11. MVFF (Manual Variable First Fit) — Memory Pool System 1.110.0 documentation + 11. MVFF (Manual Variable First Fit) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -128,14 +128,14 @@ smaller than the pool.

    When creating an MVFF pool, mps_pool_create() takes six extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mvff(),
    -                          mps_size_t extend_size,
    -                          mps_size_t average_size,
    -                          mps_align_t alignment,
    -                          mps_bool_t slot_high,
    -                          mps_bool_t arena_high,
    -                          mps_bool_t first_fit)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mvff(),
    +                          mps_size_t extend_size,
    +                          mps_size_t average_size,
    +                          mps_align_t alignment,
    +                          mps_bool_t slot_high,
    +                          mps_bool_t arena_high,
    +                          mps_bool_t first_fit)
     

    extend_size is the size of segment that the pool will @@ -161,15 +161,15 @@ are acquired at high addresses; if false, at low addresses.

    class.

    When creating a debugging MVFF pool, mps_pool_create() takes seven extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mvff_debug(),
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mvff_debug(),
                               mps_debug_option_s debug_option,
    -                          mps_size_t extend_size,
    -                          mps_size_t average_size,
    -                          mps_align_t alignment,
    -                          mps_bool_t slot_high,
    -                          mps_bool_t arena_high,
    -                          mps_bool_t first_fit)
    +                          mps_size_t extend_size,
    +                          mps_size_t average_size,
    +                          mps_align_t alignment,
    +                          mps_bool_t slot_high,
    +                          mps_bool_t arena_high,
    +                          mps_bool_t first_fit)
     

    debug_option specifies the debugging options. See @@ -230,7 +230,7 @@ is the sum of allocated space and free space.

    title="next chapter">12. MVT (Manual Variable Temporal)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -238,7 +238,7 @@ is the sum of allocated space and free space.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -258,7 +258,7 @@ is the sum of allocated space and free space.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/mvt.html b/mps/manual/html/pool/mvt.html index 67e0bdc2f8c..290483047f4 100644 --- a/mps/manual/html/pool/mvt.html +++ b/mps/manual/html/pool/mvt.html @@ -8,7 +8,7 @@ - 12. MVT (Manual Variable Temporal) — Memory Pool System 1.110.0 documentation + 12. MVT (Manual Variable Temporal) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -124,13 +124,13 @@ managed pools (unless these are registered as pool.

    When creating an MVT pool, mps_pool_create() takes five extra arguments:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_mvt(),
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_mvt(),
                               size_t minimum_size,
                               size_t mean_size,
                               size_t maximum_size,
    -                          mps_count_t reserve_depth,
    -                          mps_count_t fragmentation_limit)
    +                          mps_count_t reserve_depth,
    +                          mps_count_t fragmentation_limit)
     

    minimum_size, mean_size, and maximum_size are the @@ -236,7 +236,7 @@ is the sum of allocated space and free space.

    title="next chapter">13. SNC (Stack No Checking)

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -244,7 +244,7 @@ is the sum of allocated space and free space.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -264,7 +264,7 @@ is the sum of allocated space and free space.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/pool/snc.html b/mps/manual/html/pool/snc.html index 0bf26849aba..f3edda27d3d 100644 --- a/mps/manual/html/pool/snc.html +++ b/mps/manual/html/pool/snc.html @@ -8,7 +8,7 @@ - 13. SNC (Stack No Checking) — Memory Pool System 1.110.0 documentation + 13. SNC (Stack No Checking) — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • @@ -114,9 +114,9 @@ a format of variant auto-header. pool.

    When creating an SNC pool, mps_pool_create() takes one extra argument:

    -
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    -                          mps_class_t mps_class_snc(),
    -                          mps_fmt_t fmt)
    +
    mps_res_t mps_pool_create(mps_pool_t *pool_o, mps_arena_t arena,
    +                          mps_class_t mps_class_snc(),
    +                          mps_fmt_t fmt)
     

    fmt specifies the object format for the objects @@ -124,8 +124,8 @@ allocated in the pool. The format must provide a , a skip method, and a padding method.

    When creating an allocation point on an SNC pool, mps_ap_create() takes one extra argument:

    -
    mps_res_t mps_ap_create(mps_ap_t *ap_o, mps_pool_t pool,
    -                        mps_rank_t rank)
    +
    mps_res_t mps_ap_create(mps_ap_t *ap_o, mps_pool_t pool,
    +                        mps_rank_t rank)
     

    rank specifies the rank of references in objects @@ -162,7 +162,7 @@ allocated on this allocation point. It must be title="next chapter">Internals

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -170,7 +170,7 @@ allocated on this allocation point. It must be

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -190,7 +190,7 @@ allocated on this allocation point. It must be
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Pool reference »
  • diff --git a/mps/manual/html/search.html b/mps/manual/html/search.html index c55a110d4b1..5dff5398ffb 100644 --- a/mps/manual/html/search.html +++ b/mps/manual/html/search.html @@ -8,7 +8,7 @@ - Search — Memory Pool System 1.110.0 documentation + Search — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -41,7 +41,7 @@
  • index
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -84,7 +84,7 @@

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -92,7 +92,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -106,7 +106,7 @@
  • index
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -231,10 +231,10 @@ may point to the old location of blocks that moved.

    The usual implementation of the allocation point protocol in C is thus:

    -
    mps_addr_t p;
    -obj_t obj;
    +
    mps_addr_t p;
    +obj_t obj;
     do {
    -    mps_res_t res = mps_reserve(&p, ap, size);
    +    mps_res_t res = mps_reserve(&p, ap, size);
         if (res != MPS_RES_OK) /* handle the error */;
         /* p is now an ambiguous reference to the reserved block */
         obj = p;
    @@ -338,18 +338,18 @@ may evaluate its arguments multiple times.

    5.4. Example: allocating a symbol

    typedef struct symbol_s {
    -    type_t type;                  /* TYPE_SYMBOL */
    +    type_t type;                  /* TYPE_SYMBOL */
         size_t length;                /* length of symbol string (excl. NUL) */
         char string[1];               /* symbol string, NUL terminated */
    -} symbol_s, *symbol_t;
    +} symbol_s, *symbol_t;
     
    -symbol_t make_symbol(size_t length, char string[])
    +symbol_t make_symbol(size_t length, char string[])
     {
    -    symbol_t symbol;
    -    mps_addr_t addr;
    +    symbol_t symbol;
    +    mps_addr_t addr;
         size_t size = ALIGN(offsetof(symbol_s, string) + length+1);
         do {
    -        mps_res_t res = mps_reserve(&addr, ap, size);
    +        mps_res_t res = mps_reserve(&addr, ap, size);
             if (res != MPS_RES_OK) error("out of memory in make_symbol");
             symbol = addr;
             symbol->type = TYPE_SYMBOL;
    @@ -414,21 +414,21 @@ choosing. See 

    5.6. Example: inserting into a doubly linked list

    This example contains several mistakes. See the highlighted lines:

    typedef struct link_s {
    -    type_t type;                       /* TYPE_LINK */
    +    type_t type;                       /* TYPE_LINK */
         /* all three of these pointers are fixed: */
         struct link_s *prev;
         struct link_s *next;
    -    obj_t obj;
    -} link_s, *link_t;
    +    obj_t obj;
    +} link_s, *link_t;
     
     /* insert 'obj' into the doubly-linked list after 'head' */
    -link_t insert_link(link_t head, obj_t obj)
    +link_t insert_link(link_t head, obj_t obj)
     {
    -    mps_addr_t p;
    -    link_t link;
    +    mps_addr_t p;
    +    link_t link;
         size_t size = ALIGN(sizeof(link_s));
         do {
    -        mps_res_t res = mps_reserve(&p, ap, size);
    +        mps_res_t res = mps_reserve(&p, ap, size);
             if (res != MPS_RES_OK) error("out of memory");
             link = p;
             link->type = TYPE_LINK;
    @@ -454,13 +454,13 @@ be deferred until after a successful commit.
     scan method, so it must be initialized before the call to commit.
     
     

    A correct version of insert_link looks like this:

    -
    link_t insert_link(link_t head, obj_t obj)
    +
    link_t insert_link(link_t head, obj_t obj)
     {
    -    mps_addr_t p;
    -    link_t link;
    +    mps_addr_t p;
    +    link_t link;
         size_t size = ALIGN(sizeof(link_s));
         do {
    -        mps_res_t res = mps_reserve(&p, ap, size);
    +        mps_res_t res = mps_reserve(&p, ap, size);
             if (res != MPS_RES_OK) error("out of memory");
             link = p;
             link->type = TYPE_LINK;
    @@ -574,9 +574,9 @@ instruction at this point.

    The type of the structure used to represent allocation points:

    typedef struct mps_ap_s {
    -    mps_addr_t init;
    -    mps_addr_t alloc;
    -    mps_addr_t limit;
    +    mps_addr_t init;
    +    mps_addr_t alloc;
    +    mps_addr_t limit;
         /* ... private fields ... */
     } mps_ap_s;
     
    @@ -651,7 +651,7 @@ when the allocation point has insufficient space.

    title="next chapter">6. Object formats

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -659,7 +659,7 @@ when the allocation point has insufficient space.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -679,7 +679,7 @@ when the allocation point has insufficient space.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/arena.html b/mps/manual/html/topic/arena.html index b2f5acf4f85..c2f30a67512 100644 --- a/mps/manual/html/topic/arena.html +++ b/mps/manual/html/topic/arena.html @@ -8,7 +8,7 @@ - 3. Arenas — Memory Pool System 1.110.0 documentation + 3. Arenas — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -166,9 +166,9 @@ and . This memory chunk is passed when the arena is created.

    When creating a client arena, mps_arena_create() takes two extra arguments:

    -
    mps_res_t mps_arena_create(mps_arena_t *arena_o,
    -                           mps_arena_class_t mps_arena_class_cl,
    -                           size_t size, mps_addr_t base)
    +
    mps_res_t mps_arena_create(mps_arena_t *arena_o,
    +                           mps_arena_class_t mps_arena_class_cl,
    +                           size_t size, mps_addr_t base)
     

    base is the address of the chunk of memory that will @@ -215,8 +215,8 @@ where to place mps_arena_create() takes one extra argument:

    -
    mps_res_t mps_arena_create(mps_arena_t *arena_o,
    -                           mps_arena_class_t arena_class_vm(),
    +
    mps_res_t mps_arena_create(mps_arena_t *arena_o,
    +                           mps_arena_class_t arena_class_vm(),
                                size_t size)
     
    @@ -797,7 +797,7 @@ cannot be restored more than once.

    title="next chapter">4. Pools

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -805,7 +805,7 @@ cannot be restored more than once.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -825,7 +825,7 @@ cannot be restored more than once.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/cache.html b/mps/manual/html/topic/cache.html index 327763fa923..6ae1ee1f59d 100644 --- a/mps/manual/html/topic/cache.html +++ b/mps/manual/html/topic/cache.html @@ -8,7 +8,7 @@ - 14. Segregated allocation caches — Memory Pool System 1.110.0 documentation + 14. Segregated allocation caches — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -70,7 +70,7 @@ small number of relatively long-lived 128-byte objects, and a large number of relatively short-lived 8-byte objects, we might create a cache as follows:

    mps_sac_class_s classes[3] = {{8, 100, 10}, {128, 8, 1}};
    -mps_sac_t sac;
    +mps_sac_t sac;
     
     res = mps_sac_create(&sac, pool, sizeof classes / sizeof classes[0], classes);
     if (res != MPS_RES_OK)
    @@ -83,8 +83,8 @@ otherwise from the pool. Similarly, deallocations through the cache
     (using mps_sac_free() or MPS_SAC_FREE_FAST()) return
     the block to the appopriate free list for its size. For example:

    Foo *foo;
    -mps_addr_t p;
    -mps_res_t res;
    +mps_addr_t p;
    +mps_res_t res;
     
     res = mps_sac_alloc(&p, sac, sizeof *foo, false);
     if (res != MPS_RES_OK)
    @@ -415,7 +415,7 @@ the function.

    title="next chapter">15. Allocation patterns

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -423,7 +423,7 @@ the function.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -443,7 +443,7 @@ the function.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/collection.html b/mps/manual/html/topic/collection.html index 24d81cfbf3b..a2f7d9d3a02 100644 --- a/mps/manual/html/topic/collection.html +++ b/mps/manual/html/topic/collection.html @@ -8,7 +8,7 @@ - 10. Garbage collection — Memory Pool System 1.110.0 documentation + 10. Garbage collection — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -74,8 +74,8 @@ prepared to start collecting the generation. See { 2048, 0.4 }, }; -mps_chain_t chain; -mps_res_t res; +mps_chain_t chain; +mps_res_t res; res = mps_chain_create(&chain, arena, sizeof(gen_params) / sizeof(gen_params[0]), gen_params); @@ -346,7 +346,7 @@ collection
    that generated the message.

    title="next chapter">11. Messages

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -354,7 +354,7 @@ collection that generated the message.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -374,7 +374,7 @@ collection that generated the message.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/critical.html b/mps/manual/html/topic/critical.html index bee90798f0f..a4eb0e900f0 100644 --- a/mps/manual/html/topic/critical.html +++ b/mps/manual/html/topic/critical.html @@ -8,7 +8,7 @@ - 3. The critical path — Memory Pool System 1.110.0 documentation + 3. The critical path — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • @@ -164,18 +164,18 @@ a client function of type Object formats.)

    Here is an example of part of a format scanner for scanning contiguous runs of pointers, from fmtdy.c, the scanner for the Open Dylan runtime:

    -
    static mps_res_t dylan_scan_contig(mps_ss_t mps_ss,
    -                                   mps_addr_t *base, mps_addr_t *limit)
    +
    static mps_res_t dylan_scan_contig(mps_ss_t mps_ss,
    +                                   mps_addr_t *base, mps_addr_t *limit)
     {
    -  mps_res_t res;
    -  mps_addr_t *p;        /* reference cursor */
    -  mps_addr_t r;         /* reference to be fixed */
    +  mps_res_t res;
    +  mps_addr_t *p;        /* reference cursor */
    +  mps_addr_t r;         /* reference to be fixed */
     
       MPS_SCAN_BEGIN(mps_ss) {
               p = base;
         loop: if(p >= limit) goto out;
               r = *p++;
    -          if(((mps_word_t)r&3) != 0) /* pointers tagged with 0 */
    +          if(((mps_word_t)r&3) != 0) /* pointers tagged with 0 */
                 goto loop;             /* not a pointer */
               if(!MPS_FIX1(mps_ss, r)) goto loop;
               res = MPS_FIX2(mps_ss, p-1);
    @@ -368,7 +368,7 @@ vigilant.

    title="next chapter">Design

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -376,7 +376,7 @@ vigilant.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -396,7 +396,7 @@ vigilant.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • diff --git a/mps/manual/html/topic/debugging.html b/mps/manual/html/topic/debugging.html index e0a90558ebb..285fc192145 100644 --- a/mps/manual/html/topic/debugging.html +++ b/mps/manual/html/topic/debugging.html @@ -8,7 +8,7 @@ - 17. Debugging pools — Memory Pool System 1.110.0 documentation + 17. Debugging pools — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -115,8 +115,8 @@ signal an error or stop if wrongly interpreted as executable code. (void *)"postpost", 8, (void *)"freefree", 8, }; -mps_pool_t pool; -mps_res_t res; +mps_pool_t pool; +mps_res_t res; res = mps_pool_create(&pool, arena, mps_class_ams_debug(), &debug_options, &fmt, &chain) if (res != MPS_RES_OK) error("can't create debug pool"); @@ -195,7 +195,7 @@ non-debugging pools.

    title="next chapter">18. Telemetry

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -203,7 +203,7 @@ non-debugging pools.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -223,7 +223,7 @@ non-debugging pools.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/error.html b/mps/manual/html/topic/error.html index 8b6620ac4b3..d7b79b1afa1 100644 --- a/mps/manual/html/topic/error.html +++ b/mps/manual/html/topic/error.html @@ -8,7 +8,7 @@ - 2. Error handing — Memory Pool System 1.110.0 documentation + 2. Error handing — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -344,7 +344,7 @@ consequently there are no assertions.

    title="next chapter">3. Arenas

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -352,7 +352,7 @@ consequently there are no assertions.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -372,7 +372,7 @@ consequently there are no assertions.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/finalization.html b/mps/manual/html/topic/finalization.html index 3ef563aa722..f55781aeddd 100644 --- a/mps/manual/html/topic/finalization.html +++ b/mps/manual/html/topic/finalization.html @@ -8,7 +8,7 @@ - 12. Finalization — Memory Pool System 1.110.0 documentation + 12. Finalization — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -62,7 +62,7 @@ acquisition of an external resource such as a file handle or a network connection. When the block dies, the corresponding resource must be released. This procedure is known as finalization.

    A block requiring finalization must be registered by calling mps_finalize():

    -
    mps_addr_t ref = block_requiring_finalization;
    +
    mps_addr_t ref = block_requiring_finalization;
     mps_finalize(arena, &ref);
     
    @@ -337,7 +337,7 @@ prevent its reclamation.

    title="next chapter">13. Location dependency

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -345,7 +345,7 @@ prevent its reclamation.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -365,7 +365,7 @@ prevent its reclamation.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/format.html b/mps/manual/html/topic/format.html index 38da09953ed..2c5b0d145d5 100644 --- a/mps/manual/html/topic/format.html +++ b/mps/manual/html/topic/format.html @@ -8,7 +8,7 @@ - 6. Object formats — Memory Pool System 1.110.0 documentation + 6. Object formats — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -114,9 +114,9 @@ of.

    obj_pad }; -mps_pool_t obj_pool; -mps_fmt_t obj_fmt; -mps_res_t res; +mps_pool_t obj_pool; +mps_fmt_t obj_fmt; +mps_res_t res; res = mps_fmt_create_A(&obj_fmt, arena, &obj_fmt_s); if (res != MPS_RES_OK) error("Couldn't create obj format"); @@ -132,13 +132,13 @@ of.

    The type of the structure used to create an object format of variant A.

    typedef struct mps_fmt_A_s {
    -    mps_align_t     align;
    -    mps_fmt_scan_t  scan;
    -    mps_fmt_skip_t  skip;
    -    mps_fmt_copy_t  copy;
    -    mps_fmt_fwd_t   fwd;
    -    mps_fmt_isfwd_t isfwd;
    -    mps_fmt_pad_t   pad;
    +    mps_align_t     align;
    +    mps_fmt_scan_t  scan;
    +    mps_fmt_skip_t  skip;
    +    mps_fmt_copy_t  copy;
    +    mps_fmt_fwd_t   fwd;
    +    mps_fmt_isfwd_t isfwd;
    +    mps_fmt_pad_t   pad;
     } mps_fmt_A_s;
     
    @@ -189,14 +189,14 @@ calling object format of variant B.

    typedef struct mps_fmt_B_s {
    -    mps_align_t     align;
    -    mps_fmt_scan_t  scan;
    -    mps_fmt_skip_t  skip;
    -    mps_fmt_copy_t  copy;
    -    mps_fmt_fwd_t   fwd;
    -    mps_fmt_isfwd_t isfwd;
    -    mps_fmt_pad_t   pad;
    -    mps_fmt_class_t mps_class;
    +    mps_align_t     align;
    +    mps_fmt_scan_t  scan;
    +    mps_fmt_skip_t  skip;
    +    mps_fmt_copy_t  copy;
    +    mps_fmt_fwd_t   fwd;
    +    mps_fmt_isfwd_t isfwd;
    +    mps_fmt_pad_t   pad;
    +    mps_fmt_class_t mps_class;
     } mps_fmt_B_s;
     
    @@ -223,12 +223,12 @@ return an appropriate object format of variant auto-header.

    typedef struct mps_fmt_auto_header_s {
    -    mps_align_t     align;
    -    mps_fmt_scan_t  scan;
    -    mps_fmt_skip_t  skip;
    -    mps_fmt_fwd_t   fwd;
    -    mps_fmt_isfwd_t isfwd;
    -    mps_fmt_pad_t   pad;
    +    mps_align_t     align;
    +    mps_fmt_scan_t  scan;
    +    mps_fmt_skip_t  skip;
    +    mps_fmt_fwd_t   fwd;
    +    mps_fmt_isfwd_t isfwd;
    +    mps_fmt_pad_t   pad;
         size_t          mps_headerSize;
     } mps_fmt_auto_header_s;
     
    @@ -615,7 +615,7 @@ their contents; title="next chapter">7. Scanning

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -623,7 +623,7 @@ their contents;

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -643,7 +643,7 @@ their contents;
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/frame.html b/mps/manual/html/topic/frame.html index 8f90420b866..e8f6f7fa400 100644 --- a/mps/manual/html/topic/frame.html +++ b/mps/manual/html/topic/frame.html @@ -8,7 +8,7 @@ - 16. Allocation frames — Memory Pool System 1.110.0 documentation + 16. Allocation frames — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -151,7 +151,7 @@ twice (so the sequence “A = push, pop A, pop A” is illegal).

    title="next chapter">17. Debugging pools

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -159,7 +159,7 @@ twice (so the sequence “A = push, pop A, pop A” is illegal).

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -179,7 +179,7 @@ twice (so the sequence “A = push, pop A, pop A” is illegal).

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/index.html b/mps/manual/html/topic/index.html index e5f87a69884..c2058d5f2d6 100644 --- a/mps/manual/html/topic/index.html +++ b/mps/manual/html/topic/index.html @@ -8,7 +8,7 @@ - Reference — Memory Pool System 1.110.0 documentation + Reference — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -212,7 +212,7 @@ title="next chapter">1. Interface conventions

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -220,7 +220,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -240,7 +240,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -185,7 +185,7 @@ is read by the function. See for example
    /* allocate a struct foo */
     struct foo *fp;
    -res = mps_alloc((mps_addr_t *)&fp, pool, sizeof(struct foo));
    +res = mps_alloc((mps_addr_t *)&fp, pool, sizeof(struct foo));
     

    This is known as type punning, and its behaviour is not @@ -194,7 +194,7 @@ defined in ANSI/ISO Standard C. See

    mps_addr_t p;
    +
    diff --git a/mps/manual/html/topic/internals.html b/mps/manual/html/topic/internals.html index 1373a4fa1b2..2e0ce55ea27 100644 --- a/mps/manual/html/topic/internals.html +++ b/mps/manual/html/topic/internals.html @@ -8,7 +8,7 @@ - Internals — Memory Pool System 1.110.0 documentation + Internals — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -43,7 +43,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -99,7 +99,7 @@ title="next chapter">1. Plinth

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -107,7 +107,7 @@

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -127,7 +127,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • @@ -93,11 +93,11 @@ or elsewhere; that doesn’t matter.

    For example, the toy Scheme interpreter inlines the location dependency in its hash table structure:

    typedef struct table_s {
    -  type_t type;                  /* TYPE_TABLE */
    -  hash_t hash;                  /* hash function */
    -  cmp_t cmp;                    /* comparison function */
    +  type_t type;                  /* TYPE_TABLE */
    +  hash_t hash;                  /* hash function */
    +  cmp_t cmp;                    /* comparison function */
       mps_ld_s ld;                  /* location dependency */
    -  obj_t buckets;                /* hash buckets */
    +  obj_t buckets;                /* hash buckets */
     } table_s;
     
    @@ -125,12 +125,12 @@ references from one dependency to another.

    that is added to the table must be added to the dependency before its address is hashed. In the toy Scheme interpreter this is most easily done in the function that hashes an address:

    -
    static unsigned long eq_hash(obj_t obj, mps_ld_t ld)
    +
    static unsigned long eq_hash(obj_t obj, mps_ld_t ld)
     {
    -    union {char s[sizeof(obj_t)]; obj_t addr;} u;
    +    union {char s[sizeof(obj_t)]; obj_t addr;} u;
         if (ld) mps_ld_add(ld, arena, obj);
         u.addr = obj;
    -    return hash(u.s, sizeof(obj_t));
    +    return hash(u.s, sizeof(obj_t));
     }
     
    @@ -168,7 +168,7 @@ old locations of the blocks; and

    For example, in the case of a hash table you should rehash based on the new locations of the blocks.

    -
    static obj_t table_ref(obj_t tbl, obj_t key)
    +
    static obj_t table_ref(obj_t tbl, obj_t key)
     {
         struct bucket_s *b = buckets_find(tbl, tbl->table.buckets, key, NULL);
         if (b && b->key != NULL && b->key != obj_deleted)
    @@ -229,7 +229,7 @@ found in the table.

    The type of the structure used to represent a location dependency.

    typedef struct mps_ld_s {
    -    mps_word_t w0, w1;
    +    mps_word_t w0, w1;
     } mps_ld_s;
     
    @@ -372,7 +372,7 @@ other location dependency function.

    title="next chapter">14. Segregated allocation caches

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -380,7 +380,7 @@ other location dependency function.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -400,7 +400,7 @@ other location dependency function.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/message.html b/mps/manual/html/topic/message.html index 9bf9dbf785b..82d6dd19e33 100644 --- a/mps/manual/html/topic/message.html +++ b/mps/manual/html/topic/message.html @@ -8,7 +8,7 @@ - 11. Messages — Memory Pool System 1.110.0 documentation + 11. Messages — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -103,11 +103,11 @@ messages from the message queue and prints a description of the contents of each one:

    static void mps_chat(void)
     {
    -    mps_message_type_t type;
    +    mps_message_type_t type;
     
         while (mps_message_queue_type(&type, arena)) {
    -        mps_message_t message;
    -        mps_bool_t b;
    +        mps_message_t message;
    +        mps_bool_t b;
             b = mps_message_get(&message, arena, type);
             assert(b); /* we just checked there was one */
     
    @@ -380,7 +380,7 @@ usually simpler to call 12. Finalization

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -388,7 +388,7 @@ usually simpler to call Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -408,7 +408,7 @@ usually simpler to call previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/pattern.html b/mps/manual/html/topic/pattern.html index 1297de53b59..2e677d70a96 100644 --- a/mps/manual/html/topic/pattern.html +++ b/mps/manual/html/topic/pattern.html @@ -8,7 +8,7 @@ - 15. Allocation patterns — Memory Pool System 1.110.0 documentation + 15. Allocation patterns — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -201,7 +201,7 @@ ended.

    title="next chapter">16. Allocation frames

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -209,7 +209,7 @@ ended.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -229,7 +229,7 @@ ended.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/platform.html b/mps/manual/html/topic/platform.html index 7acb6dbf058..3aefc2de264 100644 --- a/mps/manual/html/topic/platform.html +++ b/mps/manual/html/topic/platform.html @@ -8,7 +8,7 @@ - 2. Platforms — Memory Pool System 1.110.0 documentation + 2. Platforms — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • @@ -653,7 +653,7 @@ the Memory Pool System, with their current status.

    title="next chapter">3. The critical path

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -661,7 +661,7 @@ the Memory Pool System, with their current status.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -681,7 +681,7 @@ the Memory Pool System, with their current status.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • diff --git a/mps/manual/html/topic/plinth.html b/mps/manual/html/topic/plinth.html index 388d397c14d..cb9a212e302 100644 --- a/mps/manual/html/topic/plinth.html +++ b/mps/manual/html/topic/plinth.html @@ -8,7 +8,7 @@ - 1. Plinth — Memory Pool System 1.110.0 documentation + 1. Plinth — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • @@ -218,13 +218,13 @@ scheduling decisions and the quality of telemetry output. For instance, with getrusage():

    #include <sys/resource.h>
     
    -mps_clock_t mps_clock(void) {
    +mps_clock_t mps_clock(void) {
         struct rusage s;
         int res = getrusage(RUSAGE_SELF, &s);
         if (res != 0) {
             /* handle error */
         }
    -    return ((mps_clock_t)s.ru_utime.tv_sec) * 1000000 + s.ru_utime.tv_usec;
    +    return ((mps_clock_t)s.ru_utime.tv_sec) * 1000000 + s.ru_utime.tv_usec;
     }
     
    @@ -461,7 +461,7 @@ environment variable 2. Platforms

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -469,7 +469,7 @@ environment variable Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -489,7 +489,7 @@ environment variable previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Internals »
  • diff --git a/mps/manual/html/topic/pool.html b/mps/manual/html/topic/pool.html index 5a37eb1f07f..41a59d242b9 100644 --- a/mps/manual/html/topic/pool.html +++ b/mps/manual/html/topic/pool.html @@ -8,7 +8,7 @@ - 4. Pools — Memory Pool System 1.110.0 documentation + 4. Pools — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -193,7 +193,7 @@ the 5. Allocation

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -201,7 +201,7 @@ the Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -221,7 +221,7 @@ the previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/root.html b/mps/manual/html/topic/root.html index c4071fc9c09..7a505831331 100644 --- a/mps/manual/html/topic/root.html +++ b/mps/manual/html/topic/root.html @@ -8,7 +8,7 @@ - 9. Roots — Memory Pool System 1.110.0 documentation + 9. Roots — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -168,8 +168,8 @@ the work function is not inlined so that the address is definitely in the stack frame below any potential roots.

    For example, here’s the code from the toy Scheme interpreter that registers a thread root and then calls the program:

    -
    diff --git a/mps/manual/html/topic/scanning.html b/mps/manual/html/topic/scanning.html index f9c3aec2dc2..03758e8d070 100644 --- a/mps/manual/html/topic/scanning.html +++ b/mps/manual/html/topic/scanning.html @@ -8,7 +8,7 @@ - 7. Scanning — Memory Pool System 1.110.0 documentation + 7. Scanning — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -121,12 +121,12 @@ reference is within the object and need not be stripped. So your code might look like this:

    if (MPS_FIX1(ss, obj->ref)) {
         /* strip the tag */
    -    mps_addr_t p = obj->ref & ~0x7;
    -    mps_res_t res = MPS_FIX2(ss, &p);
    +    mps_addr_t p = obj->ref & ~0x7;
    +    mps_res_t res = MPS_FIX2(ss, &p);
         if (res != MPS_RES_OK) return res;
         /* restore the tag and update reference */
    -    mps_word_t tag = obj->ref & 0x7;
    -    obj->ref = (obj_t)((char *)p + tag);
    +    mps_word_t tag = obj->ref & 0x7;
    +    obj->ref = (obj_t)((char *)p + tag);
     }
     
    @@ -244,11 +244,11 @@ reference and cast it to this type. The behaviour of such a cast is not defined by the C standard. See Type punning.

    Here’s the Scheme scanner:

    -
    static mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    static mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            obj_t obj = base;
    +            obj_t obj = base;
                 switch (obj->type.type) {
                     case TYPE_PAIR:
                         FIX(obj->pair.car);
    @@ -366,10 +366,10 @@ references inside the object’s data_scan. In order to ensure that the scan state is passed
     correctly to data_scan, the call must be wrapped in
     MPS_FIX_CALL().

    -
    mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
    -    obj_t obj;
    -    mps_res_t res;
    +    obj_t obj;
    +    mps_res_t res;
         MPS_SCAN_BEGIN(ss) {
             for (obj = base; obj < limit; obj++) {
                 if (MPS_FIX12(ss, &obj->left) != MPS_RES_OK)
    @@ -529,7 +529,7 @@ ensure that the scan state is passed correctly.

    title="next chapter">8. Threads

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -537,7 +537,7 @@ ensure that the scan state is passed correctly.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -557,7 +557,7 @@ ensure that the scan state is passed correctly.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/telemetry.html b/mps/manual/html/topic/telemetry.html index 137c8773614..1bab8e7814b 100644 --- a/mps/manual/html/topic/telemetry.html +++ b/mps/manual/html/topic/telemetry.html @@ -8,7 +8,7 @@ - 18. Telemetry — Memory Pool System 1.110.0 documentation + 18. Telemetry — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -635,7 +635,7 @@ then calling this function has no effect.

    title="next chapter">19. Weak references

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -643,7 +643,7 @@ then calling this function has no effect.

    Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -663,7 +663,7 @@ then calling this function has no effect.

  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/thread.html b/mps/manual/html/topic/thread.html index 3bdaf1dbc99..1a346b85628 100644 --- a/mps/manual/html/topic/thread.html +++ b/mps/manual/html/topic/thread.html @@ -8,7 +8,7 @@ - 8. Threads — Memory Pool System 1.110.0 documentation + 8. Threads — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -240,7 +240,7 @@ to 9. Roots

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -248,7 +248,7 @@ to Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -268,7 +268,7 @@ to previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/html/topic/weak.html b/mps/manual/html/topic/weak.html index 7de67c85e16..8e4a7e8b893 100644 --- a/mps/manual/html/topic/weak.html +++ b/mps/manual/html/topic/weak.html @@ -8,7 +8,7 @@ - 19. Weak references — Memory Pool System 1.110.0 documentation + 19. Weak references — Memory Pool System 1.111.0 documentation @@ -16,7 +16,7 @@ - + @@ -44,7 +44,7 @@
  • previous |
  • -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • @@ -78,14 +78,14 @@ all weak references to the block have been splatted, the block may be reclaimed.

    For example, a scan method for objects in an AWL pool might look like this:

    -
    mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
    +
    mps_res_t obj_scan(mps_ss_t ss, mps_addr_t base, mps_addr_t limit)
     {
         MPS_SCAN_BEGIN(ss) {
             while (base < limit) {
    -            obj_t obj = base;
    -            mps_addr_t p = obj->ref;
    +            obj_t obj = base;
    +            mps_addr_t p = obj->ref;
                 if (MPS_FIX1(ss, p)) {
    -                mps_res_t res = MPS_FIX2(ss, &p);
    +                mps_res_t res = MPS_FIX2(ss, &p);
                     if (res != MPS_RES_OK) return res;
                     if (p == NULL) {
                         /* reference was splatted */
    @@ -147,7 +147,7 @@ that block from being splatted. See Pool reference

    Downloads

    -MPS Kit release 1.110.0
    +MPS Kit release 1.111.0
    All MPS Kit releases

    @@ -155,7 +155,7 @@ that block from being splatted. See Known issues
    -Issues fixed in release 1.110.0 +Issues fixed in release 1.111.0

    Contact us

    mps-questions@ravenbrook.com

    @@ -175,7 +175,7 @@ that block from being splatted. See previous | -
  • Memory Pool System 1.110.0 documentation »
  • +
  • Memory Pool System 1.111.0 documentation »
  • Reference »
  • diff --git a/mps/manual/source/guide/advanced.rst b/mps/manual/source/guide/advanced.rst index d6fd1ba163b..f65de503e9e 100644 --- a/mps/manual/source/guide/advanced.rst +++ b/mps/manual/source/guide/advanced.rst @@ -364,7 +364,7 @@ actually test that ``key`` appears in the table, not just that some key with the same hash does.) When a table is rehashed, call :c:func:`mps_ld_reset` to clear the -location dependency, and the :c:func:`mps_ld_add` for each key before it is added back to the table. +location dependency, and then :c:func:`mps_ld_add` for each key before it is added back to the table. .. note:: diff --git a/mps/procedure/release-build/index.html b/mps/procedure/release-build/index.html index 65f66f2db13..2934ff37186 100644 --- a/mps/procedure/release-build/index.html +++ b/mps/procedure/release-build/index.html @@ -8,6 +8,8 @@ Memory Pool System Release Build Procedure + + @@ -79,8 +81,10 @@ set MPS_RELEASE to the correct value (see the rules in the comments), and check strings that contain copyright dates, etc.

    +
  • In configure.ac edit the second argument of AC_INIT to be "release $RELEASE", then open configure for edit and run autoreconf -vif to bring the configure script up to date.

  • +
  • Submit readme.txt, -version.c, and other changed files to Perforce before you +version.c, configure.ac, and other changed files to Perforce before you continue.

  • Determine the CHANGELEVEL at which you’re going to make @@ -120,44 +124,69 @@ version/$VERSION/... | cut -d' ' -f2)

  • 2.3. MPS Kit Tarball and Zip file

    +

    Note: If you are creating a custom variant then vary the release name according to the variant, e.g. mps-cet-1.110.0.zip

    +

    On a Unix box:

      +
    1. +

      Create a Perforce client workspace that maps: +

        +
      • version/VERSION/... to mps-kit-RELEASE/...
      • +
      • release/RELEASE/... to release/RELEASE/...
      • +
      +

      +
    2. + +
    3. Ensure the Perforce client workspace is set for Unix (LF) line endings.

    4. +
    5. Sync the version sources to CHANGELEVEL by repeating the procedure from step 2.2.1:

      - p4 revert version/$VERSION/...
      - rm -rf version/$VERSION
      - p4 sync -f version/$VERSION/...@$CHANGELEVEL + rm -rf mps-kit-RELEASE
      + p4 sync -f @CHANGELEVEL
    6. -

      Create a tarball and a zip file containing the MPS sources, and - open it for add:

      +//info.ravenbrook.com/project/mps/custom/cet/version/1.110/procedure/release-build/index.html#4 +

      Create a tarball containing the MPS sources, and open it for add:

      - KIT=mps-kit-$RELEASE
      - cp -R version/$VERSION $KIT
      - mkdir -p release/$RELEASE
      - tar cf - $KIT | gzip -c > release/$RELEASE/$KIT.tar.gz
      - zip -r release/$RELEASE/$KIT.zip $KIT
      - rm -r $KIT
      - p4 add release/$RELEASE/$KIT.tar.gz
      - p4 add release/$RELEASE/$KIT.zip + mkdir -p release/RELEASE
      + tar czf release/RELEASE/mps-kit-RELEASE.tar.gz mps-kit-RELEASE
      + p4 add release/RELEASE/mps-kit-RELEASE.tar.gz
    7. -
    8. Submit the release files to Perforce with the comment “MPS: -adding the MPS Kit tarball and zip file for -release RELEASE.”

    9. +
    10. Ensure the Perforce client workspace is set for Windows (CRLF) line endings.

    11. + +
    12. Sync the version sources again as in step (2) above.

    13. + +
    14. + +

      Create a zip file containing the MPS sources, and open it for add:

      + +
      + mkdir -p release/RELEASE
      + zip -r release/RELEASE/mps-kit-RELEASE.zip mps-cet-kit-RELEASE
      + p4 add release/RELEASE/mps-kit-RELEASE.zip +
      + +
    15. + +
    16. Revert any changes to your Perforce client line endings. (You probably want them set to local.)

    17. + +
    18. Submit the release files to Perforce with +the comment "MPS: adding the MPS Kit tarball and zip file for +release RELEASE."

    @@ -352,6 +381,16 @@ to mps-discussion@ravenbrook.com< + + + 2012‑09‑24 + + RB + +
    • Make sure zip files contain files with Windows line endings.
    • Use a fresh Perforce client to avoid any possibility of a clash with working files.
    • Different archive name for custom variants.
    + + + 2013-03-20