Evict IsEnvironmentRecord from inline type flags
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Apr 2015 17:38:28 +0000 (17:38 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Apr 2015 17:38:28 +0000 (17:38 +0000)
commitaf83ff7a306d37c6dbaa88e18689143835d00bcc
treea6f462506222d23d8750c648db906d276d3f168c
parent35f00f82842763ae04fc34d34a62aa29ddf5804a
Evict IsEnvironmentRecord from inline type flags
https://bugs.webkit.org/show_bug.cgi?id=144398

Reviewed by Mark Lam and Michael Saboff.

In https://bugs.webkit.org/show_bug.cgi?id=144397, we'll need an extra bit in the inline
type flags. This change picks the least important inline type flag - IsEnvironmentRecord -
and evicts it into the out-of-line type flags. This change has no performance implications
because we never even accessed IsEnvironmentRecord via the StructureIDBlob. The only place
where we access it at all is in String.prototype.repeat, and there we already load the
structure anyway.

* runtime/JSTypeInfo.h:
(JSC::TypeInfo::implementsHasInstance):
(JSC::TypeInfo::structureIsImmortal):
(JSC::TypeInfo::isEnvironmentRecord):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/JSTypeInfo.h