Title: [241234] trunk/Source/_javascript_Core
Revision
241234
Author
[email protected]
Date
2019-02-08 23:01:14 -0800 (Fri, 08 Feb 2019)

Log Message

[JSC] Increase StructureIDTable initial capacity
https://bugs.webkit.org/show_bug.cgi?id=194468

Reviewed by Mark Lam.

Currently, # of structures just after initializing JSGlobalObject (precisely, initializing GlobalObject in
JSC shell), 281, already exceeds the current initial value 256. We should increase the capacity since
unnecessary resizing requires more operations, keeps old StructureID array until GC happens, and makes
more memory dirty. We also remove some structures that are no longer used.

* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::callbackObjectStructure const):
(JSC::JSGlobalObject::propertyNameIteratorStructure const): Deleted.
* runtime/StructureIDTable.h:
* runtime/VM.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (241233 => 241234)


--- trunk/Source/_javascript_Core/ChangeLog	2019-02-09 04:40:22 UTC (rev 241233)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-02-09 07:01:14 UTC (rev 241234)
@@ -1,5 +1,23 @@
 2019-02-08  Yusuke Suzuki  <[email protected]>
 
+        [JSC] Increase StructureIDTable initial capacity
+        https://bugs.webkit.org/show_bug.cgi?id=194468
+
+        Reviewed by Mark Lam.
+
+        Currently, # of structures just after initializing JSGlobalObject (precisely, initializing GlobalObject in
+        JSC shell), 281, already exceeds the current initial value 256. We should increase the capacity since
+        unnecessary resizing requires more operations, keeps old StructureID array until GC happens, and makes
+        more memory dirty. We also remove some structures that are no longer used.
+
+        * runtime/JSGlobalObject.h:
+        (JSC::JSGlobalObject::callbackObjectStructure const):
+        (JSC::JSGlobalObject::propertyNameIteratorStructure const): Deleted.
+        * runtime/StructureIDTable.h:
+        * runtime/VM.h:
+
+2019-02-08  Yusuke Suzuki  <[email protected]>
+
         [JSC] String.fromCharCode's slow path always generates 16bit string
         https://bugs.webkit.org/show_bug.cgi?id=194466
 

Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObject.h (241233 => 241234)


--- trunk/Source/_javascript_Core/runtime/JSGlobalObject.h	2019-02-09 04:40:22 UTC (rev 241233)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObject.h	2019-02-09 07:01:14 UTC (rev 241234)
@@ -335,7 +335,6 @@
     LazyProperty<JSGlobalObject, Structure> m_callbackConstructorStructure;
     LazyProperty<JSGlobalObject, Structure> m_callbackFunctionStructure;
     LazyProperty<JSGlobalObject, Structure> m_callbackObjectStructure;
-    WriteBarrier<Structure> m_propertyNameIteratorStructure;
 #if JSC_OBJC_API_ENABLED
     LazyProperty<JSGlobalObject, Structure> m_objcCallbackFunctionStructure;
     LazyProperty<JSGlobalObject, Structure> m_objcWrapperObjectStructure;
@@ -676,7 +675,6 @@
     Structure* callbackConstructorStructure() const { return m_callbackConstructorStructure.get(this); }
     Structure* callbackFunctionStructure() const { return m_callbackFunctionStructure.get(this); }
     Structure* callbackObjectStructure() const { return m_callbackObjectStructure.get(this); }
-    Structure* propertyNameIteratorStructure() const { return m_propertyNameIteratorStructure.get(); }
 #if JSC_OBJC_API_ENABLED
     Structure* objcCallbackFunctionStructure() const { return m_objcCallbackFunctionStructure.get(this); }
     Structure* objcWrapperObjectStructure() const { return m_objcWrapperObjectStructure.get(this); }

Modified: trunk/Source/_javascript_Core/runtime/StructureIDTable.h (241233 => 241234)


--- trunk/Source/_javascript_Core/runtime/StructureIDTable.h	2019-02-09 04:40:22 UTC (rev 241233)
+++ trunk/Source/_javascript_Core/runtime/StructureIDTable.h	2019-02-09 07:01:14 UTC (rev 241234)
@@ -106,7 +106,7 @@
 
     StructureOrOffset* table() const { return m_table.get(); }
     
-    static const size_t s_initialSize = 256;
+    static constexpr size_t s_initialSize = 512;
 
     Vector<UniqueArray<StructureOrOffset>> m_oldTables;
 

Modified: trunk/Source/_javascript_Core/runtime/VM.h (241233 => 241234)


--- trunk/Source/_javascript_Core/runtime/VM.h	2019-02-09 04:40:22 UTC (rev 241233)
+++ trunk/Source/_javascript_Core/runtime/VM.h	2019-02-09 07:01:14 UTC (rev 241234)
@@ -490,7 +490,6 @@
     Strong<Structure> structureRareDataStructure;
     Strong<Structure> terminatedExecutionErrorStructure;
     Strong<Structure> stringStructure;
-    Strong<Structure> propertyNameIteratorStructure;
     Strong<Structure> propertyNameEnumeratorStructure;
     Strong<Structure> customGetterSetterStructure;
     Strong<Structure> domAttributeGetterSetterStructure;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to