flattenDictionaryStruture needs to zero inline storage.
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Jun 2018 18:44:02 +0000 (18:44 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Jun 2018 18:44:02 +0000 (18:44 +0000)
commitb76533da48dd75c78c0e8ab6ca4cf831b7d9bdca
tree78d24f42b4fd66e17cc247d36b57a4546a3683fb
parent1d0c21b7bb7615e74d030f61cd89ab5f9b87a0f3
flattenDictionaryStruture needs to zero inline storage.
https://bugs.webkit.org/show_bug.cgi?id=186869

Reviewed by Saam Barati.

JSTests:

* stress/flatten-object-zero-unused-inline-properties.js: Added.

Source/JavaScriptCore:

This patch also adds the assetion that unused property storage is
zero or JSValue() to putDirectInternal. Additionally, functions
have been added to $vm that flatten dictionary objects and return
the inline capacity of an object.

* runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
* runtime/Structure.cpp:
(JSC::Structure::flattenDictionaryStructure):
* tools/JSDollarVM.cpp:
(JSC::functionInlineCapacity):
(JSC::functionFlattenDictionaryObject):
(JSC::JSDollarVM::finishCreation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSTests/ChangeLog
JSTests/stress/flatten-object-zero-unused-inline-properties.js [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/JSObjectInlines.h
Source/JavaScriptCore/runtime/Structure.cpp
Source/JavaScriptCore/tools/JSDollarVM.cpp