BitStack::push() calculates an index based on m_size to determine where the new entry is supposed to go. However, BitStack::top() always looks up the bit value using m_words.last(), which can be wrong if popping elements has caused m_size to point into a word other than the last one (simple test: push 'true' 33 times, then pop() once and call top() ... it will read 'false'.) BitStack::top() should instead calculate an index the same as push().
Committed 258190@main (409456bc5cee): <https://commits.webkit.org/258190@main> Reviewed commits have been landed. Closing PR #7888 and removing active labels.
<rdar://problem/103597584>