Remove unused argument called prime_lock from Thread#setup. The following commit removed code, which was using prime_lock in Thread#setup. But it forgot to change the method's signature to remove prime_lock itself. 6097398 Use Rubinius.lock instead of Channel
The problem was that in various compare and swap cases we didn't explicitly set inflated to 0, because we expect a non inflated header. If the header was already inflated, inflated would be 1 and we would wrongly change the inflated header pointer.
The default encoding is what MRI assigns to index 0, (ie, no encoding bit set in the object header). This implementation detail can be the cause of obscure and latent bugs. So I chose to not use the same indexes as MRI. However, while not changing the indexes, we must match the behavior. So, now the default encoding is correctly set to ASCII-8BIT if no encoding is set on a String.
We changed the object layout at some point to allow for storing C-API handles inline. At that point, check_type_bits wasn't updated to reflect the new object layout. We also reorder the object header layout so we can make a check just on the first 9 bits (1 inflation bit and 8 object type bits) so we don't exclude valid cases where we use a non 0 meaning for the additional bits in the header. Fixes #1973
mountain lion is darwin 12, which the regex wasn't picking up correctly See https://bugzilla.mozilla.org/show_bug.cgi?id=682180
This reverts commit a77e4f5.