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
|
File without changes
|
|
@@ -57,6 +57,8 @@ enum ruby_preserved_encindex {
|
|
|
57
57
|
#define rb_utf8_encindex() RUBY_ENCINDEX_UTF_8
|
|
58
58
|
#define rb_usascii_encindex() RUBY_ENCINDEX_US_ASCII
|
|
59
59
|
|
|
60
|
+
int rb_enc_find_index2(const char *name, long len);
|
|
61
|
+
|
|
60
62
|
#if defined(__cplusplus)
|
|
61
63
|
#if 0
|
|
62
64
|
{ /* satisfy cc-mode */
|
|
@@ -5,23 +5,22 @@
|
|
|
5
5
|
#include "vm_core.h"
|
|
6
6
|
|
|
7
7
|
static inline void
|
|
8
|
-
vm_passed_block_handler_set(
|
|
8
|
+
vm_passed_block_handler_set(rb_execution_context_t *ec, VALUE block_handler)
|
|
9
9
|
{
|
|
10
10
|
vm_block_handler_verify(block_handler);
|
|
11
|
-
|
|
11
|
+
ec->passed_block_handler = block_handler;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
static inline void
|
|
15
|
-
pass_passed_block_handler(
|
|
15
|
+
pass_passed_block_handler(rb_execution_context_t *ec)
|
|
16
16
|
{
|
|
17
|
-
VALUE block_handler = rb_vm_frame_block_handler(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
VM_ENV_FLAGS_SET(th->ec.cfp->ep, VM_FRAME_FLAG_PASSED);
|
|
17
|
+
VALUE block_handler = rb_vm_frame_block_handler(ec->cfp);
|
|
18
|
+
vm_passed_block_handler_set(ec, block_handler);
|
|
19
|
+
VM_ENV_FLAGS_SET(ec->cfp->ep, VM_FRAME_FLAG_PASSED);
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
#define
|
|
24
|
-
#define PASS_PASSED_BLOCK_HANDLER() pass_passed_block_handler(
|
|
22
|
+
#define PASS_PASSED_BLOCK_HANDLER_EC(ec) pass_passed_block_handler(ec)
|
|
23
|
+
#define PASS_PASSED_BLOCK_HANDLER() pass_passed_block_handler(GET_EC())
|
|
25
24
|
|
|
26
25
|
#ifdef HAVE_STDLIB_H
|
|
27
26
|
#include <stdlib.h>
|
|
@@ -98,7 +97,7 @@ extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval
|
|
|
98
97
|
#define SAVE_ROOT_JMPBUF_AFTER_STMT \
|
|
99
98
|
} \
|
|
100
99
|
__except (GetExceptionCode() == EXCEPTION_STACK_OVERFLOW ? \
|
|
101
|
-
(
|
|
100
|
+
(rb_ec_raised_set(GET_EC(), RAISED_STACKOVERFLOW), \
|
|
102
101
|
raise(SIGSEGV), \
|
|
103
102
|
EXCEPTION_EXECUTE_HANDLER) : \
|
|
104
103
|
EXCEPTION_CONTINUE_SEARCH) { \
|
|
@@ -128,26 +127,27 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
|
128
127
|
rb_fiber_start(); \
|
|
129
128
|
} while (0)
|
|
130
129
|
|
|
131
|
-
#define
|
|
132
|
-
|
|
130
|
+
#define EC_PUSH_TAG(ec) do { \
|
|
131
|
+
rb_execution_context_t * const _ec = (ec); \
|
|
133
132
|
struct rb_vm_tag _tag; \
|
|
134
133
|
_tag.state = TAG_NONE; \
|
|
135
134
|
_tag.tag = Qundef; \
|
|
136
|
-
_tag.prev =
|
|
135
|
+
_tag.prev = _ec->tag;
|
|
137
136
|
|
|
138
|
-
#define
|
|
139
|
-
|
|
137
|
+
#define EC_POP_TAG() \
|
|
138
|
+
_ec->tag = _tag.prev; \
|
|
140
139
|
} while (0)
|
|
141
140
|
|
|
142
|
-
#define
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
#define TH_REPUSH_TAG() (void)(_th->ec.tag = &_tag)
|
|
141
|
+
#define EC_TMPPOP_TAG() \
|
|
142
|
+
_ec->tag = _tag.prev
|
|
146
143
|
|
|
147
|
-
#define
|
|
148
|
-
#define POP_TAG() TH_POP_TAG()
|
|
144
|
+
#define EC_REPUSH_TAG() (void)(_ec->tag = &_tag)
|
|
149
145
|
|
|
150
|
-
#if defined __GNUC__ && __GNUC__ == 4 && (__GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8)
|
|
146
|
+
#if defined __GNUC__ && __GNUC__ == 4 && (__GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8) || __clang__
|
|
147
|
+
/* This macro prevents GCC 4.6--4.8 from emitting maybe-uninitialized warnings.
|
|
148
|
+
* This macro also prevents Clang from dumping core in EC_EXEC_TAG().
|
|
149
|
+
* (I confirmed Clang 4.0.1 and 5.0.0.)
|
|
150
|
+
*/
|
|
151
151
|
# define VAR_FROM_MEMORY(var) __extension__(*(__typeof__(var) volatile *)&(var))
|
|
152
152
|
# define VAR_INITIALIZED(var) ((var) = VAR_FROM_MEMORY(var))
|
|
153
153
|
# define VAR_NOCLOBBERED(var) volatile var
|
|
@@ -160,10 +160,10 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
|
160
160
|
#if defined(USE_UNALIGNED_MEMBER_ACCESS) && USE_UNALIGNED_MEMBER_ACCESS && \
|
|
161
161
|
defined(__clang__)
|
|
162
162
|
# define UNALIGNED_MEMBER_ACCESS(expr) __extension__({ \
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
COMPILER_WARNING_PUSH; \
|
|
164
|
+
COMPILER_WARNING_IGNORED(-Waddress-of-packed-member); \
|
|
165
165
|
typeof(expr) unaligned_member_access_result = (expr); \
|
|
166
|
-
|
|
166
|
+
COMPILER_WARNING_POP; \
|
|
167
167
|
unaligned_member_access_result; \
|
|
168
168
|
})
|
|
169
169
|
#else
|
|
@@ -174,36 +174,31 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
|
|
|
174
174
|
#undef RB_OBJ_WRITE
|
|
175
175
|
#define RB_OBJ_WRITE(a, slot, b) UNALIGNED_MEMBER_ACCESS(rb_obj_write((VALUE)(a), (VALUE *)(slot), (VALUE)(b), __FILE__, __LINE__))
|
|
176
176
|
|
|
177
|
-
/* clear
|
|
177
|
+
/* clear ec->tag->state, and return the value */
|
|
178
178
|
static inline int
|
|
179
|
-
|
|
179
|
+
rb_ec_tag_state(const rb_execution_context_t *ec)
|
|
180
180
|
{
|
|
181
|
-
enum ruby_tag_type state =
|
|
182
|
-
|
|
181
|
+
enum ruby_tag_type state = ec->tag->state;
|
|
182
|
+
ec->tag->state = TAG_NONE;
|
|
183
183
|
return state;
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
NORETURN(static inline void
|
|
186
|
+
NORETURN(static inline void rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st));
|
|
187
187
|
static inline void
|
|
188
|
-
|
|
188
|
+
rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st)
|
|
189
189
|
{
|
|
190
|
-
|
|
191
|
-
ruby_longjmp(
|
|
190
|
+
ec->tag->state = st;
|
|
191
|
+
ruby_longjmp(ec->tag->buf, 1);
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
/*
|
|
195
195
|
setjmp() in assignment expression rhs is undefined behavior
|
|
196
196
|
[ISO/IEC 9899:1999] 7.13.1.1
|
|
197
197
|
*/
|
|
198
|
-
#define
|
|
199
|
-
(ruby_setjmp(_tag.buf) ?
|
|
200
|
-
|
|
201
|
-
#define EXEC_TAG() \
|
|
202
|
-
TH_EXEC_TAG()
|
|
203
|
-
|
|
204
|
-
#define TH_JUMP_TAG(th, st) rb_threadptr_tag_jump(th, st)
|
|
198
|
+
#define EC_EXEC_TAG() \
|
|
199
|
+
(ruby_setjmp(_tag.buf) ? rb_ec_tag_state(VAR_FROM_MEMORY(_ec)) : (EC_REPUSH_TAG(), 0))
|
|
205
200
|
|
|
206
|
-
#define
|
|
201
|
+
#define EC_JUMP_TAG(ec, st) rb_ec_tag_jump(ec, st)
|
|
207
202
|
|
|
208
203
|
#define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
|
|
209
204
|
|
|
@@ -280,13 +275,13 @@ enum {
|
|
|
280
275
|
RAISED_STACKOVERFLOW = 2,
|
|
281
276
|
RAISED_NOMEMORY = 4
|
|
282
277
|
};
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
#define
|
|
286
|
-
#define
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
int
|
|
278
|
+
#define rb_ec_raised_set(ec, f) ((ec)->raised_flag |= (f))
|
|
279
|
+
#define rb_ec_raised_reset(ec, f) ((ec)->raised_flag &= ~(f))
|
|
280
|
+
#define rb_ec_raised_p(ec, f) (((ec)->raised_flag & (f)) != 0)
|
|
281
|
+
#define rb_ec_raised_clear(ec) ((ec)->raised_flag = 0)
|
|
282
|
+
int rb_ec_set_raised(rb_execution_context_t *ec);
|
|
283
|
+
int rb_ec_reset_raised(rb_execution_context_t *ec);
|
|
284
|
+
int rb_ec_stack_check(rb_execution_context_t *ec);
|
|
290
285
|
|
|
291
286
|
VALUE rb_f_eval(int argc, const VALUE *argv, VALUE self);
|
|
292
287
|
VALUE rb_make_exception(int argc, const VALUE *argv);
|
|
@@ -302,8 +297,6 @@ NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
|
|
|
302
297
|
#if 0
|
|
303
298
|
NORETURN(void rb_vm_jump_tag_but_local_jump(int));
|
|
304
299
|
#endif
|
|
305
|
-
NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
|
|
306
|
-
VALUE obj, int call_status));
|
|
307
300
|
|
|
308
301
|
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
|
|
309
302
|
rb_cref_t *rb_vm_cref(void);
|
|
@@ -314,9 +307,8 @@ void rb_thread_terminate_all(void);
|
|
|
314
307
|
VALUE rb_vm_cbase(void);
|
|
315
308
|
|
|
316
309
|
/* vm_backtrace.c */
|
|
317
|
-
VALUE
|
|
318
|
-
VALUE
|
|
319
|
-
VALUE rb_threadptr_backtrace_location_ary(rb_thread_t *th, long lev, long n);
|
|
310
|
+
VALUE rb_ec_backtrace_object(const rb_execution_context_t *ec);
|
|
311
|
+
VALUE rb_ec_backtrace_str_ary(const rb_execution_context_t *ec, long lev, long n);
|
|
320
312
|
|
|
321
313
|
#ifndef CharNext /* defined as CharNext[AW] on Windows. */
|
|
322
314
|
# ifdef HAVE_MBLEN
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
#ifndef RUBY_GC_H
|
|
3
3
|
#define RUBY_GC_H 1
|
|
4
4
|
|
|
5
|
-
#if defined(__x86_64__) && !defined(_ILP32) && defined(__GNUC__)
|
|
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
|
-
#elif defined(__i386) && defined(__GNUC__)
|
|
7
|
+
#elif defined(__i386) && defined(__GNUC__)
|
|
8
8
|
#define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("movl\t%%esp, %0" : "=r" (*(p)))
|
|
9
9
|
#else
|
|
10
10
|
NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));
|
|
@@ -91,7 +91,6 @@ const char *rb_raw_obj_info(char *buff, const int buff_size, VALUE obj);
|
|
|
91
91
|
void rb_obj_info_dump(VALUE obj);
|
|
92
92
|
|
|
93
93
|
struct rb_thread_struct;
|
|
94
|
-
int rb_threadptr_during_gc(struct rb_thread_struct *th);
|
|
95
94
|
|
|
96
95
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
97
96
|
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
#ifndef RB_HRTIME_H
|
|
2
|
+
#define RB_HRTIME_H
|
|
3
|
+
#include "ruby/ruby.h"
|
|
4
|
+
#include <time.h>
|
|
5
|
+
#if defined(HAVE_SYS_TIME_H)
|
|
6
|
+
# include <sys/time.h>
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Hi-res monotonic clock. It is currently nsec resolution, which has over
|
|
11
|
+
* 500 years of range (with an unsigned 64-bit integer). Developers
|
|
12
|
+
* targeting small systems may try 32-bit and low-resolution (milliseconds).
|
|
13
|
+
*
|
|
14
|
+
* TBD: Is nsec even necessary? usec resolution seems enough for userspace
|
|
15
|
+
* and it'll be suitable for use with devices lasting over 500,000 years
|
|
16
|
+
* (maybe some devices designed for long-term space travel)
|
|
17
|
+
*
|
|
18
|
+
* Current API:
|
|
19
|
+
*
|
|
20
|
+
* * rb_hrtime_now - current clock value (monotonic if available)
|
|
21
|
+
* * rb_hrtime_mul - multiply with overflow check
|
|
22
|
+
* * rb_hrtime_add - add with overflow check
|
|
23
|
+
* * rb_timeval2hrtime - convert from timeval
|
|
24
|
+
* * rb_timespec2hrtime - convert from timespec
|
|
25
|
+
* * rb_msec2hrtime - convert from millisecond
|
|
26
|
+
* * rb_sec2hrtime - convert from time_t (seconds)
|
|
27
|
+
* * rb_hrtime2timeval - convert to timeval
|
|
28
|
+
* * rb_hrtime2timespec - convert to timespec
|
|
29
|
+
*
|
|
30
|
+
* Note: no conversion to milliseconds is provided here because different
|
|
31
|
+
* functions have different limits (e.g. epoll_wait vs w32_wait_events).
|
|
32
|
+
* So we provide RB_HRTIME_PER_MSEC and similar macros for implementing
|
|
33
|
+
* this for each use case.
|
|
34
|
+
*/
|
|
35
|
+
#define RB_HRTIME_PER_USEC ((rb_hrtime_t)1000)
|
|
36
|
+
#define RB_HRTIME_PER_MSEC (RB_HRTIME_PER_USEC * (rb_hrtime_t)1000)
|
|
37
|
+
#define RB_HRTIME_PER_SEC (RB_HRTIME_PER_MSEC * (rb_hrtime_t)1000)
|
|
38
|
+
#define RB_HRTIME_MAX UINT64_MAX
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
* Lets try to support time travelers. Lets assume anybody with a time machine
|
|
42
|
+
* also has access to a modern gcc or clang with 128-bit int support
|
|
43
|
+
*/
|
|
44
|
+
#ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
|
|
45
|
+
typedef int128_t rb_hrtime_t;
|
|
46
|
+
#else
|
|
47
|
+
typedef uint64_t rb_hrtime_t;
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
/* thread.c */
|
|
51
|
+
/* returns the value of the monotonic clock (if available) */
|
|
52
|
+
rb_hrtime_t rb_hrtime_now(void);
|
|
53
|
+
|
|
54
|
+
/*
|
|
55
|
+
* multiply @a and @b with overflow check and return the
|
|
56
|
+
* (clamped to RB_HRTIME_MAX) result.
|
|
57
|
+
*/
|
|
58
|
+
static inline rb_hrtime_t
|
|
59
|
+
rb_hrtime_mul(rb_hrtime_t a, rb_hrtime_t b)
|
|
60
|
+
{
|
|
61
|
+
rb_hrtime_t c;
|
|
62
|
+
|
|
63
|
+
#ifdef HAVE_BUILTIN___BUILTIN_MUL_OVERFLOW
|
|
64
|
+
if (__builtin_mul_overflow(a, b, &c))
|
|
65
|
+
return RB_HRTIME_MAX;
|
|
66
|
+
#else
|
|
67
|
+
if (b != 0 && a > RB_HRTIME_MAX / b) /* overflow */
|
|
68
|
+
return RB_HRTIME_MAX;
|
|
69
|
+
c = a * b;
|
|
70
|
+
#endif
|
|
71
|
+
return c;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* add @a and @b with overflow check and return the
|
|
76
|
+
* (clamped to RB_HRTIME_MAX) result.
|
|
77
|
+
*/
|
|
78
|
+
static inline rb_hrtime_t
|
|
79
|
+
rb_hrtime_add(rb_hrtime_t a, rb_hrtime_t b)
|
|
80
|
+
{
|
|
81
|
+
rb_hrtime_t c;
|
|
82
|
+
|
|
83
|
+
#ifdef HAVE_BUILTIN___BUILTIN_ADD_OVERFLOW
|
|
84
|
+
if (__builtin_add_overflow(a, b, &c))
|
|
85
|
+
return RB_HRTIME_MAX;
|
|
86
|
+
#else
|
|
87
|
+
c = a + b;
|
|
88
|
+
if (c < a) /* overflow */
|
|
89
|
+
return RB_HRTIME_MAX;
|
|
90
|
+
#endif
|
|
91
|
+
return c;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/*
|
|
95
|
+
* convert a timeval struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
|
|
96
|
+
*/
|
|
97
|
+
static inline rb_hrtime_t
|
|
98
|
+
rb_timeval2hrtime(const struct timeval *tv)
|
|
99
|
+
{
|
|
100
|
+
rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)tv->tv_sec, RB_HRTIME_PER_SEC);
|
|
101
|
+
rb_hrtime_t u = rb_hrtime_mul((rb_hrtime_t)tv->tv_usec, RB_HRTIME_PER_USEC);
|
|
102
|
+
|
|
103
|
+
return rb_hrtime_add(s, u);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/*
|
|
107
|
+
* convert a timespec struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
|
|
108
|
+
*/
|
|
109
|
+
static inline rb_hrtime_t
|
|
110
|
+
rb_timespec2hrtime(const struct timespec *ts)
|
|
111
|
+
{
|
|
112
|
+
rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)ts->tv_sec, RB_HRTIME_PER_SEC);
|
|
113
|
+
|
|
114
|
+
return rb_hrtime_add(s, (rb_hrtime_t)ts->tv_nsec);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/*
|
|
118
|
+
* convert a millisecond value to rb_hrtime_t, clamping at RB_HRTIME_MAX
|
|
119
|
+
*/
|
|
120
|
+
static inline rb_hrtime_t
|
|
121
|
+
rb_msec2hrtime(unsigned long msec)
|
|
122
|
+
{
|
|
123
|
+
return rb_hrtime_mul((rb_hrtime_t)msec, RB_HRTIME_PER_MSEC);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/*
|
|
127
|
+
* convert a time_t value to rb_hrtime_t, clamping at RB_HRTIME_MAX
|
|
128
|
+
* Negative values will be clamped at 0.
|
|
129
|
+
*/
|
|
130
|
+
static inline rb_hrtime_t
|
|
131
|
+
rb_sec2hrtime(time_t sec)
|
|
132
|
+
{
|
|
133
|
+
if (sec <= 0) return 0;
|
|
134
|
+
|
|
135
|
+
return rb_hrtime_mul((rb_hrtime_t)sec, RB_HRTIME_PER_SEC);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/*
|
|
139
|
+
* convert a rb_hrtime_t value to a timespec, suitable for calling
|
|
140
|
+
* functions like ppoll(2) or kevent(2)
|
|
141
|
+
*/
|
|
142
|
+
static inline struct timespec *
|
|
143
|
+
rb_hrtime2timespec(struct timespec *ts, const rb_hrtime_t *hrt)
|
|
144
|
+
{
|
|
145
|
+
if (hrt) {
|
|
146
|
+
ts->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
|
|
147
|
+
ts->tv_nsec = (int32_t)(*hrt % RB_HRTIME_PER_SEC);
|
|
148
|
+
return ts;
|
|
149
|
+
}
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/*
|
|
154
|
+
* convert a rb_hrtime_t value to a timeval, suitable for calling
|
|
155
|
+
* functions like select(2)
|
|
156
|
+
*/
|
|
157
|
+
static inline struct timeval *
|
|
158
|
+
rb_hrtime2timeval(struct timeval *tv, const rb_hrtime_t *hrt)
|
|
159
|
+
{
|
|
160
|
+
if (hrt) {
|
|
161
|
+
tv->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
|
|
162
|
+
tv->tv_usec = (int32_t)((*hrt % RB_HRTIME_PER_SEC)/RB_HRTIME_PER_USEC);
|
|
163
|
+
|
|
164
|
+
return tv;
|
|
165
|
+
}
|
|
166
|
+
return 0;
|
|
167
|
+
}
|
|
168
|
+
#endif /* RB_HRTIME_H */
|
|
@@ -95,6 +95,8 @@ enum ruby_method_ids {
|
|
|
95
95
|
idEqq = RUBY_TOKEN(EQQ),
|
|
96
96
|
idNeq = RUBY_TOKEN(NEQ),
|
|
97
97
|
idNot = '!',
|
|
98
|
+
idAnd = '&',
|
|
99
|
+
idOr = '|',
|
|
98
100
|
idBackquote = '`',
|
|
99
101
|
idEqTilde = RUBY_TOKEN(MATCH),
|
|
100
102
|
idNeqTilde = RUBY_TOKEN(NMATCH),
|
|
@@ -118,8 +120,6 @@ enum ruby_method_ids {
|
|
|
118
120
|
id_core_define_method,
|
|
119
121
|
id_core_define_singleton_method,
|
|
120
122
|
id_core_set_postexe,
|
|
121
|
-
id_core_hash_from_ary,
|
|
122
|
-
id_core_hash_merge_ary,
|
|
123
123
|
id_core_hash_merge_ptr,
|
|
124
124
|
id_core_hash_merge_kwd,
|
|
125
125
|
id_debug_created_info,
|
|
@@ -163,6 +163,7 @@ enum ruby_method_ids {
|
|
|
163
163
|
tTo_a,
|
|
164
164
|
tTo_s,
|
|
165
165
|
tTo_i,
|
|
166
|
+
tTo_f,
|
|
166
167
|
tTo_r,
|
|
167
168
|
tBt,
|
|
168
169
|
tBt_locations,
|
|
@@ -226,6 +227,7 @@ enum ruby_method_ids {
|
|
|
226
227
|
DEFINE_LOCALID_FROM_TOKEN(To_a),
|
|
227
228
|
DEFINE_LOCALID_FROM_TOKEN(To_s),
|
|
228
229
|
DEFINE_LOCALID_FROM_TOKEN(To_i),
|
|
230
|
+
DEFINE_LOCALID_FROM_TOKEN(To_f),
|
|
229
231
|
DEFINE_LOCALID_FROM_TOKEN(To_r),
|
|
230
232
|
DEFINE_LOCALID_FROM_TOKEN(Bt),
|
|
231
233
|
DEFINE_LOCALID_FROM_TOKEN(Bt_locations),
|
|
File without changes
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/* -*- mode:c; style:ruby; coding: utf-8; indent-tabs-mode: nil -*- */
|
|
2
|
+
|
|
3
|
+
/* This is an auto-generated file and is a part of the programming language
|
|
4
|
+
* Ruby. The person who created a program to generate this file (``I''
|
|
5
|
+
* hereafter) would like to refrain from defining licensing of this generated
|
|
6
|
+
* source code.
|
|
7
|
+
*
|
|
8
|
+
* This file consist of many small parts of codes copyrighted by each authors,
|
|
9
|
+
* not only the ``I'' person. Those original authors agree with some
|
|
10
|
+
* open-source license. I believe that the license we agree is the condition
|
|
11
|
+
* mentioned in the file COPYING. It states "4. You may modify and include
|
|
12
|
+
* the part of the software into any other software ...". But the problem is,
|
|
13
|
+
* the license never makes it clear if such modified parts still remain in the
|
|
14
|
+
* same license, or not. The fact that we agree with the source code's
|
|
15
|
+
* licensing terms do not automatically define that of generated ones. This is
|
|
16
|
+
* the reason why this file is under unclear situation. All that I know is
|
|
17
|
+
* that above provision guarantees this file to exist.
|
|
18
|
+
*
|
|
19
|
+
* Please let me hesitate to declare something about this nuanced contract. I
|
|
20
|
+
* am not in the position to take over other authors' license to merge into my
|
|
21
|
+
* one. Changing them to (say) GPLv3 is not doable by myself. Perhaps someday
|
|
22
|
+
* it might turn out to be okay to say this file is under a license. I wish the
|
|
23
|
+
* situation would become more clear in the future. */
|
|
24
|
+
|
|
25
|
+
/*******************************************************************/
|
|
26
|
+
/*******************************************************************/
|
|
27
|
+
/*******************************************************************/
|
|
28
|
+
/**
|
|
29
|
+
This file contains YARV instruction list.
|
|
30
|
+
|
|
31
|
+
----
|
|
32
|
+
This file is auto generated by insns2vm.rb
|
|
33
|
+
DO NOT TOUCH!
|
|
34
|
+
|
|
35
|
+
If you want to fix something, you must edit "tool/ruby_vm/views/insns.inc.erb"
|
|
36
|
+
or tool/insns2vm.rb
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
/* BIN : Basic Instruction Name */
|
|
40
|
+
#define BIN(n) YARVINSN_##n
|
|
41
|
+
|
|
42
|
+
enum ruby_vminsn_type {
|
|
43
|
+
BIN(nop),
|
|
44
|
+
BIN(getlocal),
|
|
45
|
+
BIN(setlocal),
|
|
46
|
+
BIN(getblockparam),
|
|
47
|
+
BIN(setblockparam),
|
|
48
|
+
BIN(getblockparamproxy),
|
|
49
|
+
BIN(getspecial),
|
|
50
|
+
BIN(setspecial),
|
|
51
|
+
BIN(getinstancevariable),
|
|
52
|
+
BIN(setinstancevariable),
|
|
53
|
+
BIN(getclassvariable),
|
|
54
|
+
BIN(setclassvariable),
|
|
55
|
+
BIN(getconstant),
|
|
56
|
+
BIN(setconstant),
|
|
57
|
+
BIN(getglobal),
|
|
58
|
+
BIN(setglobal),
|
|
59
|
+
BIN(putnil),
|
|
60
|
+
BIN(putself),
|
|
61
|
+
BIN(putobject),
|
|
62
|
+
BIN(putspecialobject),
|
|
63
|
+
BIN(putiseq),
|
|
64
|
+
BIN(putstring),
|
|
65
|
+
BIN(concatstrings),
|
|
66
|
+
BIN(tostring),
|
|
67
|
+
BIN(freezestring),
|
|
68
|
+
BIN(toregexp),
|
|
69
|
+
BIN(intern),
|
|
70
|
+
BIN(newarray),
|
|
71
|
+
BIN(duparray),
|
|
72
|
+
BIN(duphash),
|
|
73
|
+
BIN(expandarray),
|
|
74
|
+
BIN(concatarray),
|
|
75
|
+
BIN(splatarray),
|
|
76
|
+
BIN(newhash),
|
|
77
|
+
BIN(newrange),
|
|
78
|
+
BIN(pop),
|
|
79
|
+
BIN(dup),
|
|
80
|
+
BIN(dupn),
|
|
81
|
+
BIN(swap),
|
|
82
|
+
BIN(reverse),
|
|
83
|
+
BIN(reput),
|
|
84
|
+
BIN(topn),
|
|
85
|
+
BIN(setn),
|
|
86
|
+
BIN(adjuststack),
|
|
87
|
+
BIN(defined),
|
|
88
|
+
BIN(checkmatch),
|
|
89
|
+
BIN(checkkeyword),
|
|
90
|
+
BIN(checktype),
|
|
91
|
+
BIN(defineclass),
|
|
92
|
+
BIN(send),
|
|
93
|
+
BIN(opt_send_without_block),
|
|
94
|
+
BIN(opt_str_freeze),
|
|
95
|
+
BIN(opt_str_uminus),
|
|
96
|
+
BIN(opt_newarray_max),
|
|
97
|
+
BIN(opt_newarray_min),
|
|
98
|
+
BIN(invokesuper),
|
|
99
|
+
BIN(invokeblock),
|
|
100
|
+
BIN(leave),
|
|
101
|
+
BIN(throw),
|
|
102
|
+
BIN(jump),
|
|
103
|
+
BIN(branchif),
|
|
104
|
+
BIN(branchunless),
|
|
105
|
+
BIN(branchnil),
|
|
106
|
+
BIN(opt_getinlinecache),
|
|
107
|
+
BIN(opt_setinlinecache),
|
|
108
|
+
BIN(once),
|
|
109
|
+
BIN(opt_case_dispatch),
|
|
110
|
+
BIN(opt_plus),
|
|
111
|
+
BIN(opt_minus),
|
|
112
|
+
BIN(opt_mult),
|
|
113
|
+
BIN(opt_div),
|
|
114
|
+
BIN(opt_mod),
|
|
115
|
+
BIN(opt_eq),
|
|
116
|
+
BIN(opt_neq),
|
|
117
|
+
BIN(opt_lt),
|
|
118
|
+
BIN(opt_le),
|
|
119
|
+
BIN(opt_gt),
|
|
120
|
+
BIN(opt_ge),
|
|
121
|
+
BIN(opt_ltlt),
|
|
122
|
+
BIN(opt_and),
|
|
123
|
+
BIN(opt_or),
|
|
124
|
+
BIN(opt_aref),
|
|
125
|
+
BIN(opt_aset),
|
|
126
|
+
BIN(opt_aset_with),
|
|
127
|
+
BIN(opt_aref_with),
|
|
128
|
+
BIN(opt_length),
|
|
129
|
+
BIN(opt_size),
|
|
130
|
+
BIN(opt_empty_p),
|
|
131
|
+
BIN(opt_succ),
|
|
132
|
+
BIN(opt_not),
|
|
133
|
+
BIN(opt_regexpmatch1),
|
|
134
|
+
BIN(opt_regexpmatch2),
|
|
135
|
+
BIN(opt_call_c_function),
|
|
136
|
+
BIN(bitblt),
|
|
137
|
+
BIN(answer),
|
|
138
|
+
BIN(getlocal_WC_0),
|
|
139
|
+
BIN(getlocal_WC_1),
|
|
140
|
+
BIN(setlocal_WC_0),
|
|
141
|
+
BIN(setlocal_WC_1),
|
|
142
|
+
BIN(putobject_INT2FIX_0_),
|
|
143
|
+
BIN(putobject_INT2FIX_1_),
|
|
144
|
+
BIN(trace_nop),
|
|
145
|
+
BIN(trace_getlocal),
|
|
146
|
+
BIN(trace_setlocal),
|
|
147
|
+
BIN(trace_getblockparam),
|
|
148
|
+
BIN(trace_setblockparam),
|
|
149
|
+
BIN(trace_getblockparamproxy),
|
|
150
|
+
BIN(trace_getspecial),
|
|
151
|
+
BIN(trace_setspecial),
|
|
152
|
+
BIN(trace_getinstancevariable),
|
|
153
|
+
BIN(trace_setinstancevariable),
|
|
154
|
+
BIN(trace_getclassvariable),
|
|
155
|
+
BIN(trace_setclassvariable),
|
|
156
|
+
BIN(trace_getconstant),
|
|
157
|
+
BIN(trace_setconstant),
|
|
158
|
+
BIN(trace_getglobal),
|
|
159
|
+
BIN(trace_setglobal),
|
|
160
|
+
BIN(trace_putnil),
|
|
161
|
+
BIN(trace_putself),
|
|
162
|
+
BIN(trace_putobject),
|
|
163
|
+
BIN(trace_putspecialobject),
|
|
164
|
+
BIN(trace_putiseq),
|
|
165
|
+
BIN(trace_putstring),
|
|
166
|
+
BIN(trace_concatstrings),
|
|
167
|
+
BIN(trace_tostring),
|
|
168
|
+
BIN(trace_freezestring),
|
|
169
|
+
BIN(trace_toregexp),
|
|
170
|
+
BIN(trace_intern),
|
|
171
|
+
BIN(trace_newarray),
|
|
172
|
+
BIN(trace_duparray),
|
|
173
|
+
BIN(trace_duphash),
|
|
174
|
+
BIN(trace_expandarray),
|
|
175
|
+
BIN(trace_concatarray),
|
|
176
|
+
BIN(trace_splatarray),
|
|
177
|
+
BIN(trace_newhash),
|
|
178
|
+
BIN(trace_newrange),
|
|
179
|
+
BIN(trace_pop),
|
|
180
|
+
BIN(trace_dup),
|
|
181
|
+
BIN(trace_dupn),
|
|
182
|
+
BIN(trace_swap),
|
|
183
|
+
BIN(trace_reverse),
|
|
184
|
+
BIN(trace_reput),
|
|
185
|
+
BIN(trace_topn),
|
|
186
|
+
BIN(trace_setn),
|
|
187
|
+
BIN(trace_adjuststack),
|
|
188
|
+
BIN(trace_defined),
|
|
189
|
+
BIN(trace_checkmatch),
|
|
190
|
+
BIN(trace_checkkeyword),
|
|
191
|
+
BIN(trace_checktype),
|
|
192
|
+
BIN(trace_defineclass),
|
|
193
|
+
BIN(trace_send),
|
|
194
|
+
BIN(trace_opt_send_without_block),
|
|
195
|
+
BIN(trace_opt_str_freeze),
|
|
196
|
+
BIN(trace_opt_str_uminus),
|
|
197
|
+
BIN(trace_opt_newarray_max),
|
|
198
|
+
BIN(trace_opt_newarray_min),
|
|
199
|
+
BIN(trace_invokesuper),
|
|
200
|
+
BIN(trace_invokeblock),
|
|
201
|
+
BIN(trace_leave),
|
|
202
|
+
BIN(trace_throw),
|
|
203
|
+
BIN(trace_jump),
|
|
204
|
+
BIN(trace_branchif),
|
|
205
|
+
BIN(trace_branchunless),
|
|
206
|
+
BIN(trace_branchnil),
|
|
207
|
+
BIN(trace_opt_getinlinecache),
|
|
208
|
+
BIN(trace_opt_setinlinecache),
|
|
209
|
+
BIN(trace_once),
|
|
210
|
+
BIN(trace_opt_case_dispatch),
|
|
211
|
+
BIN(trace_opt_plus),
|
|
212
|
+
BIN(trace_opt_minus),
|
|
213
|
+
BIN(trace_opt_mult),
|
|
214
|
+
BIN(trace_opt_div),
|
|
215
|
+
BIN(trace_opt_mod),
|
|
216
|
+
BIN(trace_opt_eq),
|
|
217
|
+
BIN(trace_opt_neq),
|
|
218
|
+
BIN(trace_opt_lt),
|
|
219
|
+
BIN(trace_opt_le),
|
|
220
|
+
BIN(trace_opt_gt),
|
|
221
|
+
BIN(trace_opt_ge),
|
|
222
|
+
BIN(trace_opt_ltlt),
|
|
223
|
+
BIN(trace_opt_and),
|
|
224
|
+
BIN(trace_opt_or),
|
|
225
|
+
BIN(trace_opt_aref),
|
|
226
|
+
BIN(trace_opt_aset),
|
|
227
|
+
BIN(trace_opt_aset_with),
|
|
228
|
+
BIN(trace_opt_aref_with),
|
|
229
|
+
BIN(trace_opt_length),
|
|
230
|
+
BIN(trace_opt_size),
|
|
231
|
+
BIN(trace_opt_empty_p),
|
|
232
|
+
BIN(trace_opt_succ),
|
|
233
|
+
BIN(trace_opt_not),
|
|
234
|
+
BIN(trace_opt_regexpmatch1),
|
|
235
|
+
BIN(trace_opt_regexpmatch2),
|
|
236
|
+
BIN(trace_opt_call_c_function),
|
|
237
|
+
BIN(trace_bitblt),
|
|
238
|
+
BIN(trace_answer),
|
|
239
|
+
BIN(trace_getlocal_WC_0),
|
|
240
|
+
BIN(trace_getlocal_WC_1),
|
|
241
|
+
BIN(trace_setlocal_WC_0),
|
|
242
|
+
BIN(trace_setlocal_WC_1),
|
|
243
|
+
BIN(trace_putobject_INT2FIX_0_),
|
|
244
|
+
BIN(trace_putobject_INT2FIX_1_),
|
|
245
|
+
VM_INSTRUCTION_SIZE
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
#define ASSERT_VM_INSTRUCTION_SIZE(array) \
|
|
249
|
+
STATIC_ASSERT(numberof_##array, numberof(array) == VM_INSTRUCTION_SIZE)
|