1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
Kevin Newton 6068da8937 Finer-grained constant cache invalidation (take 2)
This commit reintroduces finer-grained constant cache invalidation.
After 8008fb7 got merged, it was causing issues on token-threaded
builds (such as on Windows).

The issue was that when you're iterating through instruction sequences
and using the translator functions to get back the instruction structs,
you're either using `rb_vm_insn_null_translator` or
`rb_vm_insn_addr2insn2` depending if it's a direct-threading build.
`rb_vm_insn_addr2insn2` does some normalization to always return to
you the non-trace version of whatever instruction you're looking at.
`rb_vm_insn_null_translator` does not do that normalization.

This means that when you're looping through the instructions if you're
trying to do an opcode comparison, it can change depending on the type
of threading that you're using. This can be very confusing. So, this
commit creates a new translator function
`rb_vm_insn_normalizing_translator` to always return the non-trace
version so that opcode comparisons don't have to worry about different
configurations.

[Feature #18589]
2022-04-01 14:48:22 -04:00
..
-ext- [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
base64
benchmark
bigdecimal [ruby/bigdecimal] Fix the maximum precision of the quotient 2022-01-24 10:56:30 +09:00
cgi [ruby/cgi] Check integer overflow in long range 2021-12-12 13:05:15 +09:00
coverage Make Coverage suspendable (#4856) 2021-10-25 20:00:51 +09:00
csv [ruby/csv] test: reduce size for stability on GitHub Actions 2021-12-24 14:35:33 +09:00
date test/date/test_date_parse.rb: relax the time limit 2022-03-31 12:52:16 +09:00
did_you_mean Sync did_you_mean 2021-12-24 23:20:30 +09:00
digest
drb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
dtrace Use omit instead of skip without the default gems tests 2022-01-11 21:17:59 +09:00
erb [ruby/erb] Revert "Remove safe_level and further positional arguments (https://github.com/ruby/erb/pull/7)" 2022-01-17 12:39:17 -08:00
error_highlight [ruby/error_highlight] Add a test to check if it is robust against a spoofed filename 2022-01-04 23:18:37 +09:00
etc
excludes Skip three tests on FreeBSD 13 2022-03-08 16:06:37 +09:00
fiber rb_fiber_terminate must not return [Bug #18497] 2022-01-19 19:57:16 +09:00
fiddle
fileutils
fixtures/fake_sorted_set_gem
io test/io/console/test_io_console.rb: parens needed 2022-03-08 17:40:02 +09:00
irb [ruby/irb] Check colorize option correctly to clear char attr and don't use it for tests 2021-12-21 15:50:32 +09:00
json
lib Fix test_rubyoptions for MinGW (#5363) 2021-12-27 22:22:09 -08:00
logger [ruby/logger] Fix log rotation inter-process lock failed. 2022-01-27 12:33:06 +09:00
mkmf Update the test for [Feature #18615] 2022-03-17 15:07:18 +09:00
monitor
net [ruby/net-http] Update the content-length heading when decoding bodies 2022-04-02 02:49:21 +09:00
nkf
objspace Refactor test_dump_all to make assertions about the contents of the dumped hash 2022-03-29 08:21:10 -07:00
open-uri
openssl [ruby/openssl] Add tast cases to OpenSSL::BN using ractor 2021-12-25 03:31:59 +09:00
optparse [ruby/optparse] Fix for ruby 3.0 or earlier 2022-01-12 21:16:02 +09:00
ostruct [ruby/ostruct] Fix class and method as attribute names 2022-03-07 20:08:22 +09:00
pathname [ruby/pathname] Make Pathname#each_entry return enumerator if called without block 2022-01-07 09:42:09 +09:00
psych [ruby/psych] Add strict_integer option to parse numbers with commas as strings 2022-01-22 10:00:51 +09:00
racc
rdoc [ruby/rdoc] Expand the enclosing tree of the current file 2022-03-22 01:32:13 +09:00
readline Increase wait time 2021-12-25 00:20:53 +09:00
reline [ruby/reline] Fix support for emacs-ctlx and emacs-meta keymaps 2022-02-22 18:52:52 +09:00
resolv [ruby/resolv] Use omit instead of skip for test-unit 2022-01-12 10:49:58 +09:00
rinda [ruby/rinda] Use omit instead of skip for test-unit 2022-01-12 10:59:21 +09:00
ripper ripper: refine test to show expected states 2021-12-14 20:06:51 +09:00
ruby Finer-grained constant cache invalidation (take 2) 2022-04-01 14:48:22 -04:00
rubygems [rubygems/rubygems] Avoid crash in test teardown 2022-03-24 07:34:29 +09:00
socket Use omit instead of skip: test/socket/**/*.rb 2021-12-28 20:29:54 +09:00
stringio
strscan
syslog
uri 'uri/https' is needed 2021-10-22 23:56:07 +09:00
win32ole [ruby/win32ole] Use omit() for skip() 2022-01-12 10:50:43 +09:00
yaml
zlib [ruby/zlib] Use omit instead of skip for test-unit 2022-01-11 21:35:22 +09:00
runner.rb Disable experimental warnings in test/runner.rb 2021-11-10 17:42:09 +09:00
test_abbrev.rb
test_delegate.rb
test_extlibs.rb
test_find.rb [ruby/find] Use omit instead of skip for test-unit 2022-01-11 21:40:51 +09:00
test_forwardable.rb
test_getoptlong.rb [ruby/getoptlong] fixup 5f57f47572502173e2e8880f83ef7b3e2659f974 2021-11-11 14:00:32 +09:00
test_ipaddr.rb [ruby/ipaddr] Fix exception calling to_range' after freeze' 2022-02-10 17:18:05 +09:00
test_mutex_m.rb
test_observer.rb
test_open3.rb [ruby/open3] Use omit instead of skip for test-unit 2022-01-12 10:52:09 +09:00
test_pp.rb [ruby/pp] Add context to bind_call and skip 2.7+ test 2021-12-18 08:38:59 +09:00
test_prettyprint.rb
test_pstore.rb
test_pty.rb Use omit instead of skip without the default gems tests 2022-01-11 21:17:59 +09:00
test_rbconfig.rb
test_securerandom.rb [ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190] 2021-12-09 20:26:44 +09:00
test_set.rb Make Set a builtin feature [Feature #16989] 2022-02-18 11:56:24 +09:00
test_shellwords.rb
test_singleton.rb
test_sorted_set.rb
test_syslog.rb
test_tempfile.rb
test_time.rb
test_timeout.rb
test_tmpdir.rb [ruby/tmpdir] Use omit instead of skip for test-unit 2022-01-11 21:50:53 +09:00
test_trick.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb