1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/internal
Takashi Kokubun d9d9005a3a
MJIT: Stop using the VM barrier for jit_cont
This solves multiple problems.

First, RB_VM_LOCK_ENTER/LEAVE is a barrier. We could at least use the
_NO_BARRIER variant.

Second, this doesn't need to interfere with GC or other GVL users when
multiple Ractors are used. This needs to be used in very few places, so
the benefit of fine-grained locking would outweigh its small maintenance
cost.

Third, it fixes a crash for YJIT. Because YJIT is never disabled until a
process exits unlike MJIT that finishes earlier, we could call jit_cont_free
when EC no longer exists, which crashes RB_VM_LOCK_ENTER.
2022-10-19 17:20:48 -07:00
..
array.h Add Data class implementation: Simple immutable value object 2022-09-30 18:23:19 +09:00
bignum.h
bits.h
class.h Revert "Revert "This commit implements the Object Shapes technique in CRuby."" 2022-10-11 08:40:56 -07:00
cmdlineopt.h Rust YJIT 2022-04-27 11:00:22 -04:00
compar.h
compile.h RubyVM.keep_script_lines 2021-10-21 16:17:39 +09:00
compilers.h
complex.h
cont.h MJIT: Stop using the VM barrier for jit_cont 2022-10-19 17:20:48 -07:00
dir.h
enc.h
encoding.h Remove get_actual_encoding() and the dynamic endian detection for dummy UTF-16/UTF-32 2022-09-12 14:02:34 +02:00
enum.h
enumerator.h
error.h
eval.h
file.h
fixnum.h Fix rb_fix_mul_fix on OpenBSD/mips64 2022-07-03 09:42:44 -07:00
gc.h Increase SIZE_POOL_COUNT to 5 2022-05-09 08:45:24 -04:00
hash.h
imemo.h Revert this until we can figure out WB issues or remove shapes from GC 2022-09-26 16:10:11 -07:00
inits.h
io.h
load.h
loadpath.h
math.h
missing.h
numeric.h Use roomof macro for rounding up divisions 2022-10-14 19:23:25 +09:00
object.h Revert "Revert "This commit implements the Object Shapes technique in CRuby."" 2022-10-11 08:40:56 -07:00
parse.h Add error_tolerant option to RubyVM::AST 2022-10-08 17:59:11 +09:00
proc.h
process.h process.c: Add Process._fork (#5017) 2021-10-25 20:47:19 +09:00
ractor.h internal/ractor.h: Added 2022-03-30 16:50:46 +09:00
random.h
range.h
rational.h
re.h
sanitizers.h
serial.h
signal.h
static_assert.h
string.h Revert "Revert "error.c: Let Exception#inspect inspect its message"" 2022-09-23 16:40:59 +09:00
struct.h
symbol.h Ensure _id2ref finds symbols with the correct type 2022-07-20 10:38:44 -07:00
thread.h Add eval: true/false flag to Coverage.setup. 2022-09-29 09:44:14 +13:00
time.h
transcode.h
util.h
variable.h YJIT doesn't need rb_obj_ensure_iv_index_mapping 2022-10-14 17:14:41 -07:00
vm.h Finer-grained constant cache invalidation (take 2) 2022-04-01 14:48:22 -04:00
warnings.h