Thu Mar 15 18:30:59 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* NEWS: Version 2.0.5.

Wed Mar 14 20:32:37 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* configure, Makefile.am, Makefile.in, aclocal.m4:
	Disabled shared objects for now, which no longer work.

	* configure.in: Removed -g flag and fixed WorkShop recognition.

	* processheap.h: Workaround for Sun Workshop bug.

	* INSTALL, Makefile.orig: Streamlined makefile.orig.

Tue Mar 13 18:20:18 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/larson/Attic/ptmalloc.h, benchmarks/larson/Attic/ptmalloc.c, benchmarks/larson/Attic/driver_mt.C:
	Adios.

	* ChangeLog, NEWS: Version 2.0.4.

	* NOTES.Windows, threadtest_nohoard.dsp, libhoard.dsw:
	Various Windows build fixes.

	* wrapper.cpp: Added msize_dbg function.

Sat Feb 17 02:38:59 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* NEWS: 2.0.3 check-in.

	* ChangeLog: Update.

	* timer.h: Backed out (broken) changes to timer for now.

	* heap.cpp: Backed out aggressive decommit.

Fri Feb 16 23:19:16 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog: Updated.

Tue Jan 23 22:20:04 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/consume/rrconsume.cpp:
	Round-robin consume, first check-in.

Thu Jan 18 18:25:07 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp: Added aggressive decommit of freed superblocks.

Wed Jan 17 02:52:36 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp: Added a comment.

	* processheap.h: Simplified heap selection.

Tue Jan 16 17:44:18 2001  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* maketable.cpp: Removed out-of-date numBlocks array.

	* heap.cpp:
	Avoid moving anything to the process heap when running on a uniprocessor.

	* arch-specific.cpp:
	hoardGetNumProcessors now caches the number of processors so it can be repeatedly accessed at low cost.

Fri Oct 27 20:51:01 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* timer.h: Fixed for Linux.

	* timer.h: Fixed for Solaris.

Thu Oct 12 17:02:30 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* docs/asplos.pdf.gz: ASPLOS paper.

Tue Oct 10 14:36:30 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* winprojects/threadtest/threadtest.dsp, winprojects/threadtest_hoard/threadtest_hoard.dsp, winprojects/shbench_hoard/shbench_hoard.dsp, winprojects/shbench/shbench.dsp, winprojects/larson/larson.dsp, winprojects/larson_hoard/larson_hoard.dsp, winprojects/activefalse_hoard/activefalse_hoard.dsp, winprojects/activefalse/activefalse.dsp:
	Initial check-in.

Thu Sep 28 17:01:34 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* winprojects/hoard.dsp, winprojects/hoard.dsw, benchmarks/shbench/shbench1.cpp, benchmarks/larson/driver_mt.cpp, threadheap.cpp, timer.h, wrapper.cpp, arch-specific.cpp, cache-scratch.cpp, config.h:
	Roll-in numerous changes.

Fri Sep 22 16:35:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* wrapper.cpp:
	Improved the implementation of realloc (when the size doesn't change).

	* threadheap.cpp: Bug fix -- added a required unlock() to malloc().

Tue Sep 19 22:55:23 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp, arch-specific.h, config.h, log.h, memstat.h, processheap.h, timer.h, wrapper.cpp:
	Windows mods, including change to the empty fraction (to 1/8) and to the number of heaps for hashing (now across MAX_HEAPS). This latter change needs validation on Solaris 14-processors.

Mon Apr 24 03:12:02 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Attic/log2.h: Adios.

Thu Apr 20 15:32:39 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Added -lrt to libs.

Wed Apr 19 16:43:37 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.h, config.h: Moved CACHE_LINE stuff to arch-specific.h.

	* cache-thrash.cpp: Initial check-in.

Tue Apr 18 16:27:51 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* testmymalloc.cpp: Fix (doh).

	* log.h: A file close and a few asserts.

	* benchmarks/consume/Makefile.in, wrapper.cpp, log.h, misc/mergelogs.cpp, misc/mlog.cpp, heap.h, config.h, heap.cpp, misc/fastmergelogs.cpp, Makefile.orig:
	Paper version.

Thu Apr 13 02:32:37 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp: Improved thread id handling for AIX.

Fri Apr  7 16:49:18 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* memstat.h: Made Solaris specific, for now.

	* misc/mlog.cpp: Quick fix for Linux.

	* misc/sortlog.cpp, misc/catlogs.cpp: New log stuff.

	* memstat.h: Some changes.

	* misc/fastmergelogs.cpp, misc/mlog.cpp: Some minor changes.

Thu Apr  6 15:18:01 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp, ChangeLog, NEWS: Version 2.0.2.

Sun Apr  2 16:25:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* memstat.h, misc/fastmergelogs.cpp, misc/mlog.cpp: Revised log stuff.

Sat Apr  1 22:34:04 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* misc/mlog.cpp: Added total object size output.

	* misc/mergelogs.cpp, Attic/log2.h:
	New (cheaper?) version of log for log reading.

Tue Mar 28 16:48:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* config.h: Another AIX fix.

	* NEWS: 2.0.1

Mon Mar 27 21:55:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h, heap.cpp: Fixed the release threshold.

	* ChangeLog: Version 2.0.1.

Sun Mar 26 03:16:51 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp: PPC fix.

	* Makefile.orig: Fix for AIX.

Thu Mar 23 22:36:59 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp:
	Directly incorporated alignment value to workaround a g++ bug on IRIX.

	* heap.cpp, heap.h:
	Removed numBlocks lookup table (computation is more portable).

Wed Mar 22 22:52:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.in, NEWS, configure, configure.in, heap.cpp, Makefile.am:
	Version 2.0.

	* heap.cpp: Removed support for HEAP_FRAG_STATS & HEAP_DEBUG.

	* config.h:
	Reordered stuff to make it clear what may and may not be changed.

	* memstat.h: Fixed time fields.

	* memstat.h: Try builtin timeval thing.

	* misc/mergelogs.cpp: Fixed the equal-time case.

	* heap.h, memstat.h, misc/mergelogs.cpp, misc/mlog.cpp, processheap.cpp, processheap.h, threadheap.cpp, Makefile.in, heap.cpp:
	Cruft removal, plumbed processHeap through to allow Unsbrking memory (if this is a good idea), fixed timing of logs on Solaris.

Tue Mar 21 22:53:03 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* memstat.h: Added an include.

	* threadheap.cpp: Aligned logged size requests.

	* misc/mlog.cpp: Removed a print statement & disabled histogram.

	* misc/mergelogs.cpp: Slight tweak for speed.

	* processheap.cpp: Fixed an ownership problem with logging.

	* Makefile.am, Makefile.in, NEWS, configure, configure.in:
	Changed to version 1.6.

	* processheap.cpp: Eliminated now-superfluous NULL test.

	* processheap.cpp, processheap.h, superblock.cpp, superblock.h, heap.cpp, heap.h:
	Race freedom for superblocks!

Mon Mar 20 22:27:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h, misc/mlog.cpp, processheap.h, heap.cpp:
	Reverted to 'spinlock' version of superblock acquisition (sigh).

	* misc/mlog.cpp: Added a time-ordering assertion.

	* heap.cpp, heap.h: Removed a 'magic number'.

	* processheap.h, threadheap.cpp:
	Ownership changes to eliminate NULL ownership and avoid superblock 'chasing'.

	* log.h: Added a cache pad; removed some spurious fflush(stdout)'s.

	* memstat.h: Added hi-res timer for Solaris.

	* superblock.cpp: Fixed an assert.

	* config.h: Added a note about memalign.

	* heap.cpp: A few more assertions.

	* threadheap.h: Added an assertion to guard against bad memalign calls.

	* heap.h: Empty superblocks can now be immediately reused.

Sun Mar 19 03:19:48 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* block.h, config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp:
	A number of minor fixes.

	* superblock.cpp: Use lookup table for number of blocks.

	* superblock.h: Cleaned up validity checking.

Sat Mar 18 20:28:25 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp, heap.h, maketable.cpp:
	Added numBlocks lookup table; fixed type of hoardHeap::sizeFromClass.

	* arch-specific.cpp: Moved hoardYield out of an ifdef.

	* threadheap.cpp, heap.h, log.h, misc/mlog.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, config.h, heap.cpp:
	Incorporated heap-level superblock recycling; fixed statistics gathering.

Fri Mar 17 16:28:09 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp, heap.h, processheap.h, threadheap.cpp:
	Removed now obsolete heap reassignment stuff in remove*.

	* Makefile.in, Makefile.am: Added 'module' support.

Thu Mar 16 02:32:39 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp, processheap.h, superblock.cpp:
	Restored heap refills.

	* arch-specific.h, processheap.h, arch-specific.cpp:
	Added 'hoardYield'.

Wed Mar 15 23:29:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* NEWS, maketable.cpp, privateheap.cpp, privateheap.h, processheap.h, superblock.cpp, superblock.h, testmymalloc.cpp, block.h, heap.cpp, heap.h, heapstats.h:
	Many fixes.

	* heap.h, heapstats.h, superblock.cpp, superblock.h, heap.cpp:
	Working stats + move-to-front.

	* heap.h, heapstats.h, heap.cpp: More changes.

Tue Mar 14 21:35:00 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp: Fixed number of blocks.

	* heap.h, processheap.h, superblock.cpp, superblock.h, block.h, heap.cpp:
	Added infrastructure for recycling (not yet ready).

	* maketable.cpp, superblock.cpp, heap.cpp, heap.h:
	Added static calculation of the number of blocks in a superblock (for each sizeclass).

	* README: Updated.

	* heap.cpp: Disabled superblock return to OS (too expensive right now).

	* heap.cpp, heap.h, processheap.cpp, processheap.h, superblock.cpp, NEWS, arch-specific.cpp:
	Stripped out recycling.

	* heap.cpp, heap.h, superblock.h, threadheap.cpp:
	Fixed stats and removed a now-erroneous assertion.

Mon Mar 13 20:36:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* testmymalloc.cpp: Changed from doubles to char.

Fri Mar 10 15:04:15 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp, processheap.cpp, superblock.cpp, threadheap.cpp:
	Fixed allocation & deallocation logging (for policy vs. mechanism).

	* processheap.cpp, processheap.h, superblock.cpp, threadheap.cpp, threadtest.cpp, wrapper.h, arch-specific.cpp, config.h, heap.cpp, memstat.h, misc/mlog.cpp:
	More revision of aggressive superblock returns.

Thu Mar  9 16:44:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h, processheap.h, heap.cpp: Now ownership is never NULLed.

	* processheap.h: Set ownership (so it's not NULL for long).

	* heap.cpp, processheap.h: Minor changes.

	* heap.cpp, processheap.cpp: Forgot to fix the race condition...

	* superblock.h, threadheap.cpp, heap.cpp, heap.h, processheap.cpp, processheap.h, superblock.cpp:
	Numerous minor changes (a) to avoid statics in processHeap, on the road to a version that allows multiple heaps, and (b) to quickly catch moving superblocks.

Mon Feb 28 17:44:15 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp, superblock.cpp, superblock.h, heap.cpp, heapstats.h, privateheap.cpp, INSTALL, NEWS, README, block.h:
	Numerous small changes (comments, etc.).

	* wrapper.cpp, wrapper.h:
	Changed the initialization to force mmap to be called at startup time by exactly one thread.

	* config.h, heap.h:
	Bumped up the empty fraction and correspondingly, the number of emptiness groups.

	* arch-specific.cpp, arch-specific.h:
	Added inlining of non-user-level locks.

	* processheap.h: Added a lock to protect the recycle bin.

Thu Feb 24 15:27:28 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* wrapper.cpp: Maybe not just AIX...

	* arch-specific.cpp: Another lock (around munmap).

	* arch-specific.cpp: Added a lock around mmap for Linux.

	* threadheap.cpp: Better error checking.

	* NEWS, README, ChangeLog, heap.cpp: Version 1.5.2.

	* Makefile.in: Created by automake 1.4a.

	* README: Added more people to thank!

	* wrapper.cpp:
	Surrounded the redefinitions of C++ stuff with AIX ifdefs.

	* superblock.cpp: Now propagates mmap errors properly.

	* arch-specific.cpp: Fixed a mysterious Linux bug.

Wed Feb 23 01:55:26 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp: Bugfix for Windows.

Mon Feb 21 22:34:45 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp: Fixed a space leak for SGI/BeOS.

	* Makefile.in: Included dependencies.

	* wrapper.h: Rearranged a line.

Sun Feb 20 23:37:02 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog, NEWS: Version 1.5.1.

	* wrapper.cpp, wrapper.h: A proper fix!

Sat Feb 19 22:27:20 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* INSTALL: Added AIX instructions.

	* Makefile.in: Updated.

	* Attic/libc-lock.h, Attic/atexit.c, Makefile.am, Makefile.orig:
	Removed atexit stuff.

	* wrapper.h: Added some explanatory comments.

	* wrapper.cpp, wrapper.h:
	Changed the initialization of the process heap; this bypasses the atexit problems.

Fri Feb 18 04:05:35 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* NEWS: Updated the NEWS file.

	* README: Fixed README discussion of threadtest.

	* Makefile.orig: Fixed linking with Hoard for testmymalloc.

Wed Feb 16 05:15:49 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp:
	Cast ptr to (char *) in munmap, and I don't know why.

	* threadtest.cpp: New and improved threadtest.

	* arch-specific.cpp, arch-specific.h, heap.cpp:
	Added 'unsbrk' (in fact, munmap) for large blocks.

Sun Feb 13 04:25:07 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig:
	Changed rt library to posix4, for Solaris 2.6 compatibility.

Sat Feb 12 22:43:51 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* config.h:
	Changed the number of FULLNESS groups to 3 (less than 1/2 full, less than full, full).

	* processheap.h: Added an assertion about released superblocks.

	* heap.h: Removed some spurious const's.

	* heap.h:
	Changed empty fraction (per analysis -- this makes worst-case contention symmetric for malloc & free).

	* heap.cpp: A bit of 'defensive programming'.

Fri Feb 11 14:48:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp: Added a comment.

	* NEWS: Updated with superblock recycling note.

	* processheap.cpp, heap.cpp, processheap.h, superblock.cpp, superblock.h:
	Slight optimizations to recycling.

	* heap.cpp, processheap.cpp, processheap.h:
	NIncorporated superblock recycling.

Thu Feb 10 21:05:48 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Removed -fpedantic.

	* NEWS, README: More info on the AIX port.

	* benchmarks/larson/driver_mt.cpp, benchmarks/linux-scalability/linux-scalability.c:
	Some fixes to compile under xlc (AIX).

	* cache-scratch.cpp: AIX complains about volatile char*, so it's gone.

	* Makefile.orig, arch-specific.cpp: Added initial AIX support.

	* heap.h: Fix to avoid a warning.

	* INSTALL: Added instructions for using the Sun Workshop compilers.

	* NEWS: Version 1.5 update.

	* ChangeLog: Version 1.5 ChangeLog updates.

	* configure.in, heap.cpp, Makefile.in, configure, Makefile.am:
	Updated everything to version 1.5.

	* malloc-test.c: Fixed malloc-test for Solaris.

	* Makefile.orig, benchmarks/larson/Makefile.in: Some Makefile fixes.

	* benchmarks/shbench/shbench1.cpp:
	Removed problems for Sun's workshop compilers.

	* benchmarks/shbench/Makefile.in, benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, README, benchmarks/consume/Makefile.in, INSTALL, Makefile.in, Makefile.orig:
	Changed everything to refer to libhoard.a instead of hoard.o.

	* Makefile.orig, configure, configure.in:
	Improved optimization, etc. for Sun's Workshop compilers.

	* superblock.cpp, superblock.h: Added caching of the fullness values.

	* wrapper.cpp:
	Added replacements for new/delete so that static linking with libhoard.a works.

	* heap.cpp, heap.h:
	Now we cache the least-empty bin that we've found (in findAvailableSuperblock) to avoid needlessly pounding through all the bins every time we malloc.

	* heap.cpp, heap.h:
	Added empty-fraction checking (so we don't bother returning superblocks until the current heap is largely empty).

	* benchmarks/consume/Makefile.in, benchmarks/consume/consume.cpp:
	Restored.

	* config.h: Removed REMOVE_MAX_ITERATIONS, which is now obsolete.

	* log.h: Added 'inline' for Sun's compiler (which has a point).

Wed Feb  9 04:08:58 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Added a few warnings for g++ compiles.

	* block.h: Removed some const declarations.

	* heap.h, threadheap.cpp: Moved a comment or two.

	* processheap.cpp: Removed mmap support for now.

	* superblock.h: Removed some const declarations.

	* heap.cpp: Fixed binning for superblocks in the process heap.

Tue Feb  8 23:15:23 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.cpp, heap.h, Makefile.orig: Added moveSuperblock.

	* superblock.h, config.h, heap.h, superblock.cpp:
	Inlined superblock::getFullness and moved an enum into config.h.

	* testmymalloc.cpp, threadtest.cpp:
	Dropped the iteration count back down.

	* processheap.cpp: Removed mmap support for now.

	* benchmarks/consume/Makefile.in, benchmarks/consume/consume.cpp:
	Removed consume benchmark.

	* threadheap.h, heap.cpp, processheap.cpp, threadheap.cpp:
	Removed deferred frees for now.

	* benchmarks/consume/consume.cpp: Improved the benchmark.

	* testmymalloc.cpp, threadheap.cpp, threadheap.h, wrapper.cpp, heap.cpp, processheap.cpp, processheap.h:
	Added deferred freeing.

	* benchmarks/consume/consume.cpp:
	Added #defines for Solaris compatibility.

	* configure, configure.in: Added consume.

	* benchmarks/consume/consume.cpp, benchmarks/consume/Makefile.in:
	Initial check-in.

Mon Feb  7 15:14:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadheap.cpp, threadheap.h, wrapper.cpp, heap.h, processheap.cpp, processheap.h, testmymalloc.cpp, heap.cpp:
	First shot at deferring free's.

Sun Feb  6 02:02:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Added architecture-specific flags.

	* heap.cpp, heap.h: Restored hysteresis value to 2.

Sat Feb  5 03:52:46 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Restored CPU option for Sparc.

	* heap.h: Moved some code to avoid an unnecessary test.

	* threadheap.cpp: added an assertion.

	* threadtest.cpp: Fixed declaration of worker.

	* timer.h: Fixed stop() so it adds elapsed times.

Fri Feb  4 21:17:39 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.am, Makefile.in:
	Fixed an accidental inclusion of Hoard in a non-Hoard benchmark.

	* timer.h, wrapper.cpp, wrapper.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, log.h, memstat.h, misc/mergelogs.cpp, misc/mlog.cpp, config.h, heap.cpp, heap.h, heapstats.h, arch-specific.cpp, arch-specific.h, block.h, cache-scratch.cpp, Makefile.am, Makefile.in, README:
	Added bins, changed copyright notice and web page.

	* misc/mergelogs.cpp: Added start & stop as command-line parameters.

	* misc/mlog.cpp: Removed time-ordering assertions.

	* processheap.cpp, processheap.h, superblock.cpp:
	Added a superblock 'store' to the process heap.

Thu Feb  3 17:52:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp: Improved speed by just unlinking the logfile.

	* misc/mlog.cpp: Added a histogram of object sizes.

	* heap.cpp, heap.h:
	Changed the superblock size, the number of size classes (so we can support a 1GB malloc) and the hysteresis value.

	* threadtest.cpp: Increased the number of iterations.

	* heap.cpp, heap.h, maketable.cpp: Added a hysteresis value.

Tue Feb  1 21:50:17 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* misc/mergelogs.cpp:
	Now we open the logs to be merged in read-only mode.

	* misc/mlog.cpp: Now we open the log in read-only mode.

	* log.h: Added read-only log opening.

Mon Jan 31 22:59:24 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/larson/driver_mt.cpp:
	Fixed type of pthread_setconcurrency.

	* misc/mergelogs.cpp:
	Now calls 'abort' to avoid unnecessary writing of logs.

	* log.h: Added abort() = close file without saving any changes.

	* log.h:
	Now we only write the perceived number of objects (instead of the 'actual' number) to the logfile.

	* log.h: Made most memory accesses private (for speed).

	* log.h: Inlined everything.

	* testmymalloc.cpp: Removed spurious include.

	* log.h, memstat.h, misc/mergelogs.cpp, misc/mlog.cpp, heap.h, threadheap.cpp, threadheap.h, wrapper.cpp, processheap.cpp, processheap.h:
	Fixed logging.

Sat Jan 29 04:22:34 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* memstat.h:
	By encoding the type in the lower bits of the address, we save 4 bytes.

	* memstat.h, misc/mergelogs.cpp: More fixes and improvements.

	* heap.h: Restored MAX_HEAPS to 128.

	* misc/mlog.cpp: Minor tweaks.

	* log.h:
	Fixed a bug (forgot to multiply size by MULTIPLIER before caching it).

	* Makefile.orig: Added -noex for Sun compiler builds.

Fri Jan 28 16:56:04 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* misc/mlog.cpp:
	Added tracking of both measures of fragmentation, with multiplication & subsequent division by 16, as in Wilson & Hohnstone.

	* log.h: Properly surrounded every call by mutexes.

	* processheap.cpp, processheap.h: Added allocatedAtMax.

	* benchmarks/larson/driver_mt.cpp: A fix for Linux.

Thu Jan 27 23:10:23 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig, log.h, memstat.h, misc/mlog.cpp: More improvements.

	* misc/mergelogs.cpp: Initial check-in.

	* log.h, memstat.h, misc/mlog.cpp, threadheap.cpp, threadtest.cpp, Makefile.orig, heap.h:
	More log-related changes.

	* processheap.h: Fixed for no-heap-log case.

	* config.h: Unset log flag.

	* wrapper.cpp: Instrumented all memory-related calls.

	* log.h: Made the log threadsafe.

	* misc/mlog.cpp: First run at a memory log processor.

	* processheap.h, testmymalloc.cpp, wrapper.cpp, log.h, memstat.h, processheap.cpp, cache-scratch.cpp, config.h:
	Initial incorporation of logging.

Fri Jan 21 18:56:13 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/larson/driver_mt.cpp, configure, configure.in, Makefile.in, Makefile.orig:
	Changes for the Sun Workshop compiler.

	* Makefile.orig: Enabled a USE_WORKSHOP target.

	* processheap.cpp, processheap.h:
	Moved the destructor to the .h file to avoid a requirement for __builtin_delete.

Thu Jan 20 20:45:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.in: Updated to handle Sun's CC compiler.

	* cache-scratch.cpp: Fixed the worker thread's type.

	* configure.in, configure, Makefile.am, arch-specific.cpp:
	Changes to allow compilation with the Sun Workshop C++ compiler.

	* sparc-interchange.il: Inline assembly for the SPARC.

	* benchmarks/larson/driver_mt.cpp:
	Slight change to allow compilation with Sun's CC.

Sun Jan 16 20:32:01 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog: Version 1.4.2

	* Makefile.am, Makefile.in: Changed implementation number.

	* NEWS: Version 1.4.2

	* malloc-test.c: Initial check-in.

	* superblock.h, threadheap.cpp, threadheap.h, block.h, processheap.cpp, processheap.h:
	Fixed a subtle memalign bug.

Wed Jan 12 17:46:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* configure, configure.in, arch-specific.cpp: Changes for Solaris 2.6.

	* configure, configure.in, arch-specific.cpp, arch-specific.h:
	Changes for Solaris 2.6

Tue Jan 11 20:47:57 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp: More SGI fixes (includes).

	* arch-specific.cpp: SGI fix.

	* arch-specific.cpp:
	Surrounded the pthread_setconcurrency declaration with an ifdef linux.

Mon Jan 10 02:20:44 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/linux-scalability/README, benchmarks/larson/README:
	More comments for benchmarks.

Sun Jan  9 20:25:21 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* README, INSTALL, NOTES.Windows: More notes about Windows and BeOS.

Sat Jan  8 02:59:58 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp:
	Added an extern declaration for pthread_setconcurrency (esp. for Linux).

	* processheap.h: Fixed a comment.

	* testmymalloc.cpp: Removed calls to iostream (replaced with stdio).

	* superblock.cpp: Fixed type of moreMemory.

	* superblock.h: Fixed type of getBlockSizeClass.

	* wrapper.h:
	Removed 'private' for constructor & destructor (to avoid warning).

	* processheap.h: Removed math library calls.

Thu Jan  6 17:59:13 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadtest.cpp, arch-specific.cpp, arch-specific.h, cache-scratch.cpp:
	Added hoardSetConcurrency.

Wed Jan  5 01:34:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* README, cache-scratch.cpp:
	Increased the suggested parameters for cache-scratch.

Tue Jan  4 23:24:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog: Version 1.4.

	* cache-scratch.cpp: More details in the comments section.

	* README, benchmarks/larson/README, cache-scratch.cpp:
	More info on running benchmarks.

	* configure: Version 1.4.

	* README: Added -lthread comment.

	* cache-scratch.cpp: Added the prelude.

	* Makefile.am, Makefile.in, Makefile.orig: Added cache-scratch.

	* cache-scratch.cpp: Divided up repetitions among the threads.

	* cache-scratch.cpp: Initial version.

	* processheap.h: Removed the special case for Linux.

	* configure.in: Version 1.4.

	* arch-specific.cpp:
	Added an ugly (but effective) workaround to directly parse the /proc/cpuinfo file on Linux to obtain the number of CPUs

	* README: Changed -lpthread to -lthread.

	* NEWS: Updated.

	* Makefile.am: Version 1.4.

Mon Jan  3 21:54:06 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp, processheap.h, threadheap.cpp, heap.cpp, heap.h:
	Numerous small changes.

	* arch-specific.cpp: Removed some useless vars.

	* arch-specific.cpp:
	Increased the spin limit to something a bit more reasonable.

	* heap.cpp: Version 1.4.

	* processheap.cpp:
	Updated a comment and spelled out a couple of variable names.

	* maketable.cpp, processheap.cpp, superblock.h, heap.cpp, heap.h:
	Added a threshold lookup table.

	* testmymalloc.cpp, threadheap.cpp, threadheap.h, heapstats.h, processheap.cpp, superblock.cpp, superblock.h, arch-specific.cpp, heap.h:
	A variety of fixes and comment modifications.

Sun Jan  2 05:23:56 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/shbench/README, benchmarks/linux-scalability/README, benchmarks/README, benchmarks/larson/README:
	More information.

	* Makefile.orig: Added two more threadtest targets.

	* threadtest.cpp: Increased the number of iterations from 10 to 50.

Fri Dec 31 20:45:34 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/shbench/shbench1.cpp:
	Brought back from the dead (I just won't release it).

	* benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/shbench/Makefile.in:
	Fixed to use config-time variables.

	* processheap.cpp: Removed some newSizeclass cruft.

	* privateheap.cpp: Restored some locks.

	* arch-specific.cpp: Added BeOS number of processors.

	* processheap.h:
	Renamed 'allocator' to 'getHeap'; removed lock from getHeap.

	* threadheap.cpp: Moved lock back to malloc().

	* wrapper.cpp: Renamed 'allocator' to 'getHeap'.

Thu Dec 30 21:40:37 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* configure: Updated.

	* processheap.h:
	Added fast rounding (via numProcessorsMask) and removed thhe 'optimization' for 1 processor that only slowed things down.

	* heap.h:
	Restored superblock size to 3 pages (it *does* make a difference for the Larson benchmark).

	* benchmarks/larson/Makefile.in: Added LIBSCHED parameter.

	* configure.in:
	Fixed order of library checks for -lthread inclusion (Solaris).

	* configure: Updated.

	* processheap.h: Static decl. must be first.

	* superblock.cpp: A comment here, an assertion there...

	* benchmarks/larson/Makefile.in: A few minor improvements.

	* heap.h:
	Removed MAX_TIDS; brought superblock size down to 8K with no significant impact on runtime (!).

	* processheap.cpp: Removed MAX_TIDS.

	* INSTALL, NOTES.Windows, NEWS: Work towards release 1.4.

	* README, Makefile.orig: Minor changes.

	* processheap.h:
	Hash thread ID's to no more than 2 * numProcessors heaps (except for Linux).

	* configure.in: Added a check for Solaris (and use of -lthread.

Tue Dec 28 05:03:50 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/larson/Attic/driver_mt.C, benchmarks/larson/driver_mt.cpp, benchmarks/larson/Makefile.in:
	The new benchmark.

	* processheap.h: Fixed a problem with Linux.

	* processheap.cpp: Removed some (now) cruft.

	* heap.h, arch-specific.cpp, arch-specific.h: Trashed tryLock().

	* heap.h: Added a useful comment or two.

	* processheap.h: Removed some (now) cruft.

	* benchmarks/larson/driver_mt.cpp: Newest version from Paul Larson.

	* Makefile.orig: Added a SOLARIS target.

	* arch-specific.cpp:
	Changed the thread ID algorithm for Solaris to hash on the LWP.

	* processheap.h: Backed off the thread id stuff.

	* privateheap.cpp, wrapper.cpp: Fixed private heaps.

Fri Dec 24 01:31:19 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h: Broke out tids from heaps.

Thu Dec 23 17:47:42 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp, processheap.h: Back to maxIndex.

	* processheap.h: Back to the maxIndex scheme for now...

	* processheap.cpp, processheap.h: More tweakage.

Wed Dec 22 20:18:45 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.h, processheap.cpp: More tweakage.

	* processheap.h, processheap.cpp:
	Yet more work on the heap selection algorithm.

	* arch-specific.cpp, arch-specific.h:
	Added hoardGetNumProcessors() {without the BeOS version, for now}.

	* processheap.h: Another revision to the heap assignment algorithm.

	* processheap.cpp, processheap.h:
	More revisions to the heap assignment algorithm.

	* arch-specific.cpp:
	Fixed tryLock for the BeOS; some clean-up and comments added.

	* arch-specific.cpp:
	Added some #defines for clarity; changed the blocking lock to a yielding lock for UNIX non-user-level locks.

	* processheap.cpp, processheap.h:
	Changed the heap assignment algorithm to use a maximum index value (we assume that reads and writes to ints are atomic).

	* NOTES.Windows: Initial check-in.

	* benchmarks/larson/Attic/driver_mt.C:
	Just to be safe, initialize the thread's attribute.

	* Makefile.in, Makefile.am: Changed the version info for the library.

	* wrapper.cpp: Changed calls to free from threadHeap into processHeap.

	* threadheap.cpp, threadheap.h:
	Moved free from threadHeap into processHeap.

	* superblock.h, superblock.cpp:
	Superblocks with more than one block are now all SUPERBLOCK_SIZE bytes long to eventually permit superblock recycling and unmapping; added some more sanity checking for debugging.

	* processheap.cpp, processheap.h:
	Improved the heap selection algorithm to adapt with respect to concurrency; moved free from threadHeap.

	* heap.h, heap.cpp:
	Removed the now-unused sizeclass argument from lock operations; added tryLock; added more comments and sanity checks.

	* heapstats.h: Removed the now-superfluous cache pad.

	* arch-specific.cpp, arch-specific.h:
	Added hoardTryLock; gave everything C linkage (on the road to breaking out the assembly code into processor-specific files).

	* configure, configure.in: Added tests for processors.

Fri Dec 17 16:52:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.h: Fix to lock type for STATS compilation.

Thu Dec 16 20:55:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/shbench/shbench1.cpp, benchmarks/shbench/Attic/shbench.cpp:
	Removed copyrighted SmartHeap benchmarks.

	* threadheap.cpp: Simplified the test for 'big' superblocks.

	* heap.h, superblock.cpp:
	Changed NUMBER_OF_BYTES to the more descriptive SUPERBLOCK_SIZE.

Wed Dec 15 04:19:00 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.in: Automake 1.4a produced output.

	* arch-specific.cpp: Some comment mods.

	* superblock.cpp: Restored required alignment tweak for sbrk().

	* processheap.cpp, processheap.h: Backed off recycling stuff for now.

Tue Dec 14 23:41:23 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.am, Makefile.in, configure, configure.in:
	Added a required LIBSCHED.

	* processheap.cpp, superblock.cpp, processheap.h, superblock.h:
	Added release-time empty superblock recycling.

	* configure, configure.in: Fixed a problem looking for sched_yield.

	* arch-specific.cpp: Added 'yield' to Windows NT code.

Wed Nov 24 20:24:32 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* NEWS: Fixed spelling of John's last name!

	* ChangeLog, NEWS: Version 1.3.3.

	* arch-specific.cpp, superblock.cpp, threadheap.h, threadtest.cpp, Makefile.orig:
	A variety of SGI-related changes.

Tue Nov 23 15:18:28 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog: Version 1.3.2.

	* INSTALL, NEWS, threadtest.dsp, timer.h, wrapper.cpp, libhoard.dsp, libhoard.dsw, testmymalloc.dsp:
	Changes for Windows (Visual C++) release.

Mon Nov 22 16:54:40 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Attic/atexit.c: Fixed to allow multiple exit functions.

	* Makefile.in: Removed those annoying automake, etc. alls.

	* ChangeLog: Version 1.3.1.

	* configure.in, NOTES.BeOS, configure, Makefile.am, Makefile.in, Makefile.orig, NEWS, INSTALL:
	Added a custom version of atexit to fix the Linux-deadlock problem created with glibc 2.1.2.

	* benchmarks/shbench/shbench1.cpp, threadtest.cpp:
	Increased the default number of iterations.

	* Attic/libc-lock.h, exit.h: Initial check-in, for Linux only.

	* Attic/atexit.c:
	Modified version of glibc's atexit to avoid calls to malloc.

Fri Nov 19 14:04:34 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp: Added PowerPC locks.

Thu Nov 18 21:49:52 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadtest.cpp: Added SGI-specific mods for the 'threadtest' test.

	* ChangeLog: Latest changes rolled in.

	* NEWS: Added thanks to John Hickins.

	* INSTALL: Corrected a typo.

Wed Nov 17 18:14:29 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* configure, configure.in: Incremented the version number.

	* benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/shbench/Makefile.in, configure, configure.in, Makefile.am, Makefile.in:
	Added checks for sched_yield in librt, removed some cruft.

	* ChangeLog: Yet Another ChangeLog commit.

	* INSTALL: Added platform-specific installation info.

	* README:
	Changed the Hoard home page info, moved platform-specific info to INSTALL.

Tue Nov 16 22:07:55 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* wrapper.cpp, README, arch-specific.cpp, arch-specific.h, timer.h, Makefile.orig:
	More BeOS changes.

	* ChangeLog: *** empty log message ***

	* benchmarks/linux-scalability/linux-scalability.c:
	Added the PTHREAD_SCOPE_SYSTEM patch.

	* ChangeLog: Version 1.3 mods incorporated.

	* README, NEWS: Changes for version 1.3.

Thu Nov 11 21:25:24 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h, heap.cpp:
	Replaced per-sizeclass locks with per-heap locks on the assumption that this won't hurt scalability (since most objects allocated are in a small number of size classes) and to reduce Hoard's static footprint.

	* Makefile.in: Changed version number to 1.2.

	* privateheap.h, privateheap.cpp: Removed the SUBHEAPS option.

	* configure, configure.in:
	Removed the SUBHEAPS option and some warning flags for gcc/g++.

	* Makefile.orig: Removed the SUBHEAPS option.

	* arch-specific.h: Added BeOS stuff.

	* arch-specific.cpp:
	Add BeOS stuff; moved the thread hashing fix here from processheap.h.

	* processheap.h:
	Removed the subheap option and moved the thread index hashing stuff to arch-specific.cpp.

Fri Oct 29 18:29:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* ChangeLog: Removed all 'Attic' entries.

	* ChangeLog: A real ChangeLog, produced by rcs2log.

	* superblock.h:
	Added a cache pad to avoid false sharing of superblock data.

	* NEWS: Brought the NEWS file in line with GNU standards.

	* heap.h: Subtracted the size of a superblock from NUMBER_OF_BYTES.

Thu Oct 28 00:59:53 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* config.h: Increased cache line size (for SGI O2K).

Wed Oct 27 20:43:20 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadheap.h, wrapper.h, processheap.h, superblock.h, threadheap.cpp, block.h, heap.cpp, heap.h:
	Comment updates.

	* configure.in, configure:
	Disabled inclusion of -lpthread when using sproc.

	* configure, configure.in: Now SPROC is defined as 0 by default.

	* configure, configure.in, Makefile.am: Updated to version 1.2.

	* README: Changed date on README.

	* ChangeLog: Updated ChangeLog to version 1.2.

	* README: Updated README to include sproc target.

	* configure, configure.in: Added sproc options.

	* Makefile.orig, arch-specific.cpp, configure.in:
	Improved sproc handling.

Tue Oct 26 22:27:48 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp, arch-specific.h: First run at SPROC stuff.

Thu Oct 21 03:28:16 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp:
	Reset spin count to zero after every iteration in our lock implementation.

Wed Oct 20 21:49:54 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.orig: Removed dependence on UltraSPARC.

	* Makefile.orig: Needed -lrt for Solaris.

	* arch-specific.h, config.h, arch-specific.cpp:
	More fun with spin locks.

	* heap.h: Moved out the spin part (should be in arch-specific anyway).

	* heap.cpp: Fixed the size table.

	* maketable.cpp: Fixed the size table generation.

	* arch-specific.cpp, arch-specific.h, config.h:
	Added 'USERLOCKS' option -- user-level spin locks -- which are much faster on Linux.

Tue Oct 19 16:12:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp, block.h, privateheap.cpp, threadheap.cpp:
	Removed some UNIX dependencies.

	* timer.h, arch-specific.cpp, arch-specific.h:
	More Windows-related changes.

Sat Oct 16 20:23:31 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* testmymalloc.cpp, wrapper.cpp, Makefile.am, Makefile.in, arch-specific.cpp, arch-specific.h, processheap.cpp:
	Made a variety of Windows-related changes.

	* config.h: Changed CACHE_LINE (SPARC's L2 size is 64, not 128 bytes).

Fri Oct 15 14:48:28 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp:
	Changed mutex_unlock (for Windows NT) to use InterlockedExchange so it will work on Alphas, too.

Tue Oct 12 21:37:09 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* Makefile.in, README, INSTALL, Makefile.am: More minor updates.

	* benchmarks/shbench/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/larson/Makefile.in, configure, configure.in:
	More configuration improvements.

	* benchmarks/shbench/timer.h: Fixed to work on the SGI.

	* maketable.cpp: Added UL to the table output.

	* heap.cpp: Made the table a constant (to be built by maketable.cpp).

	* maketable.cpp: Added the table generator.

	* README: More changes for version 1.1.

	* Makefile.orig: The original Makefile.

	* README: Just added a newline.

	* NEWS: Put something in NEWS.

	* README, docs/UTCS-TR99-22.ps.gz:
	Moved the tech report into a docs folder.

	* benchmarks/larson/Attic/driver_mt.C, benchmarks/linux-scalability/linux-scalability.c:
	Fixed some compilation bugs, added local library path to the compiles.

	* Makefile.am, Makefile.in: Minor Linux fixes.

Mon Oct 11 21:27:33 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* configure, configure.in: More fixes.

	* configure, configure.in, INSTALL, README:
	Fixed some Windows NT-specific foo.

	* Makefile.am, Makefile.in, README: More minor changes.

	* Makefile.am: Changed version number for shared lib.

	* Makefile.in, configure, configure.in, ChangeLog, Makefile.am:
	Version 1.1.

	* INSTALL: Basic installation instructions.

	* autoconf/mkinstalldirs, autoconf/ltconfig, autoconf/ltmain.sh, autoconf/missing, autoconf/config.guess, autoconf/config.sub, autoconf/install-sh, configure.in, NEWS, README, aclocal.m4, configure, Makefile.am, Makefile.in:
	Incorporated the Ganesan Rajagopal scripts (slightly modified).

Thu Oct  7 16:37:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* block.h:
	Disabled copying and assignment; added initialization of _next field.

	* threadheap.h: Removed _busy field.

Wed Oct  6 20:10:23 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* privateheap.h: Fixed privateheap unlock method.

Tue Oct  5 20:53:02 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* README: New release date.

	* heap.cpp, heap.h: Fixed some wackiness with the size classes.

	* arch-specific.cpp, arch-specific.h, testmymalloc.cpp, README:
	Rolled in more Windows NT changes.

Mon Oct  4 19:07:13 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* config.h, timer.h, arch-specific.cpp:
	Rolled in some SGI-specific changes.

	* ChangeLog: Initial check-in.

	* arch-specific.cpp, processheap.h, superblock.cpp, superblock.h:
	Removed some reliance on Suns (yow!).

Sun Oct  3 19:31:00 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/README: Initial check-in.

	* README: Updated date.

	* arch-specific.cpp: Fixed ifndef (changed to ifdef).

	* privateheap.h, arch-specific.h, heap.cpp, heap.h, privateheap.cpp, arch-specific.cpp:
	Incorporated more changes for the Windows NT build.

Sat Oct  2 04:04:19 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* arch-specific.cpp, arch-specific.h: More Windows foo.

	* threadheap.cpp, threadtest.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, heap.cpp, heap.h, privateheap.cpp, privateheap.h, arch-specific.cpp, arch-specific.h:
	Added arch-specific files; changed all architecture-specific (read: UNIX) commands to use these wrappers.

Thu Sep 30 21:17:43 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* testmymalloc.cpp: Restored iostream.h (DOH DOH DOH).

Wed Sep 29 13:22:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* superblock.h, testmymalloc.cpp, threadheap.cpp, privateheap.cpp, processheap.cpp:
	Removed iostream.h includes.

	* timer.h, wrapper.cpp, wrapper.h, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, heapstats.h, processheap.cpp, processheap.h, superblock.cpp, README, block.h, config.h, heap.cpp, heap.h:
	Added preambles to everything.

	* config.h, README: More additions and deletions.

	* timer.h, processheap.h, threadheap.cpp, config.h, heap.cpp, heap.h, ChangeLog, INSTALL, COPYING:
	Cleanup time.

Tue Sep 28 22:11:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heap.h, config.h: Minor changes (removed other targets).

	* README: More README info.

	* AUTHORS, COPYING, ChangeLog, INSTALL: Initial revision

	* AUTHORS, COPYING, ChangeLog, INSTALL, README: new project started

Wed Sep 22 13:42:29 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* privateheap.cpp: Some bug fixes.

	* block.h: Changed dummy (pad) variable names to avoid clashes.

Tue Sep 21 18:43:39 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* privateheap.cpp, privateheap.h: Fixed a carve-off problem.

	* config.h: Updated a comment.

	* superblock.cpp:
	Added (still not working?) mmap stuff; currently disabled.

	* config.h:
	Fixed a comment; returned two flags to their appropriate defaults.

Mon Sep 20 05:27:44 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.h, threadheap.cpp, privateheap.cpp, processheap.cpp:
	Fixed some screwiness with fragmentation stats; added a Linux-specific hack to get more reasonable thread-to-processor mapping.

	* processheap.cpp, processheap.h, threadheap.cpp, privateheap.cpp, privateheap.h:
	Added locks for statistics gathering.

Sun Sep 19 06:17:12 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.h, config.h, heap.h, processheap.cpp:
	Changed the size class base to 1.2 (and upped the number of size classes to 128); fixed the fragmentation calculations.

	* privateheap.cpp:
	Slight tweak required to get privateHeap to work with the new, more flexible size class system.

	* privateheap.cpp, privateheap.h:
	The private heap variant (for experimental use only).

	* processheap.h, config.h, heap.h:
	A few more comments and some consolidation of constants.

	* heap.cpp, heap.h:
	Removed big ugly static block; moved initialization of the sizeTable to the heap's constructor. Changed some names to reflect the 'private-members-have-underscores' convention.

Sat Sep 18 23:27:18 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, block.h, config.h, heap.cpp, heap.h:
	Now the size class base is 'flexible'; this allows us to dramatically reduce internal fragmentation.

	* config.h: Avoid redefining _REENTRANT.

	* block.h: A variety of fixes for non-standard targets.

Wed Sep 15 22:39:16 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/larson/Attic/driver_mt.C:
	Disabled the warmup thing, added a bogus print of seconds for the Perl script that processes the data.

	* config.h, superblock.h:
	Commit the actual values used for the experiments.

Mon Sep 13 15:46:01 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadtest.cpp, processheap.cpp, processheap.h, superblock.h, threadheap.cpp, heap.cpp:
	Fixed a MAJOR bug that was killing us; moved around some code and added some useful comments.

	* heap.cpp, heap.h, superblock.cpp, superblock.h:
	Simplified (and fixed) the superblock interface.

Sun Sep 12 02:45:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* processheap.cpp: Simplified some code.

	* heapstats.h: Removed some outdated assertions.

Sat Sep 11 18:23:59 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadheap.cpp: Made the search for a block into a loop.

	* threadheap.cpp: Fixed lock loop.

	* superblock.cpp, superblock.h, threadheap.cpp, config.h, heap.cpp, heap.h, processheap.cpp:
	Made superblocks into a doubly-linked list (I had forgotten to remove superblocks when releasing them!).

	* config.h, superblock.h: Added some more meaningful comments.

Fri Sep 10 21:13:08 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* config.h, heapstats.h, processheap.h:
	A few changes needed by the IBM compiler.

	* config.h: More processors.

	* superblock.h: Fewer bytes.

	* heap.h: Added a spinlock.

Wed Sep  8 03:17:41 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* threadheap.cpp:
	'Big' objects are BIGGER than NUMBER_OF_BYTES, not the same size.

Tue Sep  7 17:59:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* wrapper.cpp, processheap.cpp, superblock.h, threadheap.cpp:
	Large objects now are unconditionally returned to heap 0.

	* processheap.h, threadheap.cpp, config.h, processheap.cpp:
	Turned off debugging, fixed erroneous extra decrement (oops).

	* heapstats.h, processheap.cpp, wrapper.cpp, config.h, heap.cpp:
	Cleaned up some foo; added a decStats -- looks like I'd forgotten it...

	* benchmarks/larson/Attic/driver_mt.C, heapstats.h: Routine check-in.

	* benchmarks/shbench/shbench1.cpp, benchmarks/larson/Attic/driver_mt.C, benchmarks/linux-scalability/linux-scalability.c, benchmarks/larson/Attic/ptmalloc.h, benchmarks/larson/thread-m.h, benchmarks/larson/Attic/ptmalloc.c, benchmarks/larson/driver_mt.c, benchmarks/larson/parallel.h, benchmarks/larson/perfcounters.h, benchmarks/larson/dlm.h:
	Initial check-in.

	* threadtest.cpp: Each worker now iterates 10 times.

	* threadheap.cpp, threadheap.h:
	Put getBlock code back into malloc (since it's never called by anyone else).

	* testmymalloc.cpp, config.h, superblock.cpp, superblock.h, block.h:
	Updated some comments.

Mon Sep  6 20:48:50 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* superblock.cpp:
	Removed cruft and excess memory consumption (left over from when we used non-blocking bags).

	* config.h: Removed some cruft.

	* benchmarks/shbench/Attic/shbench.cpp, wrapper.cpp, wrapper.h, threadtest.cpp, timer.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, processheap.h, superblock.cpp, superblock.h, processheap.cpp, heap.cpp, heap.h, heapstats.h, config.h, README:
	Provably memory-efficient version with just one lock per heap. Fast and furious!

Mon Jun 28 17:41:03 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* benchmarks/shbench/timer.h, benchmarks/shbench/Attic/shbench.cpp:
	SHbench - from Microquill.

Sat Jun 26 18:19:10 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>

	* heapstats.h, processheap.h, timer.h: Initial check-in.


	* heapstats.h, processheap.h, timer.h: Initial revision

	* config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, wrapper.cpp, wrapper.h:
	Initial check-in.


	* config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, wrapper.cpp, wrapper.h:
	Initial revision

