In #25886 two extra TypeFlags were introduced and we're now using 32 bits. That's bad! Anything beyond the lower 30 bits (1 << 29) causes numbers to be boxed and positively wreaks havoc on performance. We know this first hand from previous overflows. We need to bring TypeFlags back down to 30 bits ASAP, and certainly before we ship the next RC or release. I'm surprised we merged the PR with this known issue (e.g. see here).
In #25886 two extra
TypeFlagswere introduced and we're now using 32 bits. That's bad! Anything beyond the lower 30 bits (1 << 29) causes numbers to be boxed and positively wreaks havoc on performance. We know this first hand from previous overflows. We need to bringTypeFlagsback down to 30 bits ASAP, and certainly before we ship the next RC or release. I'm surprised we merged the PR with this known issue (e.g. see here).