1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool
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
..
bundler Merge RubyGems and Bundler master 2022-02-28 11:39:20 +09:00
dummy-rake-compiler/rake
lib [ruby/date] Use assert_deprecated_warn 2022-02-25 20:39:47 +09:00
m4 Fix locations of the second argument 2022-03-30 14:38:33 +09:00
releng gen-mail.rb: support markdown file path 2022-02-18 21:44:22 +09:00
ruby_vm Finer-grained constant cache invalidation (take 2) 2022-04-01 14:48:22 -04:00
test Let testunit use omit or pend instead of skip 2022-01-16 21:35:09 +09:00
asm_parse.rb
bisect.sh
build-transcode
checksum.rb
ci_functions.sh
colors
darwin-cc
disable_ipv6.sh
downloader.rb
enc-emoji-citrus-gen.rb
enc-emoji4unicode.rb
enc-unicode.rb
eval.rb
expand-config.rb
extlibs.rb extlibs.rb: Add fallback Colorize 2022-03-24 13:16:13 +09:00
fake.rb fake.rb: Set prefix to $topdir 2022-02-27 21:58:59 +09:00
fetch-bundled_gems.rb Fetch the unmerged revision to test of bundled gems 2022-01-14 14:54:29 +09:00
file2lastrev.rb
format-release tag's prefix is "v" 2021-12-25 22:19:02 +09:00
gem-unpack.rb
gen-mailmap.rb
gen_dummy_probes.rb
gen_ruby_tapset.rb
generic_erb.rb
git-refresh
gperf.sed
id2token.rb
ifchange
insns2vm.rb
install-sh
intern_ids.rb
leaked-globals
make-snapshot Remove CI configuration files from extracted bundled gems 2022-03-31 10:49:56 +09:00
make_hgraph.rb
mdoc2man.rb
merger.rb
mjit_archflag.sh
mjit_tabs.rb
mk_builtin_loader.rb Add ISEQ_BODY macro 2022-03-24 10:03:51 -04:00
mkconfig.rb Add ABI version to RUBY_LIB_VERSION 2022-02-24 09:18:01 -05:00
mkrunnable.rb
node_name.rb
parse.rb
prereq.status
probes_to_wiki.rb
pure_parser.rb
rbinstall.rb tool/rbinstall.rb: instal ruby.wasm produced by Emscripten 2022-01-06 18:14:24 +09:00
rbuninstall.rb
redmine-backporter.rb
release.sh
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb
search-cgvars.rb
strip-rdoc.rb
sync_default_gems.rb Ignore pre-release for sync target on sync_default_gems 2022-03-10 13:35:21 +09:00
test-bundled-gems.rb
test-coverage.rb
transcode-tblgen.rb
transform_mjit_header.rb [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
travis_retry.sh
travis_wait.sh
update-bundled_gems.rb
update-deps
vtlh.rb
wasm-clangw [wasm] add asyncify based setjmp, fiber, register scan emulation 2022-01-19 11:19:06 +09:00
ytab.sed