JDK-8011540 disabled retaining of history for empty property maps. This unfortunately has the effect of creating a lot of new, semantically identical maps when an object's properties are populated dynamically (e.g. by reading key-value pairs from an array etc.) and thus subsequently producing megamorphic call sites. The histories are held as maps of (property->propertyMap), with properties held weakly and property maps held softly. These maps are mostly strongly held by other parts of the system, so they don't contribute to the memory pressure; the only thing contributing is the memory for the map itself.