speedup gc a little, using semispace approach