Mark newly allocated objects as precise.
New-arrays were previously precise because of finality. Because this has been weakened we need to explicitly mark allocated arrays as precise. Fix RegTypeCache::FromUninitialized that was not making newly allocated objects precise if the class wasn't final. As the object is being allocated we can be sure of its preciseness. For core, increases type based interface devirtualization from 0.136% to 2.873% (21x improvement) and general devirtualization from 1.874% to 4.663% (2.5x improvement). Change-Id: I494c5b4de7227bd5c8ca9cf37399594182dcd6f8
Loading
Please sign in to comment