debase-ruby_core_source 0.10.9 → 0.10.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/Rakefile +6 -3
- data/debase-ruby_core_source.gemspec +2 -1
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/addr2line.h +2 -3
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/builtin.h +17 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/constant.h +10 -5
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/debug_counter.h +127 -48
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/dln.h +3 -18
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/encindex.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/eval_intern.h +16 -7
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/gc.h +13 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/hrtime.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/id_table.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns.inc +0 -4
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns_info.inc +323 -536
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bignum.h +246 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bits.h +566 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compar.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compile.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/complex.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/cont.h +25 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/dir.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enc.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/encoding.h +28 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enum.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enumerator.h +22 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/error.h +124 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/eval.h +33 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/file.h +39 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/fixnum.h +185 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/hash.h +241 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/inits.h +51 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/io.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/load.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/loadpath.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/math.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/missing.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/numeric.h +255 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/object.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/parse.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/proc.h +33 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/process.h +136 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/random.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/range.h +41 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/rational.h +71 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/re.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/sanitizers.h +191 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/scheduler.h +44 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/signal.h +22 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/string.h +140 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/struct.h +154 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/symbol.h +41 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h +54 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/time.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/transcode.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/util.h +31 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/variable.h +84 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/iseq.h +11 -18
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/method.h +21 -8
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/mjit.h +89 -48
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/mjit_compile.inc +2746 -2288
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/node.h +32 -24
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/node_name.inc +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/opt_sc.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optunifs.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/parse.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/probes_helper.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regenc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regint.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regparse.h +0 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_assert.h +15 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/symbol.h +4 -4
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_pthread.h +45 -5
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_win32.h +28 -3
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/timev.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/transcode_data.h +2 -3
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/transient_heap.h +6 -3
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/variable.h +22 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/version.h +23 -11
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm.inc +707 -671
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_call_iseq_optimized.inc +93 -86
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_callinfo.h +456 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_core.h +262 -194
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_exec.h +9 -6
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_insnhelper.h +28 -26
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_opts.h +6 -5
- data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_sync.h +136 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vmtc.inc +0 -4
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/addr2line.h +2 -3
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/builtin.h +83 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/build_assert/build_assert.h +13 -13
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/check_type/check_type.h +17 -17
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/container_of/container_of.h +63 -63
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/list/list.h +262 -262
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/str/str.h +4 -4
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/constant.h +10 -9
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/darray.h +198 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/debug_counter.h +137 -48
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/dln.h +3 -23
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/encindex.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/eval_intern.h +34 -41
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/gc.h +24 -11
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/hrtime.h +9 -9
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/id.h +4 -3
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/id_table.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns.inc +6 -8
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns_info.inc +1907 -2543
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/array.h +113 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bignum.h +246 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bits.h +565 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/class.h +188 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compar.h +49 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compile.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compilers.h +107 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/complex.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/cont.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/dir.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enc.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/encoding.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enum.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enumerator.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/error.h +191 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/eval.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/file.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/fixnum.h +184 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/gc.h +175 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/hash.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/imemo.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/inits.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/io.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/load.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/loadpath.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/math.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/missing.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/numeric.h +271 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/object.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/parse.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/proc.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/process.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/random.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/range.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/rational.h +72 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/re.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/sanitizers.h +190 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/serial.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/signal.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/static_assert.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/string.h +141 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/struct.h +153 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/symbol.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/thread.h +53 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/time.h +34 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/transcode.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/util.h +27 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/variable.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/vm.h +132 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/warnings.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal.h +109 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/iseq.h +44 -35
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/method.h +21 -4
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/mjit.h +231 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/mjit_compile.inc +3322 -2940
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/node.h +39 -23
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/node_name.inc +210 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/opt_sc.inc +0 -2
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optinsn.inc +7 -7
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/parse.h +9 -5
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/probes_helper.h +9 -7
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ractor_core.h +346 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regenc.h +8 -8
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regint.h +16 -12
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regparse.h +2 -2
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_assert.h +14 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_atomic.h +23 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/symbol.h +14 -14
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_pthread.h +45 -5
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_win32.h +30 -5
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/timev.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/transcode_data.h +49 -50
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/transient_heap.h +6 -3
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/variable.h +21 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/version.h +15 -4
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm.inc +1033 -887
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_call_iseq_optimized.inc +244 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_callinfo.h +454 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_core.h +508 -362
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_debug.h +119 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_exec.h +22 -18
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_insnhelper.h +42 -32
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm_opts.h +8 -5
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_sync.h +137 -0
- data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vmtc.inc +6 -8
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit.h +63 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_asm.h +392 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_codegen.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_core.h +302 -0
- data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_iface.h +38 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- data/lib/debase/ruby_core_source.rb +0 -2
- metadata +240 -110
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/internal.h +0 -2682
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +0 -2
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_assert.h +0 -15
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_atomic.h +0 -244
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_call_iseq_optimized.inc +0 -237
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_debug.h +0 -34
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/internal.h +0 -2657
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/mjit.h +0 -175
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/node_name.inc +0 -208
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/revision.h +0 -2
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_assert.h +0 -15
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_atomic.h +0 -244
- data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/vm_debug.h +0 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 138331098ab4e75cb5ece30ae7120e710b2f9d7e26306b213a27094ca6a69742
|
4
|
+
data.tar.gz: 62fe8c8b90edba8f505f831d09a92ab3113133b8bfa6783d12e1cd2d0abdac32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1168cb7f6495afff3d7d8d079ec17271ace99f9df1da0f841d6524a62912f8c7e6f86f3287b1aabd45043fbcf5069722bb22a9c321eb2d302c8ac77a996d336
|
7
|
+
data.tar.gz: 4e498ba9d735f2b8f44f4298a6260299852d95fc6113735ac04d293e42281fe893780c2609225bbff3e180128d055e49ac67c219d43d2402156f4f8e8ff4568e
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## [0.10.10](https://github.com/ruby-debug/debase-ruby_core_source/compare/v0.10.9...v0.10.10)
|
2
|
+
|
3
|
+
* removed ruby 2.7.0 preview sources to avoid falling back on them for release versions
|
4
|
+
|
1
5
|
## [0.10.9](https://github.com/os97673/debase-ruby_core_source/compare/v0.10.8...v0.10.9)
|
2
6
|
|
3
7
|
* ruby 2.7.0 added (contributed by [ViugiNick](https://github.com/ViugiNick))
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
## Description
|
2
2
|
Fork of [debugger-ruby\_core\_source](https://github.com/cldwalker/debugger-ruby_core_source)
|
3
3
|
that uses included Ruby headers (\*.h and \*.inc) instead of downloading
|
4
|
-
them. Used by [debase](http://github.com/
|
4
|
+
them. Used by [debase](http://github.com/ruby-debug/debase).
|
5
5
|
Only ruby >= 2.0.0 is supported (debase doesn't work for older rubies)
|
6
6
|
|
7
7
|
## Usage
|
data/Rakefile
CHANGED
@@ -46,7 +46,7 @@ task :add_source do
|
|
46
46
|
minor_version = version.split('.')[0..1].join('.')
|
47
47
|
uri_path = "http://ftp.ruby-lang.org/pub/ruby/#{minor_version}/#{ruby_dir}.tar.gz"
|
48
48
|
puts "Downloading #{uri_path}..."
|
49
|
-
temp = open(uri_path)
|
49
|
+
temp = URI.open(uri_path)
|
50
50
|
end
|
51
51
|
puts "Unpacking #{uri_path}..."
|
52
52
|
tgz = Zlib::GzipReader.new(File.open(temp, "rb"))
|
@@ -54,13 +54,16 @@ task :add_source do
|
|
54
54
|
Dir.mktmpdir do |dir|
|
55
55
|
inc_dir = dir + "/" + ruby_dir + "/*.inc"
|
56
56
|
hdr_dir = dir + "/" + ruby_dir + "/*.h"
|
57
|
-
more_hdr_dir =
|
57
|
+
more_hdr_dir = [
|
58
|
+
dir + "/" + ruby_dir + "/ccan/**/*.h",
|
59
|
+
dir + "/" + ruby_dir + "/internal/**/*.h"
|
60
|
+
]
|
58
61
|
Archive::Tar::Minitar.unpack(tgz, dir)
|
59
62
|
|
60
63
|
dest_dir = get_dest_dir(ruby_dir, version, dir)
|
61
64
|
puts dest_dir
|
62
65
|
FileUtils.mkdir_p(dest_dir)
|
63
|
-
Dir.glob([ inc_dir, hdr_dir, more_hdr_dir ]).each do |file|
|
66
|
+
Dir.glob([ inc_dir, hdr_dir, more_hdr_dir ].flatten).each do |file|
|
64
67
|
target = file.sub(dir + '/' + ruby_dir, dest_dir)
|
65
68
|
FileUtils.mkdir_p(File.dirname(target))
|
66
69
|
FileUtils.cp(file, target, verbose: false)
|
@@ -12,9 +12,10 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.description = %q{Provide Ruby core source files for C extensions that need them.}
|
13
13
|
s.license = "MIT"
|
14
14
|
s.required_rubygems_version = ">= 1.3.6"
|
15
|
-
s.required_ruby_version = '
|
15
|
+
s.required_ruby_version = '>= 1.9.3'
|
16
16
|
s.extra_rdoc_files = [ "README.md"]
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
18
|
s.add_development_dependency "archive-tar-minitar", ">= 0.5.2"
|
19
19
|
s.add_development_dependency 'rake', '~> 0.9.2'
|
20
|
+
s.add_development_dependency 'minitar-cli'
|
20
21
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
#ifndef RUBY_ADDR2LINE_H
|
2
|
+
#define RUBY_ADDR2LINE_H
|
1
3
|
/**********************************************************************
|
2
4
|
|
3
5
|
addr2line.h -
|
@@ -8,9 +10,6 @@
|
|
8
10
|
|
9
11
|
**********************************************************************/
|
10
12
|
|
11
|
-
#ifndef RUBY_ADDR2LINE_H
|
12
|
-
#define RUBY_ADDR2LINE_H
|
13
|
-
|
14
13
|
#if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
|
15
14
|
|
16
15
|
void
|
@@ -1,3 +1,6 @@
|
|
1
|
+
#ifndef BUILTIN_H_INCLUDED
|
2
|
+
#define BUILTIN_H_INCLUDED
|
3
|
+
|
1
4
|
// invoke
|
2
5
|
|
3
6
|
struct rb_builtin_function {
|
@@ -8,14 +11,24 @@ struct rb_builtin_function {
|
|
8
11
|
// for load
|
9
12
|
const int index;
|
10
13
|
const char * const name;
|
14
|
+
|
15
|
+
// for jit
|
16
|
+
void (*compiler)(FILE *, long, unsigned, bool);
|
11
17
|
};
|
12
18
|
|
13
|
-
#define RB_BUILTIN_FUNCTION(_i, _name,
|
19
|
+
#define RB_BUILTIN_FUNCTION(_i, _name, _fname, _arity, _compiler) {\
|
20
|
+
.name = #_name, \
|
21
|
+
.func_ptr = (void *)_fname, \
|
22
|
+
.argc = _arity, \
|
23
|
+
.index = _i, \
|
24
|
+
.compiler = _compiler, \
|
25
|
+
}
|
14
26
|
|
15
27
|
void rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table);
|
16
28
|
|
17
|
-
#ifndef
|
29
|
+
#ifndef rb_execution_context_t
|
18
30
|
typedef struct rb_execution_context_struct rb_execution_context_t;
|
31
|
+
#define rb_execution_context_t rb_execution_context_t
|
19
32
|
#endif
|
20
33
|
|
21
34
|
/* The following code is generated by the following Ruby script:
|
@@ -66,3 +79,5 @@ struct builtin_binary {
|
|
66
79
|
const unsigned char *bin; // binary by ISeq#to_binary
|
67
80
|
size_t bin_size;
|
68
81
|
};
|
82
|
+
|
83
|
+
#endif // BUILTIN_H_INCLUDED
|
File without changes
|
data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/check_type/check_type.h
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,3 +1,5 @@
|
|
1
|
+
#ifndef CONSTANT_H
|
2
|
+
#define CONSTANT_H
|
1
3
|
/**********************************************************************
|
2
4
|
|
3
5
|
constant.h -
|
@@ -8,8 +10,8 @@
|
|
8
10
|
Copyright (C) 2009 Yusuke Endoh
|
9
11
|
|
10
12
|
**********************************************************************/
|
11
|
-
#
|
12
|
-
#
|
13
|
+
#include "ruby/ruby.h"
|
14
|
+
#include "id_table.h"
|
13
15
|
|
14
16
|
typedef enum {
|
15
17
|
CONST_DEPRECATED = 0x100,
|
@@ -39,12 +41,15 @@ VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
|
|
39
41
|
VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
|
40
42
|
VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);
|
41
43
|
void rb_free_const_table(struct rb_id_table *tbl);
|
44
|
+
VALUE rb_const_source_location(VALUE, ID);
|
45
|
+
|
46
|
+
MJIT_SYMBOL_EXPORT_BEGIN
|
47
|
+
int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
|
48
|
+
rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
|
42
49
|
VALUE rb_public_const_get_at(VALUE klass, ID id);
|
43
50
|
VALUE rb_public_const_get_from(VALUE klass, ID id);
|
44
51
|
int rb_public_const_defined_from(VALUE klass, ID id);
|
45
|
-
rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
|
46
|
-
int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
|
47
|
-
VALUE rb_const_source_location(VALUE, ID);
|
48
52
|
VALUE rb_const_source_location_at(VALUE, ID);
|
53
|
+
MJIT_SYMBOL_EXPORT_END
|
49
54
|
|
50
55
|
#endif /* CONSTANT_H */
|
@@ -14,38 +14,58 @@
|
|
14
14
|
|
15
15
|
#ifdef RB_DEBUG_COUNTER
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
RB_DEBUG_COUNTER(
|
36
|
-
RB_DEBUG_COUNTER(
|
37
|
-
RB_DEBUG_COUNTER(
|
38
|
-
RB_DEBUG_COUNTER(
|
39
|
-
|
40
|
-
|
41
|
-
RB_DEBUG_COUNTER(
|
42
|
-
RB_DEBUG_COUNTER(
|
43
|
-
RB_DEBUG_COUNTER(
|
44
|
-
RB_DEBUG_COUNTER(
|
45
|
-
|
46
|
-
RB_DEBUG_COUNTER(
|
47
|
-
RB_DEBUG_COUNTER(
|
48
|
-
|
17
|
+
// method cache (IMC: inline method cache)
|
18
|
+
RB_DEBUG_COUNTER(mc_inline_hit) // IMC hit
|
19
|
+
RB_DEBUG_COUNTER(mc_inline_miss_klass) // IMC miss by different class
|
20
|
+
RB_DEBUG_COUNTER(mc_inline_miss_invalidated) // IMC miss by invalidated ME
|
21
|
+
RB_DEBUG_COUNTER(mc_inline_miss_empty) // IMC miss because prev is empty slot
|
22
|
+
RB_DEBUG_COUNTER(mc_inline_miss_same_cc) // IMC miss, but same CC
|
23
|
+
RB_DEBUG_COUNTER(mc_inline_miss_same_cme) // IMC miss, but same CME
|
24
|
+
RB_DEBUG_COUNTER(mc_inline_miss_same_def) // IMC miss, but same definition
|
25
|
+
RB_DEBUG_COUNTER(mc_inline_miss_diff) // IMC miss, different methods
|
26
|
+
|
27
|
+
RB_DEBUG_COUNTER(mc_cme_complement) // number of acquiring complement CME
|
28
|
+
RB_DEBUG_COUNTER(mc_cme_complement_hit) // number of cache hit for complemented CME
|
29
|
+
|
30
|
+
RB_DEBUG_COUNTER(mc_search) // count for method lookup in class tree
|
31
|
+
RB_DEBUG_COUNTER(mc_search_notfound) // method lookup, but not found
|
32
|
+
RB_DEBUG_COUNTER(mc_search_super) // total traversed classes
|
33
|
+
|
34
|
+
// callinfo
|
35
|
+
RB_DEBUG_COUNTER(ci_packed) // number of packed CI
|
36
|
+
RB_DEBUG_COUNTER(ci_kw) // non-packed CI w/ keywords
|
37
|
+
RB_DEBUG_COUNTER(ci_nokw) // non-packed CI w/o keywords
|
38
|
+
RB_DEBUG_COUNTER(ci_runtime) // creating temporary CI
|
39
|
+
|
40
|
+
// callcache
|
41
|
+
RB_DEBUG_COUNTER(cc_new) // number of CC
|
42
|
+
RB_DEBUG_COUNTER(cc_temp) // dummy CC (stack-allocated)
|
43
|
+
RB_DEBUG_COUNTER(cc_found_in_ccs) // count for CC lookup success in CCS
|
44
|
+
RB_DEBUG_COUNTER(cc_not_found_in_ccs) // count for CC lookup success in CCS
|
45
|
+
|
46
|
+
RB_DEBUG_COUNTER(cc_ent_invalidate) // count for invalidating cc (cc->klass = 0)
|
47
|
+
RB_DEBUG_COUNTER(cc_cme_invalidate) // count for invalidating CME
|
48
|
+
|
49
|
+
RB_DEBUG_COUNTER(cc_invalidate_leaf) // count for invalidating klass if klass has no-sublcasses
|
50
|
+
RB_DEBUG_COUNTER(cc_invalidate_leaf_ccs) // corresponding CCS
|
51
|
+
RB_DEBUG_COUNTER(cc_invalidate_leaf_callable) // complimented cache (no-subclasses)
|
52
|
+
RB_DEBUG_COUNTER(cc_invalidate_tree) // count for invalidating klass if klass has sublcasses
|
53
|
+
RB_DEBUG_COUNTER(cc_invalidate_tree_cme) // cme if cme is found in this class or superclasses
|
54
|
+
RB_DEBUG_COUNTER(cc_invalidate_tree_callable) // complimented cache (subclasses)
|
55
|
+
RB_DEBUG_COUNTER(cc_invalidate_negative) // count for invalidating negative cache
|
56
|
+
|
57
|
+
RB_DEBUG_COUNTER(ccs_free) // count for free'ing ccs
|
58
|
+
RB_DEBUG_COUNTER(ccs_maxlen) // maximum length of ccs
|
59
|
+
RB_DEBUG_COUNTER(ccs_found) // count for finding corresponding ccs on method lookup
|
60
|
+
RB_DEBUG_COUNTER(ccs_not_found) // count for not found corresponding ccs on method lookup
|
61
|
+
|
62
|
+
// vm_eval.c
|
63
|
+
RB_DEBUG_COUNTER(call0_public)
|
64
|
+
RB_DEBUG_COUNTER(call0_other)
|
65
|
+
|
66
|
+
// iseq
|
67
|
+
RB_DEBUG_COUNTER(iseq_num) // number of total created iseq
|
68
|
+
RB_DEBUG_COUNTER(iseq_cd_num) // number of total created cd (call_data)
|
49
69
|
|
50
70
|
/*
|
51
71
|
* call cache fastpath usage
|
@@ -59,6 +79,7 @@ RB_DEBUG_COUNTER(ccf_iseq_opt) /* has_opt == TRUE (has optional parameters), but
|
|
59
79
|
RB_DEBUG_COUNTER(ccf_iseq_kw1) /* vm_call_iseq_setup_kwparm_kwarg() */
|
60
80
|
RB_DEBUG_COUNTER(ccf_iseq_kw2) /* vm_call_iseq_setup_kwparm_nokwarg() */
|
61
81
|
RB_DEBUG_COUNTER(ccf_cfunc)
|
82
|
+
RB_DEBUG_COUNTER(ccf_cfunc_with_frame)
|
62
83
|
RB_DEBUG_COUNTER(ccf_ivar) /* attr_reader */
|
63
84
|
RB_DEBUG_COUNTER(ccf_attrset) /* attr_writer */
|
64
85
|
RB_DEBUG_COUNTER(ccf_method_missing)
|
@@ -115,7 +136,7 @@ RB_DEBUG_COUNTER(ivar_set_ic_hit)
|
|
115
136
|
RB_DEBUG_COUNTER(ivar_set_ic_miss)
|
116
137
|
RB_DEBUG_COUNTER(ivar_set_ic_miss_serial)
|
117
138
|
RB_DEBUG_COUNTER(ivar_set_ic_miss_unset)
|
118
|
-
RB_DEBUG_COUNTER(
|
139
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss_iv_hit)
|
119
140
|
RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject)
|
120
141
|
RB_DEBUG_COUNTER(ivar_get_base)
|
121
142
|
RB_DEBUG_COUNTER(ivar_set_base)
|
@@ -153,6 +174,12 @@ RB_DEBUG_COUNTER(gc_major_shady)
|
|
153
174
|
RB_DEBUG_COUNTER(gc_major_force)
|
154
175
|
RB_DEBUG_COUNTER(gc_major_oldmalloc)
|
155
176
|
|
177
|
+
RB_DEBUG_COUNTER(gc_enter_start)
|
178
|
+
RB_DEBUG_COUNTER(gc_enter_mark_continue)
|
179
|
+
RB_DEBUG_COUNTER(gc_enter_sweep_continue)
|
180
|
+
RB_DEBUG_COUNTER(gc_enter_rest)
|
181
|
+
RB_DEBUG_COUNTER(gc_enter_finalizer)
|
182
|
+
|
156
183
|
RB_DEBUG_COUNTER(gc_isptr_trial)
|
157
184
|
RB_DEBUG_COUNTER(gc_isptr_range)
|
158
185
|
RB_DEBUG_COUNTER(gc_isptr_align)
|
@@ -162,7 +189,7 @@ RB_DEBUG_COUNTER(gc_isptr_maybe)
|
|
162
189
|
*
|
163
190
|
* * obj_newobj: newobj counts
|
164
191
|
* * obj_newobj_slowpath: newobj with slowpath counts
|
165
|
-
* * obj_newobj_wb_unprotected: newobj for
|
192
|
+
* * obj_newobj_wb_unprotected: newobj for wb_unprotected.
|
166
193
|
* * obj_free: obj_free() counts
|
167
194
|
* * obj_promote: promoted counts (oldgen)
|
168
195
|
* * obj_wb_unprotect: wb unprotect counts
|
@@ -245,8 +272,6 @@ RB_DEBUG_COUNTER(obj_struct_embed)
|
|
245
272
|
RB_DEBUG_COUNTER(obj_struct_transient)
|
246
273
|
RB_DEBUG_COUNTER(obj_struct_ptr)
|
247
274
|
|
248
|
-
RB_DEBUG_COUNTER(obj_regexp_ptr)
|
249
|
-
|
250
275
|
RB_DEBUG_COUNTER(obj_data_empty)
|
251
276
|
RB_DEBUG_COUNTER(obj_data_xfree)
|
252
277
|
RB_DEBUG_COUNTER(obj_data_imm_free)
|
@@ -256,9 +281,19 @@ RB_DEBUG_COUNTER(obj_match_under4)
|
|
256
281
|
RB_DEBUG_COUNTER(obj_match_ge4)
|
257
282
|
RB_DEBUG_COUNTER(obj_match_ge8)
|
258
283
|
RB_DEBUG_COUNTER(obj_match_ptr)
|
259
|
-
|
284
|
+
|
285
|
+
RB_DEBUG_COUNTER(obj_iclass_ptr)
|
286
|
+
RB_DEBUG_COUNTER(obj_class_ptr)
|
287
|
+
RB_DEBUG_COUNTER(obj_module_ptr)
|
288
|
+
|
260
289
|
RB_DEBUG_COUNTER(obj_bignum_ptr)
|
290
|
+
RB_DEBUG_COUNTER(obj_bignum_embed)
|
291
|
+
RB_DEBUG_COUNTER(obj_float)
|
292
|
+
RB_DEBUG_COUNTER(obj_complex)
|
293
|
+
RB_DEBUG_COUNTER(obj_rational)
|
261
294
|
|
295
|
+
RB_DEBUG_COUNTER(obj_regexp_ptr)
|
296
|
+
RB_DEBUG_COUNTER(obj_file_ptr)
|
262
297
|
RB_DEBUG_COUNTER(obj_symbol)
|
263
298
|
|
264
299
|
RB_DEBUG_COUNTER(obj_imemo_ment)
|
@@ -272,10 +307,8 @@ RB_DEBUG_COUNTER(obj_imemo_throw_data)
|
|
272
307
|
RB_DEBUG_COUNTER(obj_imemo_ifunc)
|
273
308
|
RB_DEBUG_COUNTER(obj_imemo_memo)
|
274
309
|
RB_DEBUG_COUNTER(obj_imemo_parser_strterm)
|
275
|
-
|
276
|
-
RB_DEBUG_COUNTER(
|
277
|
-
RB_DEBUG_COUNTER(obj_class_ptr)
|
278
|
-
RB_DEBUG_COUNTER(obj_module_ptr)
|
310
|
+
RB_DEBUG_COUNTER(obj_imemo_callinfo)
|
311
|
+
RB_DEBUG_COUNTER(obj_imemo_callcache)
|
279
312
|
|
280
313
|
/* ar_table */
|
281
314
|
RB_DEBUG_COUNTER(artable_hint_hit)
|
@@ -295,14 +328,24 @@ RB_DEBUG_COUNTER(theap_alloc)
|
|
295
328
|
RB_DEBUG_COUNTER(theap_alloc_fail)
|
296
329
|
RB_DEBUG_COUNTER(theap_evacuate)
|
297
330
|
|
331
|
+
// VM sync
|
332
|
+
RB_DEBUG_COUNTER(vm_sync_lock)
|
333
|
+
RB_DEBUG_COUNTER(vm_sync_lock_enter)
|
334
|
+
RB_DEBUG_COUNTER(vm_sync_lock_enter_nb)
|
335
|
+
RB_DEBUG_COUNTER(vm_sync_lock_enter_cr)
|
336
|
+
RB_DEBUG_COUNTER(vm_sync_barrier)
|
337
|
+
|
298
338
|
/* mjit_exec() counts */
|
299
339
|
RB_DEBUG_COUNTER(mjit_exec)
|
300
340
|
RB_DEBUG_COUNTER(mjit_exec_not_added)
|
301
|
-
RB_DEBUG_COUNTER(mjit_exec_not_added_add_iseq)
|
302
341
|
RB_DEBUG_COUNTER(mjit_exec_not_ready)
|
303
342
|
RB_DEBUG_COUNTER(mjit_exec_not_compiled)
|
304
343
|
RB_DEBUG_COUNTER(mjit_exec_call_func)
|
305
344
|
|
345
|
+
/* MJIT enqueue / unload */
|
346
|
+
RB_DEBUG_COUNTER(mjit_add_iseq_to_process)
|
347
|
+
RB_DEBUG_COUNTER(mjit_unload_units)
|
348
|
+
|
306
349
|
/* MJIT <-> VM frame push counts */
|
307
350
|
RB_DEBUG_COUNTER(mjit_frame_VM2VM)
|
308
351
|
RB_DEBUG_COUNTER(mjit_frame_VM2JT)
|
@@ -312,9 +355,11 @@ RB_DEBUG_COUNTER(mjit_frame_JT2VM)
|
|
312
355
|
/* MJIT cancel counters */
|
313
356
|
RB_DEBUG_COUNTER(mjit_cancel)
|
314
357
|
RB_DEBUG_COUNTER(mjit_cancel_ivar_inline)
|
358
|
+
RB_DEBUG_COUNTER(mjit_cancel_exivar_inline)
|
315
359
|
RB_DEBUG_COUNTER(mjit_cancel_send_inline)
|
316
360
|
RB_DEBUG_COUNTER(mjit_cancel_opt_insn) /* CALL_SIMPLE_METHOD */
|
317
361
|
RB_DEBUG_COUNTER(mjit_cancel_invalidate_all)
|
362
|
+
RB_DEBUG_COUNTER(mjit_cancel_leave)
|
318
363
|
|
319
364
|
/* rb_mjit_unit_list length */
|
320
365
|
RB_DEBUG_COUNTER(mjit_length_unit_queue)
|
@@ -335,6 +380,10 @@ RB_DEBUG_COUNTER(load_path_is_not_realpath)
|
|
335
380
|
#ifndef RUBY_DEBUG_COUNTER_H
|
336
381
|
#define RUBY_DEBUG_COUNTER_H 1
|
337
382
|
|
383
|
+
#include "ruby/internal/config.h"
|
384
|
+
#include <stddef.h> /* for size_t */
|
385
|
+
#include "ruby/ruby.h" /* for VALUE */
|
386
|
+
|
338
387
|
#if !defined(__GNUC__) && USE_DEBUG_COUNTER
|
339
388
|
#error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"
|
340
389
|
#endif
|
@@ -347,32 +396,62 @@ enum rb_debug_counter_type {
|
|
347
396
|
};
|
348
397
|
|
349
398
|
#if USE_DEBUG_COUNTER
|
350
|
-
#include "ruby/ruby.h"
|
351
|
-
|
352
399
|
extern size_t rb_debug_counter[];
|
400
|
+
RUBY_EXTERN struct rb_ractor_struct *ruby_single_main_ractor;
|
401
|
+
RUBY_EXTERN void rb_debug_counter_add_atomic(enum rb_debug_counter_type type, int add);
|
353
402
|
|
354
403
|
inline static int
|
355
404
|
rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)
|
356
405
|
{
|
357
406
|
if (cond) {
|
358
|
-
|
407
|
+
if (ruby_single_main_ractor != NULL) {
|
408
|
+
rb_debug_counter[(int)type] += add;
|
409
|
+
}
|
410
|
+
else {
|
411
|
+
rb_debug_counter_add_atomic(type, add);
|
412
|
+
}
|
359
413
|
}
|
360
414
|
return cond;
|
361
415
|
}
|
362
416
|
|
417
|
+
inline static int
|
418
|
+
rb_debug_counter_max(enum rb_debug_counter_type type, unsigned int num)
|
419
|
+
{
|
420
|
+
// TODO: sync
|
421
|
+
if (rb_debug_counter[(int)type] < num) {
|
422
|
+
rb_debug_counter[(int)type] = num;
|
423
|
+
return 1;
|
424
|
+
}
|
425
|
+
else {
|
426
|
+
return 0;
|
427
|
+
}
|
428
|
+
}
|
429
|
+
|
363
430
|
VALUE rb_debug_counter_reset(VALUE klass);
|
364
431
|
VALUE rb_debug_counter_show(VALUE klass);
|
365
432
|
|
366
433
|
#define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
|
367
434
|
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
|
368
|
-
#define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))
|
435
|
+
#define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !!(cond))
|
436
|
+
#define RB_DEBUG_COUNTER_ADD(type, num) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, (num), 1)
|
437
|
+
#define RB_DEBUG_COUNTER_SETMAX(type, num) rb_debug_counter_max(RB_DEBUG_COUNTER_##type, (unsigned int)(num))
|
369
438
|
|
370
439
|
#else
|
371
440
|
#define RB_DEBUG_COUNTER_INC(type) ((void)0)
|
372
|
-
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)
|
373
|
-
#define RB_DEBUG_COUNTER_INC_IF(type, cond) (cond)
|
441
|
+
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!!(cond))
|
442
|
+
#define RB_DEBUG_COUNTER_INC_IF(type, cond) (!!(cond))
|
443
|
+
#define RB_DEBUG_COUNTER_ADD(type, num) ((void)0)
|
444
|
+
#define RB_DEBUG_COUNTER_SETMAX(type, num) 0
|
374
445
|
#endif
|
375
446
|
|
376
447
|
void rb_debug_counter_show_results(const char *msg);
|
377
448
|
|
449
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
450
|
+
|
451
|
+
size_t ruby_debug_counter_get(const char **names_ptr, size_t *counters_ptr);
|
452
|
+
void ruby_debug_counter_reset(void);
|
453
|
+
void ruby_debug_counter_show_at_exit(int enable);
|
454
|
+
|
455
|
+
RUBY_SYMBOL_EXPORT_END
|
456
|
+
|
378
457
|
#endif /* RUBY_DEBUG_COUNTER_H */
|
@@ -1,3 +1,5 @@
|
|
1
|
+
#ifndef DLN_H
|
2
|
+
#define DLN_H
|
1
3
|
/**********************************************************************
|
2
4
|
|
3
5
|
dln.h -
|
@@ -9,24 +11,7 @@
|
|
9
11
|
|
10
12
|
**********************************************************************/
|
11
13
|
|
12
|
-
#
|
13
|
-
#define DLN_H
|
14
|
-
|
15
|
-
#ifdef __cplusplus
|
16
|
-
# ifndef HAVE_PROTOTYPES
|
17
|
-
# define HAVE_PROTOTYPES 1
|
18
|
-
# endif
|
19
|
-
# ifndef HAVE_STDARG_PROTOTYPES
|
20
|
-
# define HAVE_STDARG_PROTOTYPES 1
|
21
|
-
# endif
|
22
|
-
#endif
|
23
|
-
|
24
|
-
#undef _
|
25
|
-
#ifdef HAVE_PROTOTYPES
|
26
|
-
# define _(args) args
|
27
|
-
#else
|
28
|
-
# define _(args) ()
|
29
|
-
#endif
|
14
|
+
#include "ruby/defines.h" /* for RUBY_SYMBOL_EXPORT_BEGIN */
|
30
15
|
|
31
16
|
RUBY_SYMBOL_EXPORT_BEGIN
|
32
17
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
#ifndef RUBY_ENCINDEX_H
|
2
|
+
#define RUBY_ENCINDEX_H 1
|
1
3
|
/**********************************************************************
|
2
4
|
|
3
5
|
encindex.h -
|
@@ -9,8 +11,7 @@
|
|
9
11
|
|
10
12
|
**********************************************************************/
|
11
13
|
|
12
|
-
#
|
13
|
-
#define RUBY_ENCINDEX_H 1
|
14
|
+
#include "ruby/encoding.h" /* rb_ascii8bit_encindex etc. */
|
14
15
|
#if defined(__cplusplus)
|
15
16
|
extern "C" {
|
16
17
|
#if 0
|
@@ -132,7 +132,8 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
132
132
|
struct rb_vm_tag _tag; \
|
133
133
|
_tag.state = TAG_NONE; \
|
134
134
|
_tag.tag = Qundef; \
|
135
|
-
_tag.prev = _ec->tag;
|
135
|
+
_tag.prev = _ec->tag; \
|
136
|
+
_tag.lock_rec = rb_ec_vm_lock_rec(_ec); \
|
136
137
|
|
137
138
|
#define EC_POP_TAG() \
|
138
139
|
_ec->tag = _tag.prev; \
|
@@ -157,12 +158,23 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
157
158
|
# define VAR_NOCLOBBERED(var) var
|
158
159
|
#endif
|
159
160
|
|
161
|
+
static inline void
|
162
|
+
rb_ec_vm_lock_rec_check(const rb_execution_context_t *ec, unsigned int recorded_lock_rec)
|
163
|
+
{
|
164
|
+
unsigned int current_lock_rec = rb_ec_vm_lock_rec(ec);
|
165
|
+
if (current_lock_rec != recorded_lock_rec) {
|
166
|
+
rb_ec_vm_lock_rec_release(ec, recorded_lock_rec, current_lock_rec);
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
160
170
|
/* clear ec->tag->state, and return the value */
|
161
171
|
static inline int
|
162
172
|
rb_ec_tag_state(const rb_execution_context_t *ec)
|
163
173
|
{
|
164
|
-
|
165
|
-
|
174
|
+
struct rb_vm_tag *tag = ec->tag;
|
175
|
+
enum ruby_tag_type state = tag->state;
|
176
|
+
tag->state = TAG_NONE;
|
177
|
+
rb_ec_vm_lock_rec_check(ec, tag->lock_rec);
|
166
178
|
return state;
|
167
179
|
}
|
168
180
|
|
@@ -250,9 +262,6 @@ CREF_OMOD_SHARED_UNSET(rb_cref_t *cref)
|
|
250
262
|
cref->flags &= ~CREF_FL_OMOD_SHARED;
|
251
263
|
}
|
252
264
|
|
253
|
-
void rb_thread_cleanup(void);
|
254
|
-
void rb_thread_wait_other_threads(void);
|
255
|
-
|
256
265
|
enum {
|
257
266
|
RAISED_EXCEPTION = 1,
|
258
267
|
RAISED_STACKOVERFLOW = 2,
|
@@ -284,12 +293,12 @@ rb_cref_t *rb_vm_cref(void);
|
|
284
293
|
rb_cref_t *rb_vm_cref_replace_with_duplicated_cref(void);
|
285
294
|
VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, VALUE block_handler, VALUE filename);
|
286
295
|
void rb_vm_set_progname(VALUE filename);
|
287
|
-
void rb_thread_terminate_all(void);
|
288
296
|
VALUE rb_vm_cbase(void);
|
289
297
|
|
290
298
|
/* vm_backtrace.c */
|
291
299
|
VALUE rb_ec_backtrace_object(const rb_execution_context_t *ec);
|
292
300
|
VALUE rb_ec_backtrace_str_ary(const rb_execution_context_t *ec, long lev, long n);
|
301
|
+
VALUE rb_ec_backtrace_location_ary(const rb_execution_context_t *ec, long lev, long n, bool skip_internal);
|
293
302
|
|
294
303
|
#ifndef CharNext /* defined as CharNext[AW] on Windows. */
|
295
304
|
# ifdef HAVE_MBLEN
|
@@ -1,17 +1,28 @@
|
|
1
|
-
|
2
1
|
#ifndef RUBY_GC_H
|
3
2
|
#define RUBY_GC_H 1
|
3
|
+
#include "ruby/ruby.h"
|
4
4
|
|
5
5
|
#if defined(__x86_64__) && !defined(_ILP32) && defined(__GNUC__)
|
6
6
|
#define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("movq\t%%rsp, %0" : "=r" (*(p)))
|
7
7
|
#elif defined(__i386) && defined(__GNUC__)
|
8
8
|
#define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("movl\t%%esp, %0" : "=r" (*(p)))
|
9
|
+
#elif defined(__powerpc64__) && defined(__GNUC__)
|
10
|
+
#define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("mr\t%0, %%r1" : "=r" (*(p)))
|
11
|
+
#elif defined(__aarch64__) && defined(__GNUC__)
|
12
|
+
#define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("mov\t%0, sp" : "=r" (*(p)))
|
9
13
|
#else
|
10
14
|
NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));
|
11
15
|
#define SET_MACHINE_STACK_END(p) rb_gc_set_stack_end(p)
|
12
16
|
#define USE_CONSERVATIVE_STACK_END
|
13
17
|
#endif
|
14
18
|
|
19
|
+
#define RB_GC_SAVE_MACHINE_CONTEXT(th) \
|
20
|
+
do { \
|
21
|
+
FLUSH_REGISTER_WINDOWS; \
|
22
|
+
setjmp((th)->ec->machine.regs); \
|
23
|
+
SET_MACHINE_STACK_END(&(th)->ec->machine.stack_end); \
|
24
|
+
} while (0)
|
25
|
+
|
15
26
|
/* for GC debug */
|
16
27
|
|
17
28
|
#ifndef RUBY_MARK_FREE_DEBUG
|
@@ -57,7 +68,7 @@ rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr)
|
|
57
68
|
#define RUBY_GC_INFO if(0)printf
|
58
69
|
#endif
|
59
70
|
|
60
|
-
#define
|
71
|
+
#define RUBY_MARK_MOVABLE_UNLESS_NULL(ptr) do { \
|
61
72
|
VALUE markobj = (ptr); \
|
62
73
|
if (RTEST(markobj)) {rb_gc_mark_movable(markobj);} \
|
63
74
|
} while (0)
|
File without changes
|
File without changes
|
@@ -63,7 +63,6 @@ enum ruby_vminsn_type {
|
|
63
63
|
BIN(putstring),
|
64
64
|
BIN(concatstrings),
|
65
65
|
BIN(tostring),
|
66
|
-
BIN(freezestring),
|
67
66
|
BIN(toregexp),
|
68
67
|
BIN(intern),
|
69
68
|
BIN(newarray),
|
@@ -133,7 +132,6 @@ enum ruby_vminsn_type {
|
|
133
132
|
BIN(opt_succ),
|
134
133
|
BIN(opt_not),
|
135
134
|
BIN(opt_regexpmatch2),
|
136
|
-
BIN(opt_call_c_function),
|
137
135
|
BIN(invokebuiltin),
|
138
136
|
BIN(opt_invokebuiltin_delegate),
|
139
137
|
BIN(opt_invokebuiltin_delegate_leave),
|
@@ -166,7 +164,6 @@ enum ruby_vminsn_type {
|
|
166
164
|
BIN(trace_putstring),
|
167
165
|
BIN(trace_concatstrings),
|
168
166
|
BIN(trace_tostring),
|
169
|
-
BIN(trace_freezestring),
|
170
167
|
BIN(trace_toregexp),
|
171
168
|
BIN(trace_intern),
|
172
169
|
BIN(trace_newarray),
|
@@ -236,7 +233,6 @@ enum ruby_vminsn_type {
|
|
236
233
|
BIN(trace_opt_succ),
|
237
234
|
BIN(trace_opt_not),
|
238
235
|
BIN(trace_opt_regexpmatch2),
|
239
|
-
BIN(trace_opt_call_c_function),
|
240
236
|
BIN(trace_invokebuiltin),
|
241
237
|
BIN(trace_opt_invokebuiltin_delegate),
|
242
238
|
BIN(trace_opt_invokebuiltin_delegate_leave),
|