debase-ruby_core_source 0.10.2 → 0.10.11
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 +5 -5
- data/CHANGELOG.md +34 -0
- data/README.md +6 -2
- data/Rakefile +6 -3
- data/debase-ruby_core_source.gemspec +2 -1
- data/lib/debase/ruby_core_source.rb +6 -5
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/addr2line.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/list/list.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/constant.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/debug_counter.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/encindex.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/eval_intern.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/gc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/id.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/insns.inc +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/insns_info.inc +157 -157
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/internal.h +5 -4
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/iseq.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/known_errors.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/method.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/node.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/node_name.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/opt_sc.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/optinsn.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/optunifs.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/parse.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/probes_helper.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regenc.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regint.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/regparse.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.5.1-p57/revision.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ruby_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/ruby_atomic.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/siphash.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/symbol.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/thread_pthread.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/timev.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/transcode_data.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.5.1-p57/version.h +73 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm.inc +13 -13
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_call_iseq_optimized.inc +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_core.h +3 -4
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.5.1-p57}/vm_debug.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_exec.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_insnhelper.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_opts.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vmtc.inc +2 -2
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/addr2line.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/build_assert/build_assert.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/check_type/check_type.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/container_of/container_of.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/list/list.h +20 -5
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/str/str.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/constant.h +1 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/debug_counter.h +283 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/dln.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/encindex.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/eval_intern.h +45 -53
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/gc.h +2 -3
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/hrtime.h +168 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/id.h +4 -2
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/id_table.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/insns.inc +249 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/insns_info.inc +9374 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/internal.h +608 -100
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/iseq.h +127 -91
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/known_errors.inc +477 -432
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/method.h +28 -15
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/mjit.h +148 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/mjit_compile.inc +4224 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/node.h +449 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/node_name.inc +6 -18
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/parse.h +210 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/probes_helper.h +42 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regenc.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regint.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/regparse.h +1 -1
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/revision.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ruby_assert.h +6 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ruby_atomic.h +14 -3
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/siphash.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/symbol.h +1 -1
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/thread_pthread.h +75 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/thread_win32.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/timev.h +53 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/transcode_data.h +0 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/transient_heap.h +60 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/version.h +7 -7
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm.inc +4502 -0
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm_call_iseq_optimized.inc +213 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_core.h +385 -182
- data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/vm_debug.h +0 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_exec.h +33 -13
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vm_insnhelper.h +316 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.0-p0}/vm_opts.h +18 -5
- data/lib/debase/ruby_core_source/ruby-2.6.0-p0/vmtc.inc +243 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/addr2line.h +21 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/list/list.h +788 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ccan/str/str.h +16 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/constant.h +51 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/debug_counter.h +283 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/dln.h +51 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/encindex.h +69 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/eval_intern.h +333 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/gc.h +116 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/hrtime.h +168 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/id.h +252 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/id_table.h +31 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/insns.inc +249 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/insns_info.inc +9374 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/internal.h +2470 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/iseq.h +304 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/known_errors.inc +791 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/method.h +229 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/mjit.h +148 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/mjit_compile.inc +4226 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/node.h +449 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/node_name.inc +200 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.5-p114}/parse.h +47 -31
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/probes_helper.h +42 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regenc.h +254 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regint.h +938 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/regparse.h +370 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/revision.h +1 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ruby_assert.h +60 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/ruby_atomic.h +244 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/siphash.h +48 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/symbol.h +112 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/thread_pthread.h +75 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/thread_win32.h +36 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/timev.h +53 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/transcode_data.h +139 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/transient_heap.h +60 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.6.5-p114}/version.h +7 -7
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm.inc +4504 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_call_iseq_optimized.inc +213 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_core.h +1910 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_debug.h +37 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_exec.h +202 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_insnhelper.h +316 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vm_opts.h +70 -0
- data/lib/debase/ruby_core_source/ruby-2.6.5-p114/vmtc.inc +243 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/addr2line.h +21 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/builtin.h +78 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/list/list.h +788 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ccan/str/str.h +16 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/constant.h +50 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/debug_counter.h +390 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/dln.h +51 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/encindex.h +69 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/eval_intern.h +312 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/gc.h +131 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/hrtime.h +168 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/id.h +290 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/id_table.h +34 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/insns.inc +253 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/insns_info.inc +9197 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/internal.h +2697 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/iseq.h +312 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/known_errors.inc +791 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/method.h +229 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/mjit.h +177 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/mjit_compile.inc +7779 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/node.h +476 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/node_name.inc +208 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/parse.h +210 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/probes_helper.h +42 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regenc.h +254 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regint.h +938 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/regparse.h +370 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ruby_assert.h +15 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/ruby_atomic.h +244 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/siphash.h +48 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/symbol.h +119 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/thread_pthread.h +75 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/thread_win32.h +36 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/timev.h +56 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/transcode_data.h +139 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/transient_heap.h +62 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/variable.h +9 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/version.h +77 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm.inc +5466 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_call_iseq_optimized.inc +237 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_core.h +1968 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_debug.h +34 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_exec.h +193 -0
- data/lib/debase/ruby_core_source/{ruby-2.5.0-preview1 → ruby-2.7.0-p0}/vm_insnhelper.h +81 -64
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_opts.h +72 -0
- data/lib/debase/ruby_core_source/ruby-2.7.0-p0/vmtc.inc +247 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/addr2line.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/builtin.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/list/list.h +788 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ccan/str/str.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/constant.h +55 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/debug_counter.h +423 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/dln.h +36 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/encindex.h +70 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/eval_intern.h +312 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/gc.h +140 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/hrtime.h +168 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/id.h +290 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/id_table.h +36 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/insns.inc +249 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/insns_info.inc +8979 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal.h +107 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/array.h +114 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/bignum.h +246 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/bits.h +566 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/class.h +168 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compar.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compile.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/compilers.h +108 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/complex.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/cont.h +25 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/dir.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enc.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/encoding.h +28 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enum.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/enumerator.h +22 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/error.h +131 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/eval.h +33 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/file.h +39 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/fixnum.h +185 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/gc.h +154 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/hash.h +240 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/imemo.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/inits.h +51 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/io.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/load.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/loadpath.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/math.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/missing.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/mjit.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/numeric.h +252 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/object.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/parse.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/proc.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/process.h +136 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/random.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/range.h +37 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/rational.h +69 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/re.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/sanitizers.h +191 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/scheduler.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/serial.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/signal.h +22 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/static_assert.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/string.h +135 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/struct.h +154 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/symbol.h +41 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/thread.h +60 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/time.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/transcode.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/util.h +31 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/variable.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/vm.h +135 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/internal/warnings.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/iseq.h +304 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/known_errors.inc +791 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/method.h +245 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/mjit.h +197 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/mjit_compile.inc +8082 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/node.h +484 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/node_name.inc +210 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/parse.h +211 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/probes_helper.h +44 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ractor.h +271 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ractor_pub.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regenc.h +254 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regint.h +938 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/regparse.h +370 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ruby_assert.h +15 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/ruby_atomic.h +236 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/siphash.h +48 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/symbol.h +119 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/thread_pthread.h +106 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/thread_win32.h +66 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/timev.h +57 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/transcode_data.h +138 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/transient_heap.h +61 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/variable.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/version.h +89 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm.inc +5360 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_call_iseq_optimized.inc +244 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_callinfo.h +457 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_core.h +1952 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_debug.h +116 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_exec.h +196 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_insnhelper.h +260 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_opts.h +73 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vm_sync.h +97 -0
- data/lib/debase/ruby_core_source/ruby-3.0.0-preview1/vmtc.inc +243 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +335 -102
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/insns.inc +0 -118
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/insns_info.inc +0 -827
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/node.h +0 -523
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/opt_sc.inc +0 -809
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/optinsn.inc +0 -77
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/optunifs.inc +0 -49
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/probes_helper.h +0 -43
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vm.inc +0 -2935
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vm_call_iseq_optimized.inc +0 -212
- data/lib/debase/ruby_core_source/ruby-2.5.0-preview1/vmtc.inc +0 -115
- data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/debug_counter.h +0 -109
- data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/thread_pthread.h +0 -54
- data/lib/debase/ruby_core_source/ruby-2.5.0-rc1/timev.h +0 -42
|
@@ -914,8 +914,8 @@ struct vm_throw_data {
|
|
|
914
914
|
|
|
915
915
|
struct vm_ifunc_argc {
|
|
916
916
|
#if SIZEOF_INT * 2 > SIZEOF_VALUE
|
|
917
|
-
int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
|
|
918
|
-
int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
|
|
917
|
+
signed int min: (SIZEOF_VALUE * CHAR_BIT) / 2;
|
|
918
|
+
signed int max: (SIZEOF_VALUE * CHAR_BIT) / 2;
|
|
919
919
|
#else
|
|
920
920
|
int min, max;
|
|
921
921
|
#endif
|
|
@@ -1110,7 +1110,7 @@ VALUE rb_invcmp(VALUE, VALUE);
|
|
|
1110
1110
|
struct rb_block;
|
|
1111
1111
|
int rb_dvar_defined(ID, const struct rb_block *);
|
|
1112
1112
|
int rb_local_defined(ID, const struct rb_block *);
|
|
1113
|
-
|
|
1113
|
+
const char * rb_insns_name(int i);
|
|
1114
1114
|
VALUE rb_insns_name_array(void);
|
|
1115
1115
|
|
|
1116
1116
|
/* complex.c */
|
|
@@ -1136,7 +1136,7 @@ void Init_ext(void);
|
|
|
1136
1136
|
|
|
1137
1137
|
/* encoding.c */
|
|
1138
1138
|
ID rb_id_encoding(void);
|
|
1139
|
-
|
|
1139
|
+
void rb_gc_mark_encodings(void);
|
|
1140
1140
|
rb_encoding *rb_enc_get_from_index(int index);
|
|
1141
1141
|
rb_encoding *rb_enc_check_str(VALUE str1, VALUE str2);
|
|
1142
1142
|
int rb_encdb_replicate(const char *alias, const char *orig);
|
|
@@ -1754,6 +1754,7 @@ VALUE rb_to_symbol_type(VALUE obj);
|
|
|
1754
1754
|
/* struct.c */
|
|
1755
1755
|
VALUE rb_struct_init_copy(VALUE copy, VALUE s);
|
|
1756
1756
|
VALUE rb_struct_lookup(VALUE s, VALUE idx);
|
|
1757
|
+
VALUE rb_struct_s_keyword_init(VALUE klass);
|
|
1757
1758
|
|
|
1758
1759
|
/* time.c */
|
|
1759
1760
|
struct timeval rb_time_timeval(VALUE);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
iseq.h -
|
|
4
4
|
|
|
5
|
-
$Author:
|
|
5
|
+
$Author: ko1 $
|
|
6
6
|
created at: 04/01/01 23:36:57 JST
|
|
7
7
|
|
|
8
8
|
Copyright (C) 2004-2008 Koichi Sasada
|
|
@@ -189,6 +189,7 @@ VALUE rb_iseq_label(const rb_iseq_t *iseq);
|
|
|
189
189
|
VALUE rb_iseq_base_label(const rb_iseq_t *iseq);
|
|
190
190
|
VALUE rb_iseq_first_lineno(const rb_iseq_t *iseq);
|
|
191
191
|
VALUE rb_iseq_method_name(const rb_iseq_t *iseq);
|
|
192
|
+
void rb_iseq_code_range(const rb_iseq_t *iseq, int *first_lineno, int *first_column, int *last_lineno, int *last_column);
|
|
192
193
|
|
|
193
194
|
/* proc.c */
|
|
194
195
|
const rb_iseq_t *rb_method_iseq(VALUE body);
|
|
@@ -202,7 +203,6 @@ struct rb_compile_option_struct {
|
|
|
202
203
|
unsigned int operands_unification: 1;
|
|
203
204
|
unsigned int instructions_unification: 1;
|
|
204
205
|
unsigned int stack_caching: 1;
|
|
205
|
-
unsigned int trace_instruction: 1;
|
|
206
206
|
unsigned int frozen_string_literal: 1;
|
|
207
207
|
unsigned int debug_frozen_string_literal: 1;
|
|
208
208
|
unsigned int coverage_enabled: 1;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#define RUBY_REVISION 63029
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#define RUBY_VERSION "2.5.1"
|
|
2
|
+
#define RUBY_RELEASE_DATE "2018-03-29"
|
|
3
|
+
#define RUBY_PATCHLEVEL 57
|
|
4
|
+
|
|
5
|
+
#define RUBY_RELEASE_YEAR 2018
|
|
6
|
+
#define RUBY_RELEASE_MONTH 3
|
|
7
|
+
#define RUBY_RELEASE_DAY 29
|
|
8
|
+
|
|
9
|
+
#include "ruby/version.h"
|
|
10
|
+
|
|
11
|
+
#ifndef TOKEN_PASTE
|
|
12
|
+
#define TOKEN_PASTE(x,y) x##y
|
|
13
|
+
#endif
|
|
14
|
+
#define ONLY_ONE_DIGIT(x) TOKEN_PASTE(10,x) < 1000
|
|
15
|
+
#define WITH_ZERO_PADDING(x) TOKEN_PASTE(0,x)
|
|
16
|
+
#define RUBY_BIRTH_YEAR_STR STRINGIZE(RUBY_BIRTH_YEAR)
|
|
17
|
+
#define RUBY_RELEASE_YEAR_STR STRINGIZE(RUBY_RELEASE_YEAR)
|
|
18
|
+
#if ONLY_ONE_DIGIT(RUBY_RELEASE_MONTH)
|
|
19
|
+
#define RUBY_RELEASE_MONTH_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_MONTH))
|
|
20
|
+
#else
|
|
21
|
+
#define RUBY_RELEASE_MONTH_STR STRINGIZE(RUBY_RELEASE_MONTH)
|
|
22
|
+
#endif
|
|
23
|
+
#if ONLY_ONE_DIGIT(RUBY_RELEASE_DAY)
|
|
24
|
+
#define RUBY_RELEASE_DAY_STR STRINGIZE(WITH_ZERO_PADDING(RUBY_RELEASE_DAY))
|
|
25
|
+
#else
|
|
26
|
+
#define RUBY_RELEASE_DAY_STR STRINGIZE(RUBY_RELEASE_DAY)
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
#if !defined RUBY_LIB_VERSION && defined RUBY_LIB_VERSION_STYLE
|
|
30
|
+
# if RUBY_LIB_VERSION_STYLE == 3
|
|
31
|
+
# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)"."STRINGIZE(RUBY_API_VERSION_TEENY)
|
|
32
|
+
# elif RUBY_LIB_VERSION_STYLE == 2
|
|
33
|
+
# define RUBY_LIB_VERSION STRINGIZE(RUBY_API_VERSION_MAJOR)"."STRINGIZE(RUBY_API_VERSION_MINOR)
|
|
34
|
+
# endif
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#if RUBY_PATCHLEVEL == -1
|
|
38
|
+
#define RUBY_PATCHLEVEL_STR "dev"
|
|
39
|
+
#else
|
|
40
|
+
#define RUBY_PATCHLEVEL_STR "p"STRINGIZE(RUBY_PATCHLEVEL)
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
#ifndef RUBY_REVISION
|
|
44
|
+
# include "revision.h"
|
|
45
|
+
#endif
|
|
46
|
+
#ifndef RUBY_REVISION
|
|
47
|
+
# define RUBY_REVISION 0
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
#if RUBY_REVISION
|
|
51
|
+
# if RUBY_PATCHLEVEL == -1
|
|
52
|
+
# ifndef RUBY_BRANCH_NAME
|
|
53
|
+
# define RUBY_BRANCH_NAME "trunk"
|
|
54
|
+
# endif
|
|
55
|
+
# define RUBY_REVISION_STR " "RUBY_BRANCH_NAME" "STRINGIZE(RUBY_REVISION)
|
|
56
|
+
# else
|
|
57
|
+
# define RUBY_REVISION_STR " revision "STRINGIZE(RUBY_REVISION)
|
|
58
|
+
# endif
|
|
59
|
+
#else
|
|
60
|
+
# define RUBY_REVISION_STR ""
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
# define RUBY_DESCRIPTION \
|
|
64
|
+
"ruby "RUBY_VERSION \
|
|
65
|
+
RUBY_PATCHLEVEL_STR \
|
|
66
|
+
" ("RUBY_RELEASE_DATE \
|
|
67
|
+
RUBY_REVISION_STR") " \
|
|
68
|
+
"["RUBY_PLATFORM"]"
|
|
69
|
+
# define RUBY_COPYRIGHT \
|
|
70
|
+
"ruby - Copyright (C) " \
|
|
71
|
+
RUBY_BIRTH_YEAR_STR"-" \
|
|
72
|
+
RUBY_RELEASE_YEAR_STR" " \
|
|
73
|
+
RUBY_AUTHOR
|
|
@@ -1214,7 +1214,7 @@ INSN_ENTRY(checkmatch){START_OF_ORIGINAL_INSN(checkmatch);
|
|
|
1214
1214
|
INSN_ENTRY(checkkeyword){START_OF_ORIGINAL_INSN(checkkeyword);
|
|
1215
1215
|
{
|
|
1216
1216
|
VALUE ret;
|
|
1217
|
-
|
|
1217
|
+
lindex_t keyword_index = (lindex_t)GET_OPERAND(2);
|
|
1218
1218
|
lindex_t kw_bits_index = (lindex_t)GET_OPERAND(1);
|
|
1219
1219
|
|
|
1220
1220
|
DEBUG_ENTER_INSN("checkkeyword");
|
|
@@ -1239,21 +1239,21 @@ INSN_ENTRY(checkkeyword){START_OF_ORIGINAL_INSN(checkkeyword);
|
|
|
1239
1239
|
#undef INSN_LABEL
|
|
1240
1240
|
#undef LABEL_IS_SC
|
|
1241
1241
|
END_INSN(checkkeyword);}}}
|
|
1242
|
-
INSN_ENTRY(
|
|
1242
|
+
INSN_ENTRY(tracecoverage){START_OF_ORIGINAL_INSN(tracecoverage);
|
|
1243
1243
|
{
|
|
1244
1244
|
VALUE data = (VALUE)GET_OPERAND(2);
|
|
1245
1245
|
rb_num_t nf = (rb_num_t)GET_OPERAND(1);
|
|
1246
1246
|
|
|
1247
|
-
DEBUG_ENTER_INSN("
|
|
1247
|
+
DEBUG_ENTER_INSN("tracecoverage");
|
|
1248
1248
|
ADD_PC(1+2);
|
|
1249
1249
|
PREFETCH(GET_PC());
|
|
1250
|
-
#define
|
|
1250
|
+
#define CURRENT_INSN_tracecoverage 1
|
|
1251
1251
|
#define INSN_IS_SC() 0
|
|
1252
|
-
#define INSN_LABEL(lab)
|
|
1252
|
+
#define INSN_LABEL(lab) LABEL_tracecoverage_##lab
|
|
1253
1253
|
#define LABEL_IS_SC(lab) LABEL_##lab##_##t
|
|
1254
|
-
COLLECT_USAGE_INSN(BIN(
|
|
1255
|
-
COLLECT_USAGE_OPERAND(BIN(
|
|
1256
|
-
COLLECT_USAGE_OPERAND(BIN(
|
|
1254
|
+
COLLECT_USAGE_INSN(BIN(tracecoverage));
|
|
1255
|
+
COLLECT_USAGE_OPERAND(BIN(tracecoverage), 0, nf);
|
|
1256
|
+
COLLECT_USAGE_OPERAND(BIN(tracecoverage), 1, data);
|
|
1257
1257
|
{
|
|
1258
1258
|
#line 790 "insns.def"
|
|
1259
1259
|
rb_event_flag_t flag = (rb_event_flag_t)nf;
|
|
@@ -1262,11 +1262,11 @@ INSN_ENTRY(tracebranch){START_OF_ORIGINAL_INSN(tracebranch);
|
|
|
1262
1262
|
EXEC_EVENT_HOOK(ec, flag, GET_SELF(), 0, 0, 0 /* id and klass are resolved at callee */, data);
|
|
1263
1263
|
|
|
1264
1264
|
#line 1265 "vm.inc"
|
|
1265
|
-
#undef
|
|
1265
|
+
#undef CURRENT_INSN_tracecoverage
|
|
1266
1266
|
#undef INSN_IS_SC
|
|
1267
1267
|
#undef INSN_LABEL
|
|
1268
1268
|
#undef LABEL_IS_SC
|
|
1269
|
-
END_INSN(
|
|
1269
|
+
END_INSN(tracecoverage);}}}
|
|
1270
1270
|
INSN_ENTRY(defineclass){START_OF_ORIGINAL_INSN(defineclass);
|
|
1271
1271
|
{
|
|
1272
1272
|
VALUE val;
|
|
@@ -3294,13 +3294,13 @@ INSN_ENTRY(trace_checkkeyword){
|
|
|
3294
3294
|
DISPATCH_ORIGINAL_INSN(checkkeyword);
|
|
3295
3295
|
|
|
3296
3296
|
END_INSN(trace_checkkeyword);}}}
|
|
3297
|
-
INSN_ENTRY(
|
|
3297
|
+
INSN_ENTRY(trace_tracecoverage){
|
|
3298
3298
|
{
|
|
3299
3299
|
{
|
|
3300
3300
|
vm_trace(ec, GET_CFP(), GET_PC());
|
|
3301
|
-
DISPATCH_ORIGINAL_INSN(
|
|
3301
|
+
DISPATCH_ORIGINAL_INSN(tracecoverage);
|
|
3302
3302
|
|
|
3303
|
-
END_INSN(
|
|
3303
|
+
END_INSN(trace_tracecoverage);}}}
|
|
3304
3304
|
INSN_ENTRY(trace_defineclass){
|
|
3305
3305
|
{
|
|
3306
3306
|
{
|
data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.5.1-p57}/vm_call_iseq_optimized.inc
RENAMED
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
vm_core.h -
|
|
4
4
|
|
|
5
|
-
$Author:
|
|
5
|
+
$Author: naruse $
|
|
6
6
|
created at: 04/01/01 19:41:38 JST
|
|
7
7
|
|
|
8
8
|
Copyright (C) 2004-2007 Koichi Sasada
|
|
@@ -1561,8 +1561,6 @@ void rb_vm_register_special_exception_str(enum ruby_special_exceptions sp, VALUE
|
|
|
1561
1561
|
|
|
1562
1562
|
void rb_gc_mark_machine_stack(const rb_execution_context_t *ec);
|
|
1563
1563
|
|
|
1564
|
-
int rb_autoloading_value(VALUE mod, ID id, VALUE* value);
|
|
1565
|
-
|
|
1566
1564
|
void rb_vm_rewrite_cref(rb_cref_t *node, VALUE old_klass, VALUE new_klass, rb_cref_t **new_cref_ptr);
|
|
1567
1565
|
|
|
1568
1566
|
const rb_callable_method_entry_t *rb_vm_frame_method_entry(const rb_control_frame_t *cfp);
|
|
@@ -1755,7 +1753,8 @@ RUBY_SYMBOL_EXPORT_BEGIN
|
|
|
1755
1753
|
int rb_thread_check_trap_pending(void);
|
|
1756
1754
|
|
|
1757
1755
|
/* #define RUBY_EVENT_RESERVED_FOR_INTERNAL_USE 0x030000 */ /* from vm_core.h */
|
|
1758
|
-
#define
|
|
1756
|
+
#define RUBY_EVENT_COVERAGE_LINE 0x010000
|
|
1757
|
+
#define RUBY_EVENT_COVERAGE_BRANCH 0x020000
|
|
1759
1758
|
|
|
1760
1759
|
extern VALUE rb_get_coverages(void);
|
|
1761
1760
|
extern void rb_set_coverages(VALUE, int, VALUE);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
vm_opts.h - VM optimize option
|
|
5
5
|
|
|
6
|
-
$Author:
|
|
6
|
+
$Author: ko1 $
|
|
7
7
|
|
|
8
8
|
Copyright (C) 2004-2007 Koichi Sasada
|
|
9
9
|
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
* Following definitions are default values.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
#define OPT_TRACE_INSTRUCTION 1
|
|
22
21
|
#define OPT_TAILCALL_OPTIMIZATION 0
|
|
23
22
|
#define OPT_PEEPHOLE_OPTIMIZATION 1
|
|
24
23
|
#define OPT_SPECIALISED_INSTRUCTION 1
|
|
@@ -58,7 +58,7 @@ static const void *const insns_address_table[] = {
|
|
|
58
58
|
LABEL_PTR(defined),
|
|
59
59
|
LABEL_PTR(checkmatch),
|
|
60
60
|
LABEL_PTR(checkkeyword),
|
|
61
|
-
LABEL_PTR(
|
|
61
|
+
LABEL_PTR(tracecoverage),
|
|
62
62
|
LABEL_PTR(defineclass),
|
|
63
63
|
LABEL_PTR(send),
|
|
64
64
|
LABEL_PTR(opt_str_freeze),
|
|
@@ -156,7 +156,7 @@ static const void *const insns_address_table[] = {
|
|
|
156
156
|
LABEL_PTR(trace_defined),
|
|
157
157
|
LABEL_PTR(trace_checkmatch),
|
|
158
158
|
LABEL_PTR(trace_checkkeyword),
|
|
159
|
-
LABEL_PTR(
|
|
159
|
+
LABEL_PTR(trace_tracecoverage),
|
|
160
160
|
LABEL_PTR(trace_defineclass),
|
|
161
161
|
LABEL_PTR(trace_send),
|
|
162
162
|
LABEL_PTR(trace_opt_str_freeze),
|
data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/build_assert/build_assert.h
RENAMED
|
File without changes
|
data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/check_type/check_type.h
RENAMED
|
File without changes
|
data/lib/debase/ruby_core_source/{ruby-2.5.0-rc1 → ruby-2.6.0-p0}/ccan/container_of/container_of.h
RENAMED
|
File without changes
|
|
@@ -57,7 +57,7 @@ struct list_head
|
|
|
57
57
|
* Example:
|
|
58
58
|
* static struct list_head my_list = LIST_HEAD_INIT(my_list);
|
|
59
59
|
*/
|
|
60
|
-
#define LIST_HEAD_INIT(name) { { &name.n, &name.n } }
|
|
60
|
+
#define LIST_HEAD_INIT(name) { { &(name).n, &(name).n } }
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* LIST_HEAD - define and initialize an empty list_head
|
|
@@ -237,6 +237,21 @@ static inline int list_empty_nodebug(const struct list_head *h)
|
|
|
237
237
|
}
|
|
238
238
|
#endif
|
|
239
239
|
|
|
240
|
+
/**
|
|
241
|
+
* list_empty_nocheck - is a list empty?
|
|
242
|
+
* @h: the list_head
|
|
243
|
+
*
|
|
244
|
+
* If the list is empty, returns true. This doesn't perform any
|
|
245
|
+
* debug check for list consistency, so it can be called without
|
|
246
|
+
* locks, racing with the list being modified. This is ok for
|
|
247
|
+
* checks where an incorrect result is not an issue (optimized
|
|
248
|
+
* bail out path for example).
|
|
249
|
+
*/
|
|
250
|
+
static inline bool list_empty_nocheck(const struct list_head *h)
|
|
251
|
+
{
|
|
252
|
+
return h->n.next == &h->n;
|
|
253
|
+
}
|
|
254
|
+
|
|
240
255
|
/**
|
|
241
256
|
* list_del - delete an entry from an (unknown) linked list.
|
|
242
257
|
* @n: the list_node to delete from the list.
|
|
@@ -647,12 +662,12 @@ static inline void list_prepend_list_(struct list_head *to,
|
|
|
647
662
|
* so you can break and continue as normal.
|
|
648
663
|
*
|
|
649
664
|
* WARNING! Being the low-level macro that it is, this wrapper doesn't know
|
|
650
|
-
* nor care about the type of @i. The only
|
|
665
|
+
* nor care about the type of @i. The only assumption made is that @i points
|
|
651
666
|
* to a chunk of memory that at some @offset, relative to @i, contains a
|
|
652
|
-
* properly filled `struct
|
|
653
|
-
* memory chunks and it's turtles all the way down.
|
|
667
|
+
* properly filled `struct list_node' which in turn contains pointers to
|
|
668
|
+
* memory chunks and it's turtles all the way down. With all that in mind
|
|
654
669
|
* remember that given the wrong pointer/offset couple this macro will
|
|
655
|
-
*
|
|
670
|
+
* happily churn all you memory until SEGFAULT stops it, in other words
|
|
656
671
|
* caveat emptor.
|
|
657
672
|
*
|
|
658
673
|
* It is worth mentioning that one of legitimate use-cases for that wrapper
|
|
File without changes
|
|
@@ -46,5 +46,6 @@ int rb_public_const_defined(VALUE klass, ID id);
|
|
|
46
46
|
int rb_public_const_defined_at(VALUE klass, ID id);
|
|
47
47
|
int rb_public_const_defined_from(VALUE klass, ID id);
|
|
48
48
|
rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
|
|
49
|
+
int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
|
|
49
50
|
|
|
50
51
|
#endif /* CONSTANT_H */
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
|
|
3
|
+
debug_counter.h -
|
|
4
|
+
|
|
5
|
+
created at: Tue Feb 21 16:51:18 2017
|
|
6
|
+
|
|
7
|
+
Copyright (C) 2017 Koichi Sasada
|
|
8
|
+
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef USE_DEBUG_COUNTER
|
|
12
|
+
#define USE_DEBUG_COUNTER 0
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
#ifdef RB_DEBUG_COUNTER
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* method cache (mc) counts.
|
|
19
|
+
*
|
|
20
|
+
* * mc_inline_hit/miss: inline mc hit/miss counts (VM send insn)
|
|
21
|
+
* * mc_global_hit/miss: global method cache hit/miss counts
|
|
22
|
+
* two types: (1) inline cache miss (VM send insn)
|
|
23
|
+
* (2) called from C (rb_funcall).
|
|
24
|
+
* * mc_global_state_miss: inline mc miss by global_state miss.
|
|
25
|
+
* * mc_class_serial_miss: ... by mc_class_serial_miss
|
|
26
|
+
* * mc_cme_complement: cme complement counts.
|
|
27
|
+
* * mc_cme_complement_hit: cme cache hit counts.
|
|
28
|
+
* * mc_search_super: search_method() call counts.
|
|
29
|
+
*/
|
|
30
|
+
RB_DEBUG_COUNTER(mc_inline_hit)
|
|
31
|
+
RB_DEBUG_COUNTER(mc_inline_miss)
|
|
32
|
+
RB_DEBUG_COUNTER(mc_global_hit)
|
|
33
|
+
RB_DEBUG_COUNTER(mc_global_miss)
|
|
34
|
+
RB_DEBUG_COUNTER(mc_global_state_miss)
|
|
35
|
+
RB_DEBUG_COUNTER(mc_class_serial_miss)
|
|
36
|
+
RB_DEBUG_COUNTER(mc_cme_complement)
|
|
37
|
+
RB_DEBUG_COUNTER(mc_cme_complement_hit)
|
|
38
|
+
RB_DEBUG_COUNTER(mc_search_super)
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
* control frame push counts.
|
|
42
|
+
*
|
|
43
|
+
* * frame_push: frame push counts.
|
|
44
|
+
* * frame_push_*: frame push counts per each type.
|
|
45
|
+
* * frame_R2R: Ruby frame to Ruby frame
|
|
46
|
+
* * frame_R2C: Ruby frame to C frame
|
|
47
|
+
* * frame_C2C: C frame to C frame
|
|
48
|
+
* * frame_C2R: C frame to Ruby frame
|
|
49
|
+
*/
|
|
50
|
+
RB_DEBUG_COUNTER(frame_push)
|
|
51
|
+
RB_DEBUG_COUNTER(frame_push_method)
|
|
52
|
+
RB_DEBUG_COUNTER(frame_push_block)
|
|
53
|
+
RB_DEBUG_COUNTER(frame_push_class)
|
|
54
|
+
RB_DEBUG_COUNTER(frame_push_top)
|
|
55
|
+
RB_DEBUG_COUNTER(frame_push_cfunc)
|
|
56
|
+
RB_DEBUG_COUNTER(frame_push_ifunc)
|
|
57
|
+
RB_DEBUG_COUNTER(frame_push_eval)
|
|
58
|
+
RB_DEBUG_COUNTER(frame_push_rescue)
|
|
59
|
+
RB_DEBUG_COUNTER(frame_push_dummy)
|
|
60
|
+
|
|
61
|
+
RB_DEBUG_COUNTER(frame_R2R)
|
|
62
|
+
RB_DEBUG_COUNTER(frame_R2C)
|
|
63
|
+
RB_DEBUG_COUNTER(frame_C2C)
|
|
64
|
+
RB_DEBUG_COUNTER(frame_C2R)
|
|
65
|
+
|
|
66
|
+
/* instance variable counts
|
|
67
|
+
*
|
|
68
|
+
* * ivar_get_ic_hit/miss: ivar_get inline cache (ic) hit/miss counts (VM insn)
|
|
69
|
+
* * ivar_get_ic_miss_serial: ivar_get ic miss reason by serial (VM insn)
|
|
70
|
+
* * ivar_get_ic_miss_unset: ... by unset (VM insn)
|
|
71
|
+
* * ivar_get_ic_miss_noobject: ... by "not T_OBJECT" (VM insn)
|
|
72
|
+
* * ivar_set_...: same counts with ivar_set (VM insn)
|
|
73
|
+
* * ivar_get/set_base: call counts of "rb_ivar_get/set()".
|
|
74
|
+
* because of (1) ic miss.
|
|
75
|
+
* (2) direct call by C extensions.
|
|
76
|
+
*/
|
|
77
|
+
RB_DEBUG_COUNTER(ivar_get_ic_hit)
|
|
78
|
+
RB_DEBUG_COUNTER(ivar_get_ic_miss)
|
|
79
|
+
RB_DEBUG_COUNTER(ivar_get_ic_miss_serial)
|
|
80
|
+
RB_DEBUG_COUNTER(ivar_get_ic_miss_unset)
|
|
81
|
+
RB_DEBUG_COUNTER(ivar_get_ic_miss_noobject)
|
|
82
|
+
RB_DEBUG_COUNTER(ivar_set_ic_hit)
|
|
83
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss)
|
|
84
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss_serial)
|
|
85
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss_unset)
|
|
86
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss_oorange)
|
|
87
|
+
RB_DEBUG_COUNTER(ivar_set_ic_miss_noobject)
|
|
88
|
+
RB_DEBUG_COUNTER(ivar_get_base)
|
|
89
|
+
RB_DEBUG_COUNTER(ivar_set_base)
|
|
90
|
+
|
|
91
|
+
/* local variable counts
|
|
92
|
+
*
|
|
93
|
+
* * lvar_get: total lvar get counts (VM insn)
|
|
94
|
+
* * lvar_get_dynamic: lvar get counts if accessing upper env (VM insn)
|
|
95
|
+
* * lvar_set*: same as "get"
|
|
96
|
+
* * lvar_set_slowpath: counts using vm_env_write_slowpath()
|
|
97
|
+
*/
|
|
98
|
+
RB_DEBUG_COUNTER(lvar_get)
|
|
99
|
+
RB_DEBUG_COUNTER(lvar_get_dynamic)
|
|
100
|
+
RB_DEBUG_COUNTER(lvar_set)
|
|
101
|
+
RB_DEBUG_COUNTER(lvar_set_dynamic)
|
|
102
|
+
RB_DEBUG_COUNTER(lvar_set_slowpath)
|
|
103
|
+
|
|
104
|
+
/* GC counts:
|
|
105
|
+
*
|
|
106
|
+
* * count: simple count
|
|
107
|
+
* * _minor: minor gc
|
|
108
|
+
* * _major: major gc
|
|
109
|
+
* * other suffix is corresponding to last_gc_info or
|
|
110
|
+
* gc_profile_record_flag in gc.c.
|
|
111
|
+
*/
|
|
112
|
+
RB_DEBUG_COUNTER(gc_count)
|
|
113
|
+
RB_DEBUG_COUNTER(gc_minor_newobj)
|
|
114
|
+
RB_DEBUG_COUNTER(gc_minor_malloc)
|
|
115
|
+
RB_DEBUG_COUNTER(gc_minor_method)
|
|
116
|
+
RB_DEBUG_COUNTER(gc_minor_capi)
|
|
117
|
+
RB_DEBUG_COUNTER(gc_minor_stress)
|
|
118
|
+
RB_DEBUG_COUNTER(gc_major_nofree)
|
|
119
|
+
RB_DEBUG_COUNTER(gc_major_oldgen)
|
|
120
|
+
RB_DEBUG_COUNTER(gc_major_shady)
|
|
121
|
+
RB_DEBUG_COUNTER(gc_major_force)
|
|
122
|
+
RB_DEBUG_COUNTER(gc_major_oldmalloc)
|
|
123
|
+
|
|
124
|
+
/* object allocation counts:
|
|
125
|
+
*
|
|
126
|
+
* * obj_newobj: newobj counts
|
|
127
|
+
* * obj_newobj_slowpath: newobj with slowpath counts
|
|
128
|
+
* * obj_newobj_wb_unprotected: newobj for wb_unprotecte.
|
|
129
|
+
* * obj_free: obj_free() counts
|
|
130
|
+
* * obj_promote: promoted counts (oldgen)
|
|
131
|
+
* * obj_wb_unprotect: wb unprotect counts
|
|
132
|
+
*
|
|
133
|
+
* * obj_[type]_[attr]: *free'ed counts* for each type.
|
|
134
|
+
* Note that it is not a allocated counts.
|
|
135
|
+
* * [type]
|
|
136
|
+
* * _obj: T_OBJECT
|
|
137
|
+
* * _str: T_STRING
|
|
138
|
+
* * _ary: T_ARRAY
|
|
139
|
+
* * _xxx: T_XXX (hash, struct, ...)
|
|
140
|
+
*
|
|
141
|
+
* * [attr]
|
|
142
|
+
* * _ptr: R?? is not embed.
|
|
143
|
+
* * _embed: R?? is embed.
|
|
144
|
+
* * _transient: R?? uses transient heap.
|
|
145
|
+
* * type specific attr.
|
|
146
|
+
* * str_shared: str is shared.
|
|
147
|
+
* * str_nofree: nofree
|
|
148
|
+
* * str_fstr: fstr
|
|
149
|
+
* * hash_empty: hash is empty
|
|
150
|
+
* * hash_under4: has under 4 entries
|
|
151
|
+
* * hash_ge4: has n entries (4<=n<8)
|
|
152
|
+
* * hash_ge8: has n entries (8<=n)
|
|
153
|
+
* * data_empty: T_DATA but no memory free.
|
|
154
|
+
* * data_xfree: free'ed by xfree().
|
|
155
|
+
* * data_imm_free: free'ed immediately.
|
|
156
|
+
* * data_zombie: free'ed with zombie.
|
|
157
|
+
* * imemo_*: T_IMEMO with each type.
|
|
158
|
+
*/
|
|
159
|
+
RB_DEBUG_COUNTER(obj_newobj)
|
|
160
|
+
RB_DEBUG_COUNTER(obj_newobj_slowpath)
|
|
161
|
+
RB_DEBUG_COUNTER(obj_newobj_wb_unprotected)
|
|
162
|
+
RB_DEBUG_COUNTER(obj_free)
|
|
163
|
+
RB_DEBUG_COUNTER(obj_promote)
|
|
164
|
+
RB_DEBUG_COUNTER(obj_wb_unprotect)
|
|
165
|
+
|
|
166
|
+
RB_DEBUG_COUNTER(obj_obj_embed)
|
|
167
|
+
RB_DEBUG_COUNTER(obj_obj_transient)
|
|
168
|
+
RB_DEBUG_COUNTER(obj_obj_ptr)
|
|
169
|
+
|
|
170
|
+
RB_DEBUG_COUNTER(obj_str_ptr)
|
|
171
|
+
RB_DEBUG_COUNTER(obj_str_embed)
|
|
172
|
+
RB_DEBUG_COUNTER(obj_str_shared)
|
|
173
|
+
RB_DEBUG_COUNTER(obj_str_nofree)
|
|
174
|
+
RB_DEBUG_COUNTER(obj_str_fstr)
|
|
175
|
+
|
|
176
|
+
RB_DEBUG_COUNTER(obj_ary_embed)
|
|
177
|
+
RB_DEBUG_COUNTER(obj_ary_transient)
|
|
178
|
+
RB_DEBUG_COUNTER(obj_ary_ptr)
|
|
179
|
+
|
|
180
|
+
RB_DEBUG_COUNTER(obj_hash_empty)
|
|
181
|
+
RB_DEBUG_COUNTER(obj_hash_under4)
|
|
182
|
+
RB_DEBUG_COUNTER(obj_hash_ge4)
|
|
183
|
+
RB_DEBUG_COUNTER(obj_hash_ge8)
|
|
184
|
+
RB_DEBUG_COUNTER(obj_hash_ar)
|
|
185
|
+
RB_DEBUG_COUNTER(obj_hash_st)
|
|
186
|
+
RB_DEBUG_COUNTER(obj_hash_transient)
|
|
187
|
+
|
|
188
|
+
RB_DEBUG_COUNTER(obj_hash_force_convert)
|
|
189
|
+
|
|
190
|
+
RB_DEBUG_COUNTER(obj_struct_embed)
|
|
191
|
+
RB_DEBUG_COUNTER(obj_struct_transient)
|
|
192
|
+
RB_DEBUG_COUNTER(obj_struct_ptr)
|
|
193
|
+
|
|
194
|
+
RB_DEBUG_COUNTER(obj_regexp_ptr)
|
|
195
|
+
|
|
196
|
+
RB_DEBUG_COUNTER(obj_data_empty)
|
|
197
|
+
RB_DEBUG_COUNTER(obj_data_xfree)
|
|
198
|
+
RB_DEBUG_COUNTER(obj_data_imm_free)
|
|
199
|
+
RB_DEBUG_COUNTER(obj_data_zombie)
|
|
200
|
+
|
|
201
|
+
RB_DEBUG_COUNTER(obj_match_ptr)
|
|
202
|
+
RB_DEBUG_COUNTER(obj_file_ptr)
|
|
203
|
+
RB_DEBUG_COUNTER(obj_bignum_ptr)
|
|
204
|
+
|
|
205
|
+
RB_DEBUG_COUNTER(obj_symbol)
|
|
206
|
+
|
|
207
|
+
RB_DEBUG_COUNTER(obj_imemo_ment)
|
|
208
|
+
RB_DEBUG_COUNTER(obj_imemo_iseq)
|
|
209
|
+
RB_DEBUG_COUNTER(obj_imemo_env)
|
|
210
|
+
RB_DEBUG_COUNTER(obj_imemo_tmpbuf)
|
|
211
|
+
RB_DEBUG_COUNTER(obj_imemo_ast)
|
|
212
|
+
RB_DEBUG_COUNTER(obj_imemo_cref)
|
|
213
|
+
RB_DEBUG_COUNTER(obj_imemo_svar)
|
|
214
|
+
RB_DEBUG_COUNTER(obj_imemo_throw_data)
|
|
215
|
+
RB_DEBUG_COUNTER(obj_imemo_ifunc)
|
|
216
|
+
RB_DEBUG_COUNTER(obj_imemo_memo)
|
|
217
|
+
RB_DEBUG_COUNTER(obj_imemo_parser_strterm)
|
|
218
|
+
|
|
219
|
+
RB_DEBUG_COUNTER(obj_iclass_ptr)
|
|
220
|
+
RB_DEBUG_COUNTER(obj_class_ptr)
|
|
221
|
+
RB_DEBUG_COUNTER(obj_module_ptr)
|
|
222
|
+
|
|
223
|
+
/* heap function counts
|
|
224
|
+
*
|
|
225
|
+
* * heap_xmalloc/realloc/xfree: call counts
|
|
226
|
+
*/
|
|
227
|
+
RB_DEBUG_COUNTER(heap_xmalloc)
|
|
228
|
+
RB_DEBUG_COUNTER(heap_xrealloc)
|
|
229
|
+
RB_DEBUG_COUNTER(heap_xfree)
|
|
230
|
+
|
|
231
|
+
/* transient_heap */
|
|
232
|
+
RB_DEBUG_COUNTER(theap_alloc)
|
|
233
|
+
RB_DEBUG_COUNTER(theap_alloc_fail)
|
|
234
|
+
RB_DEBUG_COUNTER(theap_evacuate)
|
|
235
|
+
|
|
236
|
+
/* load (not implemented yet) */
|
|
237
|
+
/*
|
|
238
|
+
RB_DEBUG_COUNTER(load_files)
|
|
239
|
+
RB_DEBUG_COUNTER(load_path_is_not_realpath)
|
|
240
|
+
*/
|
|
241
|
+
#endif
|
|
242
|
+
|
|
243
|
+
#ifndef RUBY_DEBUG_COUNTER_H
|
|
244
|
+
#define RUBY_DEBUG_COUNTER_H 1
|
|
245
|
+
|
|
246
|
+
#if !defined(__GNUC__) && USE_DEBUG_COUNTER
|
|
247
|
+
#error "USE_DEBUG_COUNTER is not supported by other than __GNUC__"
|
|
248
|
+
#endif
|
|
249
|
+
|
|
250
|
+
enum rb_debug_counter_type {
|
|
251
|
+
#define RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,
|
|
252
|
+
#include __FILE__
|
|
253
|
+
RB_DEBUG_COUNTER_MAX
|
|
254
|
+
#undef RB_DEBUG_COUNTER
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
#if USE_DEBUG_COUNTER
|
|
258
|
+
#include "ruby/ruby.h"
|
|
259
|
+
|
|
260
|
+
extern size_t rb_debug_counter[];
|
|
261
|
+
|
|
262
|
+
inline static int
|
|
263
|
+
rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)
|
|
264
|
+
{
|
|
265
|
+
if (cond) {
|
|
266
|
+
rb_debug_counter[(int)type] += add;
|
|
267
|
+
}
|
|
268
|
+
return cond;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
#define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
|
|
272
|
+
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
|
|
273
|
+
#define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))
|
|
274
|
+
|
|
275
|
+
#else
|
|
276
|
+
#define RB_DEBUG_COUNTER_INC(type) ((void)0)
|
|
277
|
+
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)
|
|
278
|
+
#define RB_DEBUG_COUNTER_INC_IF(type, cond) (cond)
|
|
279
|
+
#endif
|
|
280
|
+
|
|
281
|
+
void rb_debug_counter_show_results(const char *msg);
|
|
282
|
+
|
|
283
|
+
#endif /* RUBY_DEBUG_COUNTER_H */
|