1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
Jemma Issroff 913979bede
Make inline cache reads / writes atomic with object shapes
Prior to this commit, we were reading and writing ivar index and
shape ID in inline caches in two separate instructions when
getting and setting ivars. This meant there was a race condition
with ractors and these caches where one ractor could change
a value in the cache while another was still reading from it.

This commit instead reads and writes shape ID and ivar index to
inline caches atomically so there is no longer a race condition.

Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
2022-10-11 08:40:56 -07:00
..
-ext- Revert "Revert "This commit implements the Object Shapes technique in CRuby."" 2022-10-11 08:40:56 -07:00
base64
benchmark
bigdecimal
cgi [ruby/cgi] Implement CGI.url_encode and CGI.url_decode 2022-08-16 19:12:03 +09:00
coverage Add Coverage.supported? to detect what modes are supported. 2022-09-29 09:44:14 +13:00
csv Respect RUBY_TESTOPTS on test-all (https://github.com/Shopify/ruby/pull/435) 2022-08-29 09:09:41 -07:00
date [ruby/date] Fix misplaced time zone offset checks 2022-10-07 14:41:31 +09:00
did_you_mean [ruby/did_you_mean] Fixed correction duplicates in VariableNameChecker 2022-09-01 19:47:39 +09:00
digest [ruby/digest] Ignore test_ractor.rb on non-Ractor ruby 2022-07-21 11:45:48 +09:00
drb Omit a DRb test on MinGW 2022-09-16 17:05:59 +09:00
dtrace
erb
error_highlight [ruby/error_highlight] Make backtrace_location keyword work 2022-08-10 21:19:10 +09:00
etc
excludes Now Psych uses the proleptic Gregorian calendar 2022-09-07 10:37:01 +09:00
fiber Introduce Fiber.blocking{} for bypassing the fiber scheduler. (#6498) 2022-10-06 23:00:49 +13:00
fiddle Add --with-libffi-source-dir feature and removed --enable-bundled-libffi option. (#113) 2022-10-07 15:20:11 +09:00
fileutils [ruby/fileutils] FileUtils.rm* methods swallows only Errno::ENOENT when force is true 2022-08-23 16:52:41 +09:00
fixtures/fake_sorted_set_gem
io Skip test_wait on MinGW CI 2022-09-17 22:08:36 +09:00
irb Move error from top_stmts and top_stmt to stmt 2022-10-08 17:59:11 +09:00
json [flori/json] test parsing of unicode, mixing literal characters with escaped 2022-07-29 19:10:10 +09:00
lib Stop testing MJIT on s390x 2022-09-05 02:02:17 -07:00
logger
mkmf Also the tests should use the configured pkg-config 2022-10-02 15:19:14 +09:00
monitor
net [ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE 2022-09-28 17:26:03 +09:00
nkf
objspace Revert this until we can figure out WB issues or remove shapes from GC 2022-09-26 16:10:11 -07:00
open-uri [ruby/open-uri] fix: added test case that validates that bad TLS version is silently ignored 2022-10-06 18:00:58 +09:00
openssl [ruby/openssl] Skip a new test when old OpenSSL 2022-07-09 15:26:32 +09:00
optparse [ruby/optparse] Don't treat empty string as an option description 2022-10-08 19:30:34 +09:00
ostruct
pathname
psych [ruby/psych] Dump Date/DateTime as proleptic Gregorian date as well as Time 2022-09-07 09:44:14 +09:00
racc
rdoc [ruby/rdoc] Special characters are prohibited as filename on Windows 2022-10-07 12:12:10 +09:00
readline
reline [ruby/reline] use assert_nothing_raised 2022-09-22 22:28:39 +09:00
resolv
rinda Skip running a DRb test on MinGW 2022-08-25 11:37:39 -07:00
ripper [Bug #18963] Separate string contents by here document terminator 2022-08-28 09:29:24 +09:00
ruby Make inline cache reads / writes atomic with object shapes 2022-10-11 08:40:56 -07:00
rubygems [rubygems/rubygems] Bump rb-sys 2022-10-11 21:29:13 +09:00
socket Add IO#timeout attribute and use it for blocking IO operations. (#5653) 2022-10-07 21:48:38 +13:00
stringio [ruby/stringio] Fix the result of StringIO#truncate so compatible with File 2022-07-01 00:52:29 +09:00
strscan
syslog
uri
win32ole
yaml
zlib
runner.rb
test_abbrev.rb
test_delegate.rb
test_extlibs.rb dbm and gdbm have been extracted gems. 2022-09-28 17:06:12 +09:00
test_find.rb
test_forwardable.rb
test_getoptlong.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb
test_pp.rb
test_prettyprint.rb
test_pstore.rb [ruby/pstore] Emphasize keys instead of roots, values instead of objects (https://github.com/ruby/pstore/pull/7) 2022-07-07 07:05:01 +09:00
test_pty.rb
test_rbconfig.rb
test_securerandom.rb
test_set.rb [ruby/set] Get rid of use of Gem::Version 2022-07-14 17:13:52 +09:00
test_shellwords.rb
test_singleton.rb
test_sorted_set.rb
test_syslog.rb
test_tempfile.rb
test_time.rb
test_timeout.rb [ruby/timeout] Explicit add the timeout thread to default ThreadGroup 2022-09-28 01:59:35 +09:00
test_tmpdir.rb
test_trick.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb