From 37b80e5dd6a120a129ebf5328385c8fb35101d66 Mon Sep 17 00:00:00 2001 From: Richard Kistruck Date: Fri, 21 Dec 2007 18:16:34 +0000 Subject: [PATCH] Mps master: version-name and release notes for release 1.108.1 Copied from Perforce Change: 163676 ServerID: perforce.ravenbrook.com --- mps/code/version.c | 2 +- mps/example/hello-world/index.txt | 23 ++++++------- mps/readme.txt | 55 ++++++++++++++++++++++++++----- 3 files changed, 60 insertions(+), 20 deletions(-) diff --git a/mps/code/version.c b/mps/code/version.c index b89b33463c2..582ad8dc785 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.108.0" +#define MPS_RELEASE "release/1.108.1" /* MPSCopyrightNotice -- copyright notice for the binary diff --git a/mps/example/hello-world/index.txt b/mps/example/hello-world/index.txt index 3f04e18be5d..9c8cae4078f 100644 --- a/mps/example/hello-world/index.txt +++ b/mps/example/hello-world/index.txt @@ -14,10 +14,10 @@ To begin, get a copy of the MPS-kit from: Unpack the MPS-kit. (You don't need to compile anything yet, so you can skip the MPS-kit readme.txt file for now). -The MPS-kit unpacks to a directory named "mps-kit-1.108.0" (or similar), +The MPS-kit unpacks to a directory named "mps-kit-1.108.1" (or similar), with subdirectories like this: - mps-kit-1.108.0/ + mps-kit-1.108.1/ code/ design/ example/ @@ -55,7 +55,7 @@ The "mps.h" header file declares the major (non-optional) MPS facilities, and all MPS client code needs to #include it. Find the "mps.h" header file in the "code" subdirectory of the MPS-kit: - mps-kit-1.108.0/code/mps.h + mps-kit-1.108.1/code/mps.h For now, just put a copy of "mps.h" into a working directory where you can try the following examples. Now you can compile and run @@ -132,7 +132,7 @@ The MPS library is available on many platforms: Windows, many Unixes, Mac OS X, etc. See the MPS-kit readme.txt file for details. For example, to compile the MPS library for Mac OS X, you might use this: - % cd mps-kit-1.108.0/code; make -f xcppgc.gmk VARIETY=ci mps.a + % cd mps-kit-1.108.1/code; make -f xcppgc.gmk VARIETY=ci mps.a Briefly: "-f xcppgc.gmk" tells the buildsystem to use the makefile for Mac OS X ("xc"), for the PowerPC architecture ("pp"), using the GCC @@ -154,7 +154,7 @@ choice. However, when we try to link with it, we find that the MPS library itself has dependencies: - % gcc 02checkarenaclassheader.c mps-kit-1.108.0/code/xcppgc/ci/mps.a + % gcc 02checkarenaclassheader.c mps-kit-1.108.1/code/xcppgc/ci/mps.a % # (this will fail) @@ -183,11 +183,11 @@ library). To build the example plinth for Mac OS X, use: - % cd mps-kit-1.108.0/code; make -f xcppgc.gmk VARIETY=ci mpsplan.a + % cd mps-kit-1.108.1/code; make -f xcppgc.gmk VARIETY=ci mpsplan.a Now we can link and run our simple demo file: - % gcc 02checkarenaclassheader.c mps-kit-1.108.0/code/xcppgc/ci/mps.a mps-kit-1.108.0/code/xcppgc/ci/mpsplan.a + % gcc 02checkarenaclassheader.c mps-kit-1.108.1/code/xcppgc/ci/mps.a mps-kit-1.108.1/code/xcppgc/ci/mpsplan.a % ./a.out && echo "success" @@ -270,7 +270,7 @@ bytes and a pointer to the first byte: To run this file: - % gcc 03arena_create.c mps-kit-1.108.0/code/xcppgc/ci/mps.a mps-kit-1.108.0/code/xcppgc/ci/mpsplan.a + % gcc 03arena_create.c mps-kit-1.108.1/code/xcppgc/ci/mps.a mps-kit-1.108.1/code/xcppgc/ci/mpsplan.a % ./a.out @@ -424,7 +424,7 @@ Here is code to create an arena, and create an MV class pool within it: Compiling and running this produces the possibly surprising result that the freshly-created pool has zero (0) bytes free: - % gcc 04pool_create.c mps-kit-1.108.0/code/xcppgc/ci/mps.a mps-kit-1.108.0/code/xcppgc/ci/mpsplan.a + % gcc 04pool_create.c mps-kit-1.108.1/code/xcppgc/ci/mps.a mps-kit-1.108.1/code/xcppgc/ci/mpsplan.a % ./a.out % # (should say: "PoolDemo has 0 bytes free.") @@ -551,7 +551,7 @@ out. To compile and run this: - % gcc 05alloc.c mps-kit-1.108.0/code/xcppgc/ci/mps.a mps-kit-1.108.0/code/xcppgc/ci/mpsplan.a + % gcc 05alloc.c mps-kit-1.108.1/code/xcppgc/ci/mps.a mps-kit-1.108.1/code/xcppgc/ci/mpsplan.a % ./a.out % # (should say: "PoolDemo has 0 bytes free.") % # (and then: "PoolDemo has NNNN bytes free.", where NNNN depends on platform.) @@ -566,11 +566,12 @@ DOCUMENT HISTORY 2006-04-10 RHSK Tidy for release; refer to version/1.106.2 2006-12-13 RHSK Version 1.107 2007-07-06 RHSK Version 1.108 +2007-12-21 RHSK Release 1.108.1 COPYRIGHT AND LICENSE -Copyright (C) 2006 Ravenbrook Limited . +Copyright (C) 2006,2007 Ravenbrook Limited . All rights reserved. This is an open source license. Contact Ravenbrook for commercial licensing options. diff --git a/mps/readme.txt b/mps/readme.txt index a6261dcb6f4..e6a7af65bf5 100644 --- a/mps/readme.txt +++ b/mps/readme.txt @@ -64,8 +64,52 @@ Other changes: ] -This is release 1.108.0, made on 2007-07-05. -Changes from release 1.107.0: +This is release 1.108.1, made on 2007-12-21. +Changes from release 1.108.0: + +Functional changes to MPS code: + + +Limitation: + - if a VM arena (of mps_arena_class_vm) needed to be extended, + and the attempt to extend it was refused by the OS (usually + because the requested address-space was not available), MPS + would not try a smaller extension. +Fixed: MPS now tries to extend the arena by successively smaller + amounts, until the extension succeeds. + + +Defect discovered: + - internal memory-protection state in AMC pools (mps_class_amc) + was incorrect for a brief period of time during a collection, + which could (theoretically) have caused an assert and failure. +However: + - during this brief period, the MPS protection cache masks the + defect. As a result, we believe this defect is unlikely to be + observed in practice (and we have no evidence that it has + ever occurred in practice). +Fixed: maintain memory-protection state correctly in AMC pools. + +Other changes: + + + - in the Mac OS X (PowerPC) build, remove outdated compiler flags. + +The MPS diagnostic system -- which produces diagnostic output for the +purpose of helping MPS programmers and client-code programmers -- is +undergoing improvement. Some early documentation is at + +There is a new build variety "di" that emits diagnostics. + +Note: for further details of this release (including a 'live' report +of defects found after these release-notes were written), and details +of earlier and later releases, please see: + + + + +[ +Historical: changes in release 1.108.0 (2007-07-05). Functional changes to MPS code: @@ -119,12 +163,7 @@ Other changes: - on Mac OS X (Intel) default "all" build works (fix broken compile of amsss stress test). - -Note: for further details of this release (including a 'live' report -of defects found after these release-notes were written), and details -of earlier and later releases, please see: - - +] [ Historical: changes in release 1.107.0 (2006-12-13):