1. A method for garbage collection comprising: examining a plurality of old regions to obtain a mark bitmap, a connectivity matrix, and fragmentation information, wherein the mark bitmap describes a plurality of marked words for the plurality of old regions and a plurality of unmarked words for the plurality of old regions; identifying a fragmented region in the plurality of old regions based on the fragmentation information, wherein the fragmented region comprises at least one of the plurality of marked words; copying the at least one of the plurality of marked words to a new region allocated from a pool of free regions; designating each of the plurality of unmarked words not in the fragmented region as free; adjusting a cross-region reference to the fragmented region in the plurality of marked words to point to the new region based on the connectivity matrix; and adding the fragmented region to the pool of free regions.