My concern is correctness.  This hash function does not hash the addr and dtb into a guint, which is the hash value used by g_hash_table.  The existing hash function (hash128_to_64) probably does a decent job of spreading the hashes, but that depends a lot on the use cases of libvmi's callers.  Collisions may be ocurring because the high bits are being thrown away in the conversion to guint, but that should be handled by the g_hash_table implementation and resolved using the provided key_128_equals methods.