LibJS: Pre-size the hash map and vector used in ensure_property_table()

This commit is contained in:
Andreas Kling 2020-10-04 18:04:14 +02:00
parent b7975abef8
commit ad0d377e4c
Notes: sideshowbarker 2024-07-19 02:03:35 +09:00

View file

@ -148,10 +148,11 @@ void Shape::ensure_property_table() const
if (m_property_table)
return;
m_property_table = make<HashMap<StringOrSymbol, PropertyMetadata>>();
m_property_table->ensure_capacity(m_property_count);
DeferGC defer(heap());
Vector<const Shape*> transition_chain;
Vector<const Shape*, 64> transition_chain;
for (auto* shape = this; shape->m_previous; shape = shape->m_previous) {
transition_chain.append(shape);
}