Move StructureIsImmortal to out of line flags.
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Apr 2018 20:22:08 +0000 (20:22 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Apr 2018 20:22:08 +0000 (20:22 +0000)
commite3eddd284861f6bc25e2cfd020e39d1bd70a4859
treed09e54f5f436c78f65eeb1d2fc0cb32fb94d3121
parentb58fcec4ab0f9f60d083a1df4232dcb9b533140b
Move StructureIsImmortal to out of line flags.
https://bugs.webkit.org/show_bug.cgi?id=185101

Reviewed by Saam Barati.

This will free up a bit in the inline flags where we can move the
isPrototype bit to. This will, in turn, free a bit for use in
implementing copy on write butterflies.

Also, this patch removes an assertion from Structure::typeInfo()
that inadvertently makes the function invalid to call while
cleaning up the vm.

* heap/HeapCellType.cpp:
(JSC::DefaultDestroyFunc::operator() const):
* runtime/JSCell.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::callDestructor): Deleted.
* runtime/JSTypeInfo.h:
(JSC::TypeInfo::hasStaticPropertyTable):
(JSC::TypeInfo::structureIsImmortal const):
* runtime/Structure.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/heap/HeapCellType.cpp
Source/JavaScriptCore/runtime/JSCell.h
Source/JavaScriptCore/runtime/JSCellInlines.h
Source/JavaScriptCore/runtime/JSTypeInfo.h
Source/JavaScriptCore/runtime/Structure.h