https://github.com/Unipisa/CMM
Raw File
Tip revision: 0e186db83a043dcfe9c666dd4c90f9e8d1b9234e authored by Giuseppe Attardi on 27 October 1994, 11:26:20 UTC
1.1 -
Tip revision: 0e186db
README
This directory contains a C++ Memory Management facility, aiming to
allow full integration between coexisting different memory
management techniques.

The abstractions of "Container", "Heap Zone", and "Top Level
Collection", are implemented as described in the paper
"A Customisable Memory Management Framework" included in directory doc.

A guide for users is in the file doc/CMMguide.tex; it also acts as a
specification of the public interface to this package.  Additionally,
this file contains some information about how to incorporate your own
memory manager into CMM.

The included files are:

cmm.{H,C}
	This is a rework of the Bartlett's Mostly Copying Collector
	for C++. The code has been modified to make it consistent with
	the C++ CMM interface.

HeapStack.{H,C}
	Two versions of a stack-like CmmHeap have been implemented.  A
	fixed size stack zone (SimpleHeapStack), made from a couple of
	ContainerStacks, and an expandable stack zone (HeapStack) made
	from a list of ContainerStacks.

demo[12].C
	Demo programs, whose source shows how to use CMM in very
	simple cases.

test[12345].C
	test suite.

For a non trivial example of use of CMM, get the file groebner.tar.gz from:

	barsotti.dm.unipi.it:~posso/development/groebner

This is a program to compute Groebner bases, whose memory management
requires appropriate techniques.  Different C++ GCs are included to
allow experimentation.

INSTALLATION
============

This program has been tested under SunOS4 and Linux.
It compiles using g++ (version 2.2.2 or later)

Type:
	> make 

to produce the gcposso.a library. The Makefile entry test and demo will
produce and run test and demo programs.

Bug Reports & Suggestions to the author:

	Tito Flagella - tito@di.unipi.it


The following people have contributed to this work:

Giuseppe Attardi is co-author of the paper "A Customisable Memory
Management Framework", and of the design of CMM.

Carlo Traverso and John Abbott contributed to the design of the interface,
taking part in numerous meetings of the POSSO project.

Joachim Hollman gave precious feedback on the first implementation of CMM.
back to top