瀏覽代碼

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

Andreas Kling 4 年之前
父節點
當前提交
ad0d377e4c
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      Libraries/LibJS/Runtime/Shape.cpp

+ 2 - 1
Libraries/LibJS/Runtime/Shape.cpp

@@ -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);
     }