Paul McCullough has done a lot of thinking and a fair bit of implementing in this area, including a no-moving-blocks allocator/gc. As I understand it you pay a quite high price in overhead to support it. GC will always cost some space and some time. The differences are in the balance and I still like the balance of a well implemented object table. No irritating problems with becomes, for example. No forwarding table hassles. Reliable hashes. Bit of a pain for really big systems though.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim UNIX is many things to many people, but it has never been everything to anybody.