Compiler 2013: Garbage collection
外观
A useful trick: addresses are always divisible by 4, so an odd integer cannot be an address. Therefore you can tag memory slots so that odd numbers are integers while others are pointers. In this way, integers should be shifted before used. This trick is used in MRI Ruby and (probably) Glasgow Haskell Compiler. Binary GC algorithms also rely on this observation to speed up garbage searching.