Add multi gc

添加multi-gc功能，未完全测试
这个 str 的判断有点怪，为何要这么判断？