fix bugs in PointerList and refactor gc_new.h