debase-ruby_core_source 0.10.9 → 0.10.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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),
|