1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool
k0kubun 8449f4992b vm_insnhelper.c: never cache getinstancevariable twice
We have several options to ensure there's no race condition between main
thread and MJIT thead about IC reference:

1) Give up caching ivar for multiple classes (or multiple versions of the
   same class) in the same getinstancevariable (This commit's approach)
2) Allocate new inline cache every time

Other ideas we could think of couldn't eliminate possibilities of race
condition.
In 2, it's memory allocation would be slow and it may trigger JIT
cancellation frequently. So 1 would be fast for both VM and JIT
situations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 07:43:50 +00:00
..
m4 support --with-arch=x86_64h 2018-10-03 04:49:34 +00:00
ruby_vm vm_insnhelper.c: never cache getinstancevariable twice 2018-10-20 07:43:50 +00:00
test
asm_parse.rb
bisect.sh tool/bisect.sh: extracted build part [ci skip] 2018-03-01 03:26:05 +00:00
build-transcode
change_maker.rb
checksum.rb tool: fixed shadowing variables 2018-05-18 00:40:06 +00:00
colorize.rb
darwin-cc darwin-cc: hide ld warnings 2018-09-21 07:19:13 +00:00
downloader.rb tool/downloader.rb: retry Net::ReadTimeout 2018-10-16 09:29:23 +00:00
enc-emoji-citrus-gen.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
enc-emoji4unicode.rb
enc-unicode.rb tool/enc-unicode.rb: rewrote without flip-flop 2018-09-22 20:39:35 +00:00
eval.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
expand-config.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
extlibs.rb Revert "Use &. instead of modifier if" 2018-06-09 16:05:38 +00:00
fake.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
fetch-bundled_gems.rb
file2lastrev.rb
gem-unpack.rb
gen_dummy_probes.rb
gen_ruby_tapset.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
generate-backport-changelog.rb
generic_erb.rb generic_erb.rb: get rid of fileutils 2018-05-15 07:46:55 +00:00
git-refresh tool/git-refresh: skip git fetch and checkout 2018-07-08 05:52:12 +00:00
gperf.sed
id2token.rb
ifchange
insns2vm.rb
install-sh
jisx0208.rb
make-snapshot make-snapshot: package with TarHeader 2018-10-18 06:36:30 +00:00
make_hgraph.rb
mdoc2man.rb
merger.rb remove message already unnecesary 2018-10-18 00:54:32 +00:00
mk_call_iseq_optimized.rb _mjit_compile_send.erb: refactor code to setup iseq 2018-09-24 06:09:55 +00:00
mkconfig.rb remove DISABLE_RUBYGEMS from config files 2018-06-22 04:13:02 +00:00
mkrunnable.rb tool: removed unused variables 2018-05-18 00:38:00 +00:00
node_name.rb tool/node_name.rb: rewrote without flip-flop 2018-09-07 13:43:01 +00:00
parse.rb
prereq.status
probes_to_wiki.rb
rbinstall.rb win32/Makefile.sub: generate MJIT header pdb 2018-10-11 16:28:04 +00:00
rbuninstall.rb
redmine-backporter.rb get rid of an encode noncompatible error 2018-08-13 12:42:55 +00:00
release.sh
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb Add lldb as a debugger option 2018-07-09 17:49:21 +00:00
strip-rdoc.rb
sync_default_gems.rb Cleanup fiddle extenstion when sync them from github repo. 2018-10-20 07:21:14 +00:00
test-coverage.rb make test-all COVERAGE=true supports directory-separated build 2018-04-05 01:05:16 +00:00
transcode-tblgen.rb tool: fixed shadowing variables 2018-05-18 00:40:06 +00:00
transform_mjit_header.rb transform_mjit_header.rb: fix up r65169 2018-10-19 13:11:33 +00:00
update-deps common.mk: ruby tool/update-deps --fix 2018-09-17 01:31:06 +00:00
vcs.rb vcs.rb: .git at export 2018-02-26 06:00:08 +00:00
vpath.rb
vtlh.rb
ytab.sed