WebKit Bugzilla
Attachment 361593 Details for
Bug 194468
: [JSC] Increase StructureIDTable initial capacity
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194468-20190208214512.patch (text/plain), 4.09 KB, created by
Yusuke Suzuki
on 2019-02-08 21:45:12 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Yusuke Suzuki
Created:
2019-02-08 21:45:12 PST
Size:
4.09 KB
patch
obsolete
>Subversion Revision: 241233 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index e014af22e574e054359497fd02191a9d713ea56b..de1f695d6e003ee3b7cb108e9b6ca3065a993344 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-08 Yusuke Suzuki <ysuzuki@apple.com> >+ >+ [JSC] Increase StructureIDTable initial capacity >+ https://bugs.webkit.org/show_bug.cgi?id=194468 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Currently, # of structuresjust 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 <ysuzuki@apple.com> > > [JSC] String.fromCharCode's slow path always generates 16bit string >diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.h b/Source/JavaScriptCore/runtime/JSGlobalObject.h >index c3ab151fc701e27bcec5de872c1a2bf52a51f165..de5467c679c8efe00851f92f2b9e4a2c5d4e732c 100644 >--- a/Source/JavaScriptCore/runtime/JSGlobalObject.h >+++ b/Source/JavaScriptCore/runtime/JSGlobalObject.h >@@ -335,7 +335,6 @@ class JSGlobalObject : public JSSegmentedVariableObject { > 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 @@ class JSGlobalObject : public JSSegmentedVariableObject { > 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); } >diff --git a/Source/JavaScriptCore/runtime/StructureIDTable.h b/Source/JavaScriptCore/runtime/StructureIDTable.h >index 7789df8959f7fed5e002a64a633f6b914fbbce70..25b86e3d6ad27b63622430446248eda7c3c73955 100644 >--- a/Source/JavaScriptCore/runtime/StructureIDTable.h >+++ b/Source/JavaScriptCore/runtime/StructureIDTable.h >@@ -106,7 +106,7 @@ class StructureIDTable { > > 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; > >diff --git a/Source/JavaScriptCore/runtime/VM.h b/Source/JavaScriptCore/runtime/VM.h >index ae88ec8ce340bb69efb290b29d12ef720b27aea5..bb9366aa66f65cd35cef7b86f897643e5d33b779 100644 >--- a/Source/JavaScriptCore/runtime/VM.h >+++ b/Source/JavaScriptCore/runtime/VM.h >@@ -490,7 +490,6 @@ class VM : public ThreadSafeRefCounted<VM>, public DoublyLinkedListNode<VM> { > Strong<Structure> structureRareDataStructure; > Strong<Structure> terminatedExecutionErrorStructure; > Strong<Structure> stringStructure; >- Strong<Structure> propertyNameIteratorStructure; > Strong<Structure> propertyNameEnumeratorStructure; > Strong<Structure> customGetterSetterStructure; > Strong<Structure> domAttributeGetterSetterStructure;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
mark.lam
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194468
: 361593