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
Prevents the need for having to fall back to mechanisms such as stty.
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.
People should use the actor gem available at https://github.com/rubinius/rubinius-actor if they want to use the actor. There are of course also other actor frameworks such as Celluloid https://github.com/celluloid/celluloid that work very well with Rubinius. Fixes #1869
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
fix libffi not allocating trampoline correctly on mountain lion
mountain lion is darwin 12, which the regex wasn't picking up correctly See https://bugzilla.mozilla.org/show_bug.cgi?id=682180
This makes sure we track it atomically and always keep it up to date independent from Ruby land code.
This reverts commit a77e4f5.
Make Thread#raise not raise $!