mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-22 07:51:17 -08:00
Removing tool/robot, as it's no use to anyone else.
Copied from Perforce Change: 30237 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
72bd1af90e
commit
ec19cb2a6d
24 changed files with 0 additions and 1335 deletions
|
|
@ -1,13 +0,0 @@
|
|||
MEMORY MANAGEMENT ROBOT
|
||||
|
||||
|
||||
$HopeName$
|
||||
|
||||
The Memory Management Robot is a pseudo-user who performs tedious
|
||||
tasks on behalf of the MM group and reports any problems found. The
|
||||
crontab files used to perform these automatic actions can be found in
|
||||
HOMEmm!etc:*.cron.
|
||||
|
||||
For information about the Adaptive Memory Management group, see the
|
||||
web page <URL:http://webhost/~mm/> or the MM Information database in
|
||||
Spring.
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM/Dylan product at tip of branch MM_dylan_dove
|
||||
#
|
||||
# $HopeName$
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ci hi he"
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_dove &&
|
||||
mkdir MM_dylan_dove &&
|
||||
cd MM_dylan_dove ||
|
||||
die "Unable to get to Builds/MM_dylan_dove directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_dylan_dove -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_dylan_dove) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_dylan_dove"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of MM_dylan_dove"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
build_lib mpsplan.a
|
||||
|
||||
do_tests testrun
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_dove
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM/Dylan product at tip of branch MM_dylan_jackdaw
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:build:MM_dylan_jackdaw(trunk.1) $
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ci hi he"
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_jackdaw &&
|
||||
mkdir MM_dylan_jackdaw &&
|
||||
cd MM_dylan_jackdaw ||
|
||||
die "Unable to get to Builds/MM_dylan_jackdaw directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_dylan_jackdaw -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_dylan_jackdaw) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_dylan_jackdaw"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of MM_dylan_jackdaw"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
build_lib mpsplan.a
|
||||
build_lib mmdw.a
|
||||
|
||||
do_tests testrun
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_jackdaw
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM/Dylan product at tip of branch MM_dylan_kinglet
|
||||
#
|
||||
# $HopeName$
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ci hi he"
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_kinglet &&
|
||||
mkdir MM_dylan_kinglet &&
|
||||
cd MM_dylan_kinglet ||
|
||||
die "Unable to get to Builds/MM_dylan_kinglet directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_dylan_kinglet -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_dylan_kinglet) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_dylan_kinglet"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of MM_dylan_kinglet"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
build_lib mpsplan.a
|
||||
build_lib mmdw.a
|
||||
|
||||
do_tests testrun
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_dylan_kinglet
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM (the MMsrc compound) at tip of branch MM_epcore_anchovy
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:build:MM_epcore_anchovy(trunk.1) $
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ti hi we"
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_anchovy &&
|
||||
mkdir MM_epcore_anchovy &&
|
||||
cd MM_epcore_anchovy ||
|
||||
die "Unable to get to Builds/MM_epcore_anchovy directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_epcore_anchovy -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_epcore_anchovy) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_epcore_anchovy"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of MM_epcore_anchovy"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### Turn telemetry on
|
||||
export MPS_TELEMETRY_CONTROL
|
||||
MPS_TELEMETRY_CONTROL=-1
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build_lib mmsw.a
|
||||
|
||||
do_tests testrunep
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -rf $platform.gmk clean ||
|
||||
die "Unable to clean up trunk"
|
||||
|
||||
do_tests testrun
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_anchovy
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM (the MMsrc compound) at tip of branch MM_epcore_brisling
|
||||
#
|
||||
# $HopeName$
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ti hi we"
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_brisling &&
|
||||
mkdir MM_epcore_brisling &&
|
||||
cd MM_epcore_brisling ||
|
||||
die "Unable to get to Builds/MM_epcore_brisling directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_epcore_brisling -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_epcore_brisling) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_epcore_brisling"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of MM_epcore_brisling"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### Turn telemetry on
|
||||
export MPS_TELEMETRY_CONTROL
|
||||
MPS_TELEMETRY_CONTROL=-1
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build_lib mmsw.a
|
||||
|
||||
do_tests testrunep
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -rf $platform.gmk clean ||
|
||||
die "Unable to clean up trunk"
|
||||
|
||||
do_tests testrun
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_brisling
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
#!/usr/local/bin/bash
|
||||
#
|
||||
# Build and test MM/EP-core at tip of branch MM_epcore_minnow
|
||||
#
|
||||
# $HopeName$
|
||||
#
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_minnow &&
|
||||
mkdir MM_epcore_minnow &&
|
||||
cd MM_epcore_minnow ||
|
||||
die "Unable to get to Builds/MM_epcore_minnow directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_epcore_minnow -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_epcore_minnow) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
function build-lib {
|
||||
for variety in ci he
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_epcore_minnow"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
function do-test {
|
||||
for variety in ci he
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build test $variety/$1 of MM_epcore_minnow"
|
||||
./$platform/$variety/$1 ||
|
||||
die "Failed test $variety/$1 of MM_epcore_minnow"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build-lib mmsw.a
|
||||
|
||||
do-test epvmss
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -r -f $platform.gmk clean ||
|
||||
die "Unable to clean up MM_epcore_minnow"
|
||||
|
||||
for test in lockcov locv mpmss mpsicv poolncv \
|
||||
qs finalcv arenacv amsss
|
||||
## Don't run amcss, because we don't need it on this branch
|
||||
## Don't run awlut, because we don't need it on this branch
|
||||
do
|
||||
do-test $test
|
||||
done
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_minnow
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
#!/usr/local/bin/bash
|
||||
#
|
||||
# Build and test MM/EP-core at tip of branch MM_epcore_sardine
|
||||
#
|
||||
# $HopeName$
|
||||
#
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_sardine &&
|
||||
mkdir MM_epcore_sardine &&
|
||||
cd MM_epcore_sardine ||
|
||||
die "Unable to get to Builds/MM_epcore_sardine directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_epcore_sardine -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_epcore_sardine) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
function build-lib {
|
||||
for variety in ci he
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_epcore_sardine"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
function do-test {
|
||||
for variety in ci he
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build test $variety/$1 of MM_epcore_sardine"
|
||||
./$platform/$variety/$1 ||
|
||||
die "Failed test $variety/$1 of MM_epcore_sardine"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build-lib mmsw.a
|
||||
|
||||
do-test epvmss
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -r -f $platform.gmk clean ||
|
||||
die "Unable to clean up MM_epcore_sardine"
|
||||
|
||||
for test in lockcov locv mpmss mpsicv poolncv \
|
||||
qs finalcv arenacv
|
||||
## Don't run amcss, because we don't need it on this branch
|
||||
## Don't run awlut, because we don't need it on this branch
|
||||
## Don't run amsss, because it takes too long
|
||||
do
|
||||
do-test $test
|
||||
done
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_epcore_sardine
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build and test MM (the MM_src compound) at tip of the trunk
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:build:MM_src_trunk(trunk.31) $
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
varieties="ti ci hi wi ce he we"
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MM_src_trunk &&
|
||||
mkdir MM_src_trunk &&
|
||||
cd MM_src_trunk ||
|
||||
die "Unable to get to Builds/MM_src_trunk directory"
|
||||
|
||||
hope co -compound MMsrc -branch trunk -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(trunk) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of trunk"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
do_tests () {
|
||||
for variety in $varieties
|
||||
do
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "$1 failed for variety $variety of trunk"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### Turn telemetry on
|
||||
export MPS_TELEMETRY_CONTROL
|
||||
MPS_TELEMETRY_CONTROL=-1
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build_lib mmsw.a
|
||||
|
||||
do_tests testrunep
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -rf $platform.gmk clean ||
|
||||
die "Unable to clean up trunk"
|
||||
|
||||
build_lib mps.a
|
||||
|
||||
do_tests testrun
|
||||
|
||||
gnumake -rf $platform.gmk clean ||
|
||||
die "Unable to clean up trunk"
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
#!/usr/local/bin/bash
|
||||
#
|
||||
# Build and test MM/EP-core at tip of branch MMdevel_sw_eq
|
||||
#
|
||||
# $HopeName$
|
||||
#
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMdevel_sw_eq &&
|
||||
mkdir MMdevel_sw_eq &&
|
||||
cd MMdevel_sw_eq ||
|
||||
die "Unable to get to Builds/MMdevel_sw_eq directory"
|
||||
|
||||
hope co -compound MMsrc -branch MMdevel_sw_eq -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MMdevel_sw_eq) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
function build-lib {
|
||||
for variety in dp ro
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MMdevel_sw_eq"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run a test
|
||||
function do-test {
|
||||
for variety in dp ro
|
||||
do
|
||||
date
|
||||
gnumake -r -f ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build test $variety/$1 of MMdevel_sw_eq"
|
||||
./$platform/$variety/$1 ||
|
||||
die "Failed test $variety/$1 of MMdevel_sw_eq"
|
||||
rm mpsio.log
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd src
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
build-lib mmsw.a
|
||||
|
||||
do-test mpmss
|
||||
# no tests for epdl
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
gnumake -r -f $platform.gmk clean ||
|
||||
die "Unable to clean up MMdevel_sw_eq"
|
||||
|
||||
for test in lockcov locv mpsicv poolncv qs
|
||||
## Don't run amcss, because we don't need it on this branch
|
||||
## Don't run dwstress, because we don't need it on this branch
|
||||
## Don't run protcv, because we don't need it on this branch
|
||||
## Don't run weakcv, because we don't need it on this branch
|
||||
do
|
||||
do-test $test
|
||||
done
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMdevel_sw_eq
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/local/bin/bash
|
||||
# impl.sh.checkout: ROBOT CHECKOUT SCRIPT
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:checkout(trunk.9) $
|
||||
#
|
||||
# This script is run in the MM Project Robot's home directory (~mm) as
|
||||
# the user `mm'. It checks out the HOMEmm compound and updates the
|
||||
# crontab, in order be sure that the robot's files are up to date
|
||||
# before the other overnight scripts run.
|
||||
|
||||
hostname=`hostname`; hostname=${hostname%%.*}
|
||||
|
||||
cd $HOME &&
|
||||
hope checkout -compound HOMEmm -recursive -writable-files skip \
|
||||
-extra-files delete -missing-dir create &&
|
||||
crontab $HOME/etc/$hostname.cron
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build the MMsrc compound at tip of branch MM_dylan_jackdaw, and run QA tests
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:mmqa:MMQA_dylan_jackdaw(trunk.4) $
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
shift
|
||||
varieties=$*
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_dylan_jackdaw &&
|
||||
mkdir MMQA_dylan_jackdaw &&
|
||||
cd MMQA_dylan_jackdaw ||
|
||||
die "Unable to get to Builds/MMQA_dylan_jackdaw directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_dylan_jackdaw -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_dylan_jackdaw) from HOPE"
|
||||
|
||||
build=`pwd`
|
||||
mmsrc=$build/src
|
||||
mmqa=$build/MMQA
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_dylan_jackdaw"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run MMQA test suites
|
||||
mmqa_tests () {
|
||||
MMQA_MPS_INCLUDE_DIR=$mmsrc export MMQA_MPS_INCLUDE_DIR
|
||||
MMQA_LOG_DIR=./log export MMQA_LOG_DIR
|
||||
for variety in $varieties
|
||||
do
|
||||
MMQA_MPS_LINK_OBJ="$mmsrc/$platform/$variety/mmdw.a \
|
||||
$mmsrc/$platform/$variety/mpsplan.a" \
|
||||
export MMQA_MPS_LINK_OBJ
|
||||
MMQA_MAIL_SUBJECT="MMQA $1 for variety $variety of MM_dylan_jackdaw:" \
|
||||
export MMQA_MAIL_SUBJECT
|
||||
perl5 ./test/qa clib || die "Unable to compile MMQA library"
|
||||
perl5 ./test/qa runset $1 || die "Failed to run MMQA testset"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd $build &&
|
||||
mkdir MMQA &&
|
||||
cd $mmqa ||
|
||||
die "Unable to get to MMQA directory"
|
||||
|
||||
hope co -compound MMQA -branch trunk -recursive -missing-dir create ||
|
||||
die "Unable to check out MMQA(trunk) from HOPE"
|
||||
|
||||
|
||||
cd $mmsrc
|
||||
build_lib mmdw.a
|
||||
build_lib mpsplan.a
|
||||
|
||||
|
||||
cd $mmqa &&
|
||||
mmqa_tests testsets/dailydw
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_dylan_jackdaw
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build the MMsrc compound at tip of branch MM_dylan_kinglet, and run QA tests
|
||||
#
|
||||
# $HopeName$
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
shift
|
||||
varieties=$*
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_dylan_kinglet &&
|
||||
mkdir MMQA_dylan_kinglet &&
|
||||
cd MMQA_dylan_kinglet ||
|
||||
die "Unable to get to Builds/MMQA_dylan_kinglet directory"
|
||||
|
||||
hope co -compound MMsrc -branch MM_dylan_kinglet -recursive \
|
||||
-writable-files quit -missing-dir create -extra-files skip ||
|
||||
die "Unable to check out MMsrc(MM_dylan_kinglet) from HOPE"
|
||||
|
||||
build=`pwd`
|
||||
mmsrc=$build/src
|
||||
mmqa=$build/MMQA
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_dylan_kinglet"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run MMQA test suites
|
||||
mmqa_tests () {
|
||||
MMQA_MPS_INCLUDE_DIR=$mmsrc export MMQA_MPS_INCLUDE_DIR
|
||||
MMQA_LOG_DIR=./log export MMQA_LOG_DIR
|
||||
for variety in $varieties
|
||||
do
|
||||
MMQA_MPS_LINK_OBJ="$mmsrc/$platform/$variety/mmdw.a \
|
||||
$mmsrc/$platform/$variety/mpsplan.a" \
|
||||
export MMQA_MPS_LINK_OBJ
|
||||
MMQA_MAIL_SUBJECT="MMQA $1 for variety $variety of MM_dylan_kinglet:" \
|
||||
export MMQA_MAIL_SUBJECT
|
||||
perl5 ./test/qa clib || die "Unable to compile MMQA library"
|
||||
perl5 ./test/qa runset $1 || die "Failed to run MMQA testset"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd $build &&
|
||||
mkdir MMQA &&
|
||||
cd $mmqa ||
|
||||
die "Unable to get to MMQA directory"
|
||||
|
||||
hope co -compound MMQA -branch trunk -recursive -missing-dir create ||
|
||||
die "Unable to check out MMQA(trunk) from HOPE"
|
||||
|
||||
|
||||
cd $mmsrc
|
||||
build_lib mmdw.a
|
||||
build_lib mpsplan.a
|
||||
|
||||
|
||||
cd $mmqa &&
|
||||
mmqa_tests testsets/dailydw
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_dylan_kinglet
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build the MMsrc compound at tip of branch MM_epcore_brisling, and run QA tests
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:mmqa:MMQA_epcore_brisling(trunk.4) $
|
||||
|
||||
|
||||
script="`basename $0`"
|
||||
platform=$1
|
||||
shift
|
||||
varieties=$*
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$script $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_epcore_brisling &&
|
||||
mkdir MMQA_epcore_brisling &&
|
||||
cd MMQA_epcore_brisling ||
|
||||
die "Unable to get to Builds/MMQA_epcore_brisling directory"
|
||||
|
||||
build=`pwd`
|
||||
mmsrc=$build/src
|
||||
mmqa=$build/mmqa
|
||||
|
||||
|
||||
hope co -compound MMsrc -branch MM_epcore_brisling -recursive \
|
||||
-missing-dir create ||
|
||||
die "Unable to check out MMsrc(MM_epcore_brisling) from HOPE"
|
||||
|
||||
hope co -compound MMQA -branch trunk -recursive -missing-dir create ||
|
||||
die "Unable to check out MMQA(trunk) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of MM_epcore_brisling"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run MMQA test suites
|
||||
mmqa_tests () {
|
||||
MMQA_MPS_INCLUDE_DIR=$mmsrc export MMQA_MPS_INCLUDE_DIR
|
||||
MMQA_LOG_DIR=./log export MMQA_LOG_DIR
|
||||
for variety in $varieties
|
||||
do
|
||||
if [ "$variety" != "$2" ]
|
||||
then
|
||||
MMQA_MPS_LINK_OBJ="$mmsrc/$platform/$variety/mmsw.a \
|
||||
$mmsrc/$platform/$variety/mpsplan.a" \
|
||||
export MMQA_MPS_LINK_OBJ
|
||||
MMQA_MAIL_SUBJECT="MMQA $1 for variety $variety of MM_epcore_brisling:" \
|
||||
export MMQA_MAIL_SUBJECT
|
||||
perl5 ./test/qa clib || die "Unable to compile MMQA library"
|
||||
perl5 ./test/qa runset $1 || die "Failed to run MMQA testset"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
cd $mmsrc
|
||||
build_lib mmsw.a
|
||||
build_lib mpsplan.a
|
||||
|
||||
|
||||
cd $mmqa &&
|
||||
mmqa_tests testsets/dailysw &&
|
||||
mmqa_tests testsets/dailyswa we
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_epcore_brisling
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Build the MMsrc compound at tip of the trunk, and run QA tests
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:mmqa:MMQA_src_trunk(trunk.6) $
|
||||
|
||||
|
||||
prog="`basename $0`"
|
||||
platform=$1
|
||||
shift
|
||||
varieties=$*
|
||||
|
||||
|
||||
msg () {
|
||||
echo "$prog $platform: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
test -d $HOME/Builds || mkdir $HOME/Builds ||
|
||||
die "Unable to create Builds directory"
|
||||
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_src_trunk &&
|
||||
mkdir MMQA_src_trunk &&
|
||||
cd MMQA_src_trunk ||
|
||||
die "Unable to get to Builds/MMQA_src_trunk directory"
|
||||
|
||||
build=`pwd`
|
||||
mmsrc=$build/src
|
||||
mmqa=$build/mmqa
|
||||
|
||||
|
||||
hope co -compound MMsrc -branch trunk -recursive -missing-dir create ||
|
||||
die "Unable to check out MMsrc(trunk) from HOPE"
|
||||
|
||||
hope co -compound MMQA -branch trunk -recursive -missing-dir create ||
|
||||
die "Unable to check out MMQA(trunk) from HOPE"
|
||||
|
||||
|
||||
## Build a library
|
||||
build_lib () {
|
||||
for variety in $varieties
|
||||
do
|
||||
date
|
||||
gnumake -rf ${platform}.gmk VARIETY=$variety $1 ||
|
||||
die "Unable to build library $1 of trunk"
|
||||
done
|
||||
}
|
||||
|
||||
## Build and run MMQA test suites
|
||||
mmqa_tests () {
|
||||
MMQA_MPS_INCLUDE_DIR=$mmsrc export MMQA_MPS_INCLUDE_DIR
|
||||
MMQA_LOG_DIR=./log export MMQA_LOG_DIR
|
||||
for variety in $varieties
|
||||
do
|
||||
if [ "$variety" != "$3" ]
|
||||
then
|
||||
MMQA_MPS_LINK_OBJ="$mmsrc/$platform/$variety/$2 \
|
||||
$mmsrc/$platform/$variety/mpsplan.a" \
|
||||
export MMQA_MPS_LINK_OBJ
|
||||
MMQA_MAIL_SUBJECT="MMQA $1 for variety $variety of trunk:" \
|
||||
export MMQA_MAIL_SUBJECT
|
||||
perl5 ./test/qa clib || die "Unable to compile MMQA library"
|
||||
perl5 ./test/qa runset $1 || die "Failed to run MMQA testset"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
### SW builds have different compilation options, so they ought to be
|
||||
### done separately. Do them first.
|
||||
|
||||
cd $mmsrc
|
||||
build_lib mmsw.a
|
||||
build_lib mpsplan.a
|
||||
|
||||
cd $mmqa &&
|
||||
mmqa_tests testsets/dailysw mmsw.a &&
|
||||
mmqa_tests testsets/dailyswa mmsw.a we ci
|
||||
|
||||
|
||||
### Then clean up and do the others.
|
||||
|
||||
cd $mmsrc
|
||||
gnumake -rf $platform.gmk clean ||
|
||||
die "Unable to clean up trunk"
|
||||
build_lib mmdw.a
|
||||
build_lib mpsplan.a
|
||||
|
||||
cd $mmqa &&
|
||||
mmqa_tests testsets/dailydw mmdw.a
|
||||
|
||||
|
||||
# If the tests succeeded, delete the junk
|
||||
cd $HOME/Builds &&
|
||||
rm -rf MMQA_src_trunk
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
#!/bin/sh
|
||||
# impl.sh.overnight: RUN A SCRIPT "OVERNIGHT"
|
||||
#
|
||||
# $HopeName: HOMEmm!bin:overnight(trunk.3) $
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# overnight command args...
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This is a general wrapper for a command that you want to run
|
||||
# unattended. The command output is appended to $HOME/var/log/<name>
|
||||
# where the name is the basename of the command. If the command exits
|
||||
# with non-zero status then a mail message is sent to $USER containing
|
||||
# the tail of the log file, otherwise no action is taken.
|
||||
#
|
||||
# This script is more useful than simply using cron, which will mail
|
||||
# you if the command produces _any_ output, whether or not it is
|
||||
# successful. Often, you don't want to know if your script succeeds,
|
||||
# only if it fails.
|
||||
#
|
||||
|
||||
script="`basename $0`"
|
||||
|
||||
msg () {
|
||||
echo "$script: $*" 1>&2
|
||||
}
|
||||
|
||||
die () {
|
||||
msg "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Create log directories if they don't already exist.
|
||||
|
||||
test -d $HOME/var || mkdir $HOME/var ||
|
||||
die "Couldn't create var directory"
|
||||
test -d $HOME/var/log || mkdir $HOME/var/log ||
|
||||
die "Couldn't create log directory"
|
||||
|
||||
logfile="$HOME/var/log/`basename \"$1\"`"
|
||||
|
||||
# truncate log
|
||||
mv "$logfile" "$logfile~" &&
|
||||
tail -1048576c < "$logfile~" > "$logfile" &&
|
||||
rm -f "$logfile~"
|
||||
|
||||
(
|
||||
date "+$script %Y-%m-%d %H:%M:%S started \"$*\""
|
||||
"$@"
|
||||
status="$?"
|
||||
date "+$script %Y-%m-%d %H:%M:%S exited with status $status"
|
||||
exit "$status"
|
||||
) >> "$logfile" 2>&1 ||
|
||||
{
|
||||
status=$?
|
||||
hostname="`hostname`"
|
||||
{
|
||||
echo "To: $USER"
|
||||
echo "Subject: Overnight script \"$1\" failed on $hostname"
|
||||
echo
|
||||
echo "The overnight script failed with exit code $status on $hostname."
|
||||
echo "The end of the log reads:"
|
||||
echo
|
||||
tail -50 "$logfile" | sed -e 's/^/> /'
|
||||
} | /usr/lib/sendmail -t
|
||||
}
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/sh
|
||||
# ==== TIDY UP ROBOT HOME DIRECTORY ====
|
||||
#
|
||||
# This script is run overnight by the Memory Management robot.
|
||||
# It does various housekeeping tasks and checks on the home directory
|
||||
# to keep things in order.
|
||||
|
||||
script="`basename $0`"
|
||||
|
||||
# Clear tmp directory
|
||||
rm -rf $HOME/tmp
|
||||
|
||||
# Truncate log files
|
||||
cd $HOME/var/log &&
|
||||
find $HOME/var/log -type f -size +1048576c -print |
|
||||
while read log
|
||||
do
|
||||
mv "$log" "$log~" &&
|
||||
tail -1048576c < "$log~" > "$log" &&
|
||||
rm -f "$log~"
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# $HopeName: HOMEmm!etc:deja-vu.cron(trunk.11) $
|
||||
# minutes hours day-of-month month day-of-week command
|
||||
10 21 * * * sh -c ". etc/shenv && overnight checkout"
|
||||
20 21 * * * sh -c "./bin/tidy"
|
||||
30 21 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_src_trunk sus8gc"
|
||||
0 1 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_dylan_honeybee sus8gc"
|
||||
30 4 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_dylan_sunflower sus8gc"
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# $HopeName$
|
||||
# minutes hours day-of-month month day-of-week command
|
||||
00 01 * * * sh -c ". etc/shenv && overnight checkout"
|
||||
05 01 * * * sh -c "./bin/tidy"
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# $HopeName: HOMEmm!etc:ocoee.cron(trunk.1) $
|
||||
# minutes hours day-of-month month day-of-week command
|
||||
53 20 * * * sh -c ". etc/shenv && overnight checkout"
|
||||
45 22 * * 1-5 sh -c ". etc/shenv && overnight ./bin/build/MM_src_trunk lii4gc"
|
||||
#30 01 * * 2-5 sh -c ". etc/shenv && overnight ./bin/build/MM_dylan_kinglet lii4gc"
|
||||
30 02 * * 2-3 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_src_trunk lii4gc hi"
|
||||
#55 20 * * 6 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_dylan_kinglet lii4gc ci he"
|
||||
30 02 * * 4 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_src_trunk lii4gc ci wi"
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
# -*- Mode: Shell-script -*-
|
||||
# impl.sh.shenv: MM project robot environment setup
|
||||
# $HopeName: HOMEmm!etc:shenv(trunk.5) $
|
||||
|
||||
PATH="$HOME/bin:/usr/local/bin:/usr/ucb:/usr/bin:/bin:/usr/ccs/bin" export PATH
|
||||
USER=`whoami` export USER
|
||||
|
||||
umask 002
|
||||
|
||||
# stop HOPE complaining about TZ
|
||||
HOPETZ=`date | cut -c21-23` export HOPETZ
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# $HopeName: HOMEmm!etc:trillian.cron(trunk.31) $
|
||||
# minutes hours day-of-month month day-of-week command
|
||||
00 23 * * * sh -c ". etc/shenv && overnight checkout"
|
||||
05 23 * * * sh -c "./bin/tidy"
|
||||
30 23 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_src_trunk sos8gc"
|
||||
50 23 * * * sh -c ". etc/shenv && overnight ./bin/build/MMdevel_sw_eq sospgc"
|
||||
40 00 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_epcore_anchovy sos8gc"
|
||||
20 02 * * * sh -c ". etc/shenv && overnight ./bin/build/MM_dylan_jackdaw sos8gc"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# $HopeName: HOMEmm!etc:zaphod.cron(trunk.15) $
|
||||
# minutes hours day-of-month month day-of-week command
|
||||
50 20 * * * sh -c ". etc/shenv && overnight checkout"
|
||||
55 22 * * 1-4 sh -c ". etc/shenv && overnight ./bin/build/MM_src_trunk sos8gc"
|
||||
#30 01 * * 3 sh -c ". etc/shenv && overnight ./bin/build/MM_epcore_anchovy sos8gc"
|
||||
00 02 * * 2-5 sh -c ". etc/shenv && overnight ./bin/build/MM_epcore_brisling sos8gc"
|
||||
40 02 * * 2-5 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_src_trunk sos8gc hi we"
|
||||
55 20 * * 5 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_src_trunk sos8gc ci"
|
||||
00 20 * * 0 sh -c ". etc/shenv && overnight ./bin/mmqa/MMQA_epcore_brisling sos8gc hi we ci"
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML>
|
||||
<!-- $HopeName: MMweb_internal!Welcome.html(trunk.10) $-->
|
||||
<HEAD>
|
||||
<TITLE>Memory Management</TITLE>
|
||||
<LINK REV="MADE" HREF="mailto:mm-hackers@harlequin.co.uk">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<H1>Memory Management</H1>
|
||||
|
||||
<P>There used to be an Adaptive Memory Management Group; now there
|
||||
isn't.</P>
|
||||
|
||||
|
||||
<H2>The Memory Management Reference</H2>
|
||||
|
||||
<P>We still maintain <A HREF="http://www.harlequin.com/mm/reference/">The
|
||||
Memory Management Reference</A> on Harlequin's external web site
|
||||
(actually Xanalys', but this might change). The latest draft of the
|
||||
next version is available
|
||||
<A HREF="http://www-qa.cam.harlequin.co.uk/xanalys/html/software_tools/mm/">on
|
||||
an internal server</A>; problems in it should be reported to <A
|
||||
HREF="mailto:mm-web-team">mm-web-team</A>.</P>
|
||||
|
||||
|
||||
<H2>Useful links</H2>
|
||||
|
||||
<P>Most useful links can be found in the
|
||||
<A HREF="http://www.harlequin.com/mm/reference/links.html">The Memory
|
||||
Management Reference links page</A>; this is just stuff that didn't
|
||||
make it there, for one reason or another.</P>
|
||||
|
||||
<UL>
|
||||
<LI> <A HREF="http://www.functionalobjects.com/">Functional Objects,
|
||||
Inc.</A>
|
||||
<LI> <A HREF="http://www.cs.ukc.ac.uk/events/ISMM2000/">The 2000
|
||||
International Symposium on Memory Management</A>
|
||||
<LI> <A HREF="http://www.stairways.com/programming/memorymadness.html">Memory
|
||||
Madness - Understanding handles and how to use them</A>, article on
|
||||
Mac memory management
|
||||
</UL>
|
||||
|
||||
<!-- The rest is basically copied from Pekka's bookmarks -->
|
||||
<H3>Allocators</H3>
|
||||
<UL>
|
||||
<LI><A HREF="http://www.cs.colorado.edu/%7Ezorn/Malloc.html">Zorn's list of Malloc/Free Implementations</A>
|
||||
<LI><A HREF="http://gee.cs.oswego.edu/dl/html/malloc.html">Lea's memory allocator</A>
|
||||
<LI><A HREF="http://www.cs.utexas.edu/users/emery/hoard/">Hoard: A Fast, Scalable and Memory-Efficient Allocator for SMPs</A>
|
||||
<LI><A HREF="http://fourmilab.ch/bget/">The BGET Memory Allocator</A>
|
||||
<LI><A HREF="http://members.tripod.com/%7Eradosoft/UltraHeap/">UltraHeap</A>
|
||||
<LI><A HREF="http://www.biit.com/">Biit Inc, Home of HeapManager</A>
|
||||
<LI><A HREF="http://www.ia.pw.edu.pl/Pl-iso/tex-info/libc/libc_27.html">The GNU C Library - Efficiency and Malloc</A>
|
||||
<LI><A HREF="http://rabi.phys.columbia.edu/%7Ezack/code/malloc.html">Draft API for a Revised Memory Allocator</A>
|
||||
<LI><A HREF="http://www.surriel.com/zone-alloc.html">Design for the Linux zone-based memory allocator</A>
|
||||
<LI><A HREF="http://www.dent.med.uni-muenchen.de/%7Ewmglo/malloc-slides.html">Dynamic memory allocator implementations in Linux system libraries</A>
|
||||
</UL><p>
|
||||
<H3>Garbage collectors</H3>
|
||||
<UL>
|
||||
<LI><A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">The Boehm garbage collector for C and C++</A>
|
||||
<LI><A HREF="http://www.yl.is.s.u-tokyo.ac.jp/gc/">Parallel/Distributed Garbage Collectors</A>
|
||||
<LI><A HREF="http://openresource.com/openres/orgs/DP/P/MALI.shtml">MALI Project</A>
|
||||
<LI><A HREF="http://www-sor.inria.fr/projects/sspc/">Stub Scion Pair Chains</A>
|
||||
<LI><A HREF="ftp://ftp.digital.com/pub/DEC/CCgc/">Bartlett's Mostly-Copying GC from DEC WRL</A>
|
||||
</UL><p>
|
||||
<H3>Memory debugging tools</H3>
|
||||
<UL>
|
||||
<LI><A HREF="http://www.cs.colorado.edu/%7Ezorn/MallocDebug.html">Zorn's list of Debugging Tools</A>
|
||||
<LI><A HREF="http://www.pascal-central.com/koryn/memory.html">Pascal Flavoured Memory Integrity</A>
|
||||
<LI><A HREF="ftp://metalab.unc.edu/pub/Linux/devel/lang/c/mpr-2.0.lsm">MPR</A>
|
||||
</UL>
|
||||
|
||||
|
||||
<H2>Papers</H2>
|
||||
|
||||
<P>The versions on webhost are <EM>for distribution within Harlequin
|
||||
and Xanalys only</EM>. For externally published versions, follow
|
||||
links to external sites, where provided.</P>
|
||||
|
||||
<H3>Pekka P. Pirinen: Barrier techniques for incremental tracing</H3>
|
||||
|
||||
<A HREF="http://www.acm.org/pubs/citations/proceedings/plan/286860/p20-pirinen/">
|
||||
published version</A><BR>
|
||||
<A HREF="http://webhost.cam.harlequin.co.uk/%7Emm/barrier1.ps">draft, Postscript,
|
||||
6 pages, 182 KB</A><BR>
|
||||
<A HREF="http://webhost.cam.harlequin.co.uk/%7Emm/barrier1.pdf">draft, PDF 2.1,
|
||||
6 pages, 72 dpi, 136 KB</A><BR>
|
||||
Presented at
|
||||
<A HREF="http://www.sfu.ca/%7Eburton/ismm98.html">the 1998
|
||||
International Symposium on Memory Management</A>.
|
||||
|
||||
<BLOCKQUOTE>Abstract: This paper presents a classification of barrier
|
||||
techniques for interleaving tracing with mutator operation during an
|
||||
incremental garbage collection. The two useful tricolour invariants
|
||||
are derived from more elementary considerations of graph traversal.
|
||||
Barrier techniques for maintaining these invariants are classified
|
||||
according to the action taken at the barrier (such as scanning an
|
||||
object or changing its colour), and it is shown that the algorithms
|
||||
described in the literature cover all the possibilities except one.
|
||||
Unfortunately, the new technique is impractical. Ways of combining
|
||||
barrier techniques are also discussed.</BLOCKQUOTE>
|
||||
|
||||
Comments to <A HREF="mailto:pekka">Pekka</A>, please.
|
||||
|
||||
<HR>
|
||||
<ADDRESS>Contact <A HREF="mailto:mm-hackers">mm-hackers</A></ADDRESS><BR>
|
||||
Last modified: $Date: 2000/03/13 14:00:19 $
|
||||
</BODY>
|
||||
</HTML>
|
||||
Loading…
Add table
Add a link
Reference in a new issue