just a thought.. imo using identity hash field for instances of Float while probable, but in fact really impractical.
in that sense, what you think about removing filling the identity hash field and leave it always == 0.. saving some instructions to make float allocation a bit faster?
i am talking about genAllocFloatValue: dpreg into: resultReg scratchReg: scratch1 scratchReg: scratch2