debase-ruby_core_source 0.10.14 → 0.10.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -0
- data/debase-ruby_core_source.gemspec +2 -2
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/addr2line.h +1 -1
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/str/str.h +16 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/dln.h +10 -9
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/gc.h +27 -10
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/known_errors.inc +16 -1
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node.h +115 -79
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node_name.inc +12 -22
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/optunifs.inc +28 -83
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/parse.h +74 -60
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regint.h +299 -211
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regparse.h +45 -37
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/ruby_atomic.h +84 -26
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/siphash.h +1 -1
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_pthread.h +14 -11
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_win32.h +2 -6
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/transcode_data.h +34 -12
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550/debug.h → ruby-2.5.4-p155/vm_debug.h} +4 -8
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_exec.h +38 -30
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
- data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_opts.h +14 -9
- data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/addr2line.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/builtin.h +84 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/list/list.h +789 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/str/str.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h +55 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/darray.h +226 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/debug_counter.h +469 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/dln.h +31 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/encindex.h +70 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/eval_intern.h +339 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/gc.h +143 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/hrtime.h +216 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id.h +295 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id_table.h +36 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns.inc +249 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns_info.inc +9064 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/array.h +113 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bignum.h +246 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bits.h +565 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/class.h +211 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cmdlineopt.h +61 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compar.h +49 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compile.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compilers.h +107 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/complex.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cont.h +24 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/dir.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enc.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/encoding.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enum.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enumerator.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/error.h +191 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/eval.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/file.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/fixnum.h +184 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/gc.h +188 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/hash.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/imemo.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/inits.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/io.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/load.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/loadpath.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/math.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/missing.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/numeric.h +271 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/object.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/parse.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/proc.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/process.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/ractor.h +6 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/random.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/range.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/rational.h +72 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/re.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/sanitizers.h +190 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/serial.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/signal.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/static_assert.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/string.h +141 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/struct.h +153 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/symbol.h +41 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/thread.h +53 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/time.h +34 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/transcode.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/util.h +27 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/variable.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/vm.h +134 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/warnings.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal.h +109 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/iseq.h +325 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/known_errors.inc +791 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/method.h +254 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit.h +231 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit_compile.inc +8333 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node.h +510 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node_name.inc +208 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/parse.h +214 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/probes_helper.h +44 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ractor_core.h +346 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regenc.h +255 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regint.h +957 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regparse.h +370 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_assert.h +14 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_atomic.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/siphash.h +48 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/symbol.h +119 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_none.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_pthread.h +115 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_win32.h +61 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/timev.h +57 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transcode_data.h +138 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transient_heap.h +65 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/variable.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/version.h +91 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm.inc +5481 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_call_iseq_optimized.inc +244 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_callinfo.h +502 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_core.h +2089 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_debug.h +113 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_exec.h +197 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_insnhelper.h +262 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_opts.h +73 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_sync.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vmtc.inc +243 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit.h +73 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_asm.h +408 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_codegen.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_core.h +307 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_iface.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/addr2line.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/builtin.h +121 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/build_assert/build_assert.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/check_type/check_type.h +63 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/container_of/container_of.h +142 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/list/list.h +789 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/str/str.h +17 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/constant.h +55 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/darray.h +179 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/debug_counter.h +469 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/dln.h +31 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/encindex.h +70 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/eval_intern.h +339 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/gc.h +143 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/hrtime.h +226 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id.h +295 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id_table.h +36 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/insns.inc +249 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/insns_info.inc +9061 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/array.h +162 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bignum.h +246 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bits.h +565 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/class.h +212 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cmdlineopt.h +58 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compar.h +49 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compile.h +35 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compilers.h +107 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/complex.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cont.h +26 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/dir.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enc.h +19 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/encoding.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enum.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enumerator.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/error.h +191 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/eval.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/file.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/fixnum.h +184 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/gc.h +188 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/hash.h +243 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/imemo.h +242 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/inits.h +50 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/io.h +38 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/load.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/loadpath.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/math.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/missing.h +18 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/numeric.h +271 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/object.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/parse.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/proc.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/process.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/ractor.h +6 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/random.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/range.h +40 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/rational.h +72 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/re.h +30 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/sanitizers.h +190 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/serial.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/signal.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/static_assert.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/string.h +146 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/struct.h +153 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/symbol.h +42 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/thread.h +54 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/time.h +34 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/transcode.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/util.h +27 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/variable.h +83 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/vm.h +134 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/warnings.h +16 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal.h +113 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/iseq.h +328 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/known_errors.inc +791 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/method.h +253 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit.h +136 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_compile_attr.inc +430 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_compiler.h +58 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_unit.h +29 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node.h +510 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node_name.inc +208 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/opt_sc.inc +109 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optinsn.inc +128 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optunifs.inc +43 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/parse.h +214 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/probes_helper.h +44 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ractor_core.h +341 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regenc.h +255 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regint.h +957 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regparse.h +370 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/revision.h +2 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_assert.h +14 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_atomic.h +23 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/siphash.h +48 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/symbol.h +119 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_none.h +20 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_pthread.h +132 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_win32.h +63 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/timev.h +57 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transcode_data.h +138 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transient_heap.h +65 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/variable.h +21 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/version.h +68 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm.inc +5476 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_call_iseq_optimized.inc +244 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_callinfo.h +522 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_core.h +2130 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_debug.h +122 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_exec.h +197 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_insnhelper.h +269 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_opts.h +73 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_sync.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vmtc.inc +243 -0
- data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/yjit.h +72 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +284 -44
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/constant.h +0 -34
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/encdb.h +0 -167
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/eval_intern.h +0 -234
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/id.h +0 -177
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns.inc +0 -179
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns_info.inc +0 -695
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/internal.h +0 -242
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/iseq.h +0 -126
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/method.h +0 -105
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/opt_sc.inc +0 -670
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optinsn.inc +0 -30
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regenc.h +0 -219
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/revision.h +0 -1
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/timev.h +0 -21
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transdb.h +0 -189
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/version.h +0 -52
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm.inc +0 -3054
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_core.h +0 -763
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_insnhelper.h +0 -220
- data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vmtc.inc +0 -97
@@ -1,10 +1,11 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef ONIGMO_REGPARSE_H
|
2
|
+
#define ONIGMO_REGPARSE_H
|
3
3
|
/**********************************************************************
|
4
|
-
regparse.h - Oniguruma (regular expression library)
|
4
|
+
regparse.h - Onigmo (Oniguruma-mod) (regular expression library)
|
5
5
|
**********************************************************************/
|
6
6
|
/*-
|
7
7
|
* Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
|
8
|
+
* Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp>
|
8
9
|
* All rights reserved.
|
9
10
|
*
|
10
11
|
* Redistribution and use in source and binary forms, with or without
|
@@ -31,9 +32,7 @@
|
|
31
32
|
|
32
33
|
#include "regint.h"
|
33
34
|
|
34
|
-
|
35
|
-
#pragma GCC visibility push(default)
|
36
|
-
#endif
|
35
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
37
36
|
|
38
37
|
/* node type */
|
39
38
|
#define NT_STR 0
|
@@ -68,7 +67,11 @@
|
|
68
67
|
BIT_NT_CANY | BIT_NT_BREF)) != 0)
|
69
68
|
|
70
69
|
#define NTYPE(node) ((node)->u.base.type)
|
71
|
-
#define SET_NTYPE(node, ntype)
|
70
|
+
#define SET_NTYPE(node, ntype) \
|
71
|
+
do { \
|
72
|
+
int value = ntype; \
|
73
|
+
memcpy(&((node)->u.base.type), &value, sizeof(int)); \
|
74
|
+
} while (0)
|
72
75
|
|
73
76
|
#define NSTR(node) (&((node)->u.str))
|
74
77
|
#define NCCLASS(node) (&((node)->u.cclass))
|
@@ -91,6 +94,8 @@
|
|
91
94
|
#define ENCLOSE_MEMORY (1<<0)
|
92
95
|
#define ENCLOSE_OPTION (1<<1)
|
93
96
|
#define ENCLOSE_STOP_BACKTRACK (1<<2)
|
97
|
+
#define ENCLOSE_CONDITION (1<<3)
|
98
|
+
#define ENCLOSE_ABSENT (1<<4)
|
94
99
|
|
95
100
|
#define NODE_STR_MARGIN 16
|
96
101
|
#define NODE_STR_BUF_SIZE 24 /* sizeof(CClassNode) - sizeof(int)*4 */
|
@@ -100,7 +105,7 @@
|
|
100
105
|
#define NSTR_AMBIG (1<<1)
|
101
106
|
#define NSTR_DONT_GET_OPT_INFO (1<<2)
|
102
107
|
|
103
|
-
#define NSTRING_LEN(node) (OnigDistance)((node)->u.str.end - (node)->u.str.s)
|
108
|
+
#define NSTRING_LEN(node) (OnigDistance )((node)->u.str.end - (node)->u.str.s)
|
104
109
|
#define NSTRING_SET_RAW(node) (node)->u.str.flag |= NSTR_RAW
|
105
110
|
#define NSTRING_CLEAR_RAW(node) (node)->u.str.flag &= ~NSTR_RAW
|
106
111
|
#define NSTRING_SET_AMBIG(node) (node)->u.str.flag |= NSTR_AMBIG
|
@@ -150,6 +155,7 @@
|
|
150
155
|
#define IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT(en) \
|
151
156
|
(((en)->state & NST_STOP_BT_SIMPLE_REPEAT) != 0)
|
152
157
|
#define IS_ENCLOSE_NAMED_GROUP(en) (((en)->state & NST_NAMED_GROUP) != 0)
|
158
|
+
#define IS_ENCLOSE_NAME_REF(en) (((en)->state & NST_NAME_REF) != 0)
|
153
159
|
|
154
160
|
#define SET_CALL_RECURSION(node) (node)->u.call.state |= NST_RECURSION
|
155
161
|
#define IS_CALL_RECURSION(cn) (((cn)->state & NST_RECURSION) != 0)
|
@@ -192,8 +198,8 @@ typedef struct {
|
|
192
198
|
int type;
|
193
199
|
int regnum;
|
194
200
|
OnigOptionType option;
|
195
|
-
struct _Node* target;
|
196
201
|
AbsAddrType call_addr;
|
202
|
+
struct _Node* target;
|
197
203
|
/* for multiple call reference */
|
198
204
|
OnigDistance min_len; /* min length (byte) */
|
199
205
|
OnigDistance max_len; /* max length (byte) */
|
@@ -240,6 +246,7 @@ typedef struct {
|
|
240
246
|
int type;
|
241
247
|
struct _Node* target;
|
242
248
|
int char_len;
|
249
|
+
int ascii_range;
|
243
250
|
} AnchorNode;
|
244
251
|
|
245
252
|
typedef struct {
|
@@ -252,6 +259,7 @@ typedef struct {
|
|
252
259
|
NodeBase base;
|
253
260
|
int ctype;
|
254
261
|
int not;
|
262
|
+
int ascii_range;
|
255
263
|
} CtypeNode;
|
256
264
|
|
257
265
|
typedef struct _Node {
|
@@ -293,10 +301,10 @@ typedef struct {
|
|
293
301
|
UChar* error;
|
294
302
|
UChar* error_end;
|
295
303
|
regex_t* reg; /* for reg->names only */
|
296
|
-
int num_call;
|
297
304
|
#ifdef USE_SUBEXP_CALL
|
298
305
|
UnsetAddrList* unset_addr_list;
|
299
306
|
#endif
|
307
|
+
int num_call;
|
300
308
|
int num_mem;
|
301
309
|
#ifdef USE_NAMED_GROUP
|
302
310
|
int num_named;
|
@@ -310,9 +318,12 @@ typedef struct {
|
|
310
318
|
int curr_max_regnum;
|
311
319
|
int has_recursion;
|
312
320
|
#endif
|
321
|
+
unsigned int parse_depth;
|
313
322
|
int warnings_flag;
|
323
|
+
#ifdef RUBY
|
314
324
|
const char* sourcefile;
|
315
325
|
int sourceline;
|
326
|
+
#endif
|
316
327
|
} ScanEnv;
|
317
328
|
|
318
329
|
|
@@ -325,38 +336,35 @@ typedef struct {
|
|
325
336
|
int new_val;
|
326
337
|
} GroupNumRemap;
|
327
338
|
|
328
|
-
extern int onig_renumber_name_table
|
339
|
+
extern int onig_renumber_name_table(regex_t* reg, GroupNumRemap* map);
|
329
340
|
#endif
|
330
341
|
|
331
|
-
extern int onig_strncmp
|
332
|
-
extern void onig_strcpy
|
333
|
-
extern void onig_scan_env_set_error_string
|
334
|
-
extern int onig_scan_unsigned_number
|
335
|
-
extern void onig_reduce_nested_quantifier
|
336
|
-
extern void onig_node_conv_to_str_node
|
337
|
-
extern int onig_node_str_cat
|
338
|
-
extern int onig_node_str_set
|
339
|
-
extern void onig_node_free
|
340
|
-
extern Node* onig_node_new_enclose
|
341
|
-
extern Node* onig_node_new_anchor
|
342
|
-
extern Node* onig_node_new_str
|
343
|
-
extern Node* onig_node_new_list
|
344
|
-
extern Node* onig_node_list_add
|
345
|
-
extern Node* onig_node_new_alt
|
346
|
-
extern void onig_node_str_clear
|
347
|
-
extern int
|
348
|
-
extern int
|
349
|
-
extern int
|
350
|
-
extern int onig_free_shared_cclass_table P_((void));
|
342
|
+
extern int onig_strncmp(const UChar* s1, const UChar* s2, int n);
|
343
|
+
extern void onig_strcpy(UChar* dest, const UChar* src, const UChar* end);
|
344
|
+
extern void onig_scan_env_set_error_string(ScanEnv* env, int ecode, UChar* arg, UChar* arg_end);
|
345
|
+
extern int onig_scan_unsigned_number(UChar** src, const UChar* end, OnigEncoding enc);
|
346
|
+
extern void onig_reduce_nested_quantifier(Node* pnode, Node* cnode);
|
347
|
+
extern void onig_node_conv_to_str_node(Node* node, int raw);
|
348
|
+
extern int onig_node_str_cat(Node* node, const UChar* s, const UChar* end);
|
349
|
+
extern int onig_node_str_set(Node* node, const UChar* s, const UChar* end);
|
350
|
+
extern void onig_node_free(Node* node);
|
351
|
+
extern Node* onig_node_new_enclose(int type);
|
352
|
+
extern Node* onig_node_new_anchor(int type);
|
353
|
+
extern Node* onig_node_new_str(const UChar* s, const UChar* end);
|
354
|
+
extern Node* onig_node_new_list(Node* left, Node* right);
|
355
|
+
extern Node* onig_node_list_add(Node* list, Node* x);
|
356
|
+
extern Node* onig_node_new_alt(Node* left, Node* right);
|
357
|
+
extern void onig_node_str_clear(Node* node);
|
358
|
+
extern int onig_names_free(regex_t* reg);
|
359
|
+
extern int onig_parse_make_tree(Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env);
|
360
|
+
extern int onig_free_shared_cclass_table(void);
|
351
361
|
|
352
362
|
#ifdef ONIG_DEBUG
|
353
|
-
#ifdef USE_NAMED_GROUP
|
363
|
+
# ifdef USE_NAMED_GROUP
|
354
364
|
extern int onig_print_names(FILE*, regex_t*);
|
355
|
-
#endif
|
365
|
+
# endif
|
356
366
|
#endif
|
357
367
|
|
358
|
-
|
359
|
-
#pragma GCC visibility pop
|
360
|
-
#endif
|
368
|
+
RUBY_SYMBOL_EXPORT_END
|
361
369
|
|
362
|
-
#endif /*
|
370
|
+
#endif /* ONIGMO_REGPARSE_H */
|
@@ -0,0 +1 @@
|
|
1
|
+
#define RUBY_REVISION 67245
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#ifndef RUBY_ASSERT_H
|
2
|
+
#define RUBY_ASSERT_H
|
3
|
+
|
4
|
+
#include "ruby/ruby.h"
|
5
|
+
|
6
|
+
#if defined(__cplusplus)
|
7
|
+
extern "C" {
|
8
|
+
#if 0
|
9
|
+
} /* satisfy cc-mode */
|
10
|
+
#endif
|
11
|
+
#endif
|
12
|
+
|
13
|
+
NORETURN(void rb_assert_failure(const char *, int, const char *, const char *));
|
14
|
+
#ifdef RUBY_FUNCTION_NAME_STRING
|
15
|
+
# define RUBY_ASSERT_FAIL(expr) \
|
16
|
+
rb_assert_failure(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, expr)
|
17
|
+
#else
|
18
|
+
# define RUBY_ASSERT_FAIL(expr) \
|
19
|
+
rb_assert_failure(__FILE__, __LINE__, NULL, expr)
|
20
|
+
#endif
|
21
|
+
#define RUBY_ASSERT_MESG(expr, mesg) \
|
22
|
+
((expr) ? (void)0 : RUBY_ASSERT_FAIL(mesg))
|
23
|
+
#ifdef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
|
24
|
+
# define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
|
25
|
+
__builtin_choose_expr( \
|
26
|
+
__builtin_constant_p(cond), \
|
27
|
+
__builtin_choose_expr(cond, RUBY_ASSERT_MESG(expr, mesg), (void)0), \
|
28
|
+
RUBY_ASSERT_MESG(!(cond) || (expr), mesg))
|
29
|
+
#else
|
30
|
+
# define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
|
31
|
+
RUBY_ASSERT_MESG(!(cond) || (expr), mesg)
|
32
|
+
#endif
|
33
|
+
#define RUBY_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(!RUBY_NDEBUG+0, expr, #expr)
|
34
|
+
#define RUBY_ASSERT_WHEN(cond, expr) RUBY_ASSERT_MESG_WHEN(cond, expr, #expr)
|
35
|
+
|
36
|
+
#undef assert
|
37
|
+
#define assert RUBY_ASSERT
|
38
|
+
|
39
|
+
#ifndef RUBY_NDEBUG
|
40
|
+
# ifdef NDEBUG
|
41
|
+
# define RUBY_NDEBUG 1
|
42
|
+
# else
|
43
|
+
# define RUBY_NDEBUG 0
|
44
|
+
# endif
|
45
|
+
#endif
|
46
|
+
|
47
|
+
#if defined(__cplusplus)
|
48
|
+
#if 0
|
49
|
+
{ /* satisfy cc-mode */
|
50
|
+
#endif
|
51
|
+
} /* extern "C" { */
|
52
|
+
#endif
|
53
|
+
|
54
|
+
#endif
|
@@ -7,24 +7,17 @@ typedef unsigned int rb_atomic_t;
|
|
7
7
|
# define ATOMIC_SET(var, val) (void)__atomic_exchange_n(&(var), (val), __ATOMIC_SEQ_CST)
|
8
8
|
# define ATOMIC_INC(var) __atomic_fetch_add(&(var), 1, __ATOMIC_SEQ_CST)
|
9
9
|
# define ATOMIC_DEC(var) __atomic_fetch_sub(&(var), 1, __ATOMIC_SEQ_CST)
|
10
|
-
# define ATOMIC_OR(var, val)
|
10
|
+
# define ATOMIC_OR(var, val) __atomic_fetch_or(&(var), (val), __ATOMIC_SEQ_CST)
|
11
11
|
# define ATOMIC_EXCHANGE(var, val) __atomic_exchange_n(&(var), (val), __ATOMIC_SEQ_CST)
|
12
12
|
# define ATOMIC_CAS(var, oldval, newval) \
|
13
|
-
({ __typeof__(
|
13
|
+
({ __typeof__(var) oldvaldup = (oldval); /* oldval should not be modified */ \
|
14
14
|
__atomic_compare_exchange_n(&(var), &oldvaldup, (newval), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); \
|
15
15
|
oldvaldup; })
|
16
16
|
|
17
17
|
# define ATOMIC_SIZE_ADD(var, val) __atomic_fetch_add(&(var), (val), __ATOMIC_SEQ_CST)
|
18
18
|
# define ATOMIC_SIZE_SUB(var, val) __atomic_fetch_sub(&(var), (val), __ATOMIC_SEQ_CST)
|
19
|
-
# define ATOMIC_SIZE_INC(var) __atomic_fetch_add(&(var), 1, __ATOMIC_SEQ_CST)
|
20
|
-
# define ATOMIC_SIZE_DEC(var) __atomic_fetch_sub(&(var), 1, __ATOMIC_SEQ_CST)
|
21
|
-
# define ATOMIC_SIZE_EXCHANGE(var, val) __atomic_exchange_n(&(var), (val), __ATOMIC_SEQ_CST)
|
22
|
-
# define ATOMIC_SIZE_CAS(var, oldval, newval) \
|
23
|
-
({ size_t oldvaldup = (oldval); \
|
24
|
-
__atomic_compare_exchange_n(&(var), &oldvaldup, (newval), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); \
|
25
|
-
oldvaldup; })
|
26
19
|
|
27
|
-
# define
|
20
|
+
# define RUBY_ATOMIC_GENERIC_MACRO 1
|
28
21
|
|
29
22
|
#elif defined HAVE_GCC_SYNC_BUILTINS
|
30
23
|
/* @shyouhei hack to support atomic operations in case of gcc. Gcc
|
@@ -35,18 +28,14 @@ typedef unsigned int rb_atomic_t; /* Anything OK */
|
|
35
28
|
# define ATOMIC_SET(var, val) (void)__sync_lock_test_and_set(&(var), (val))
|
36
29
|
# define ATOMIC_INC(var) __sync_fetch_and_add(&(var), 1)
|
37
30
|
# define ATOMIC_DEC(var) __sync_fetch_and_sub(&(var), 1)
|
38
|
-
# define ATOMIC_OR(var, val)
|
31
|
+
# define ATOMIC_OR(var, val) __sync_fetch_and_or(&(var), (val))
|
39
32
|
# define ATOMIC_EXCHANGE(var, val) __sync_lock_test_and_set(&(var), (val))
|
40
33
|
# define ATOMIC_CAS(var, oldval, newval) __sync_val_compare_and_swap(&(var), (oldval), (newval))
|
41
34
|
|
42
35
|
# define ATOMIC_SIZE_ADD(var, val) __sync_fetch_and_add(&(var), (val))
|
43
36
|
# define ATOMIC_SIZE_SUB(var, val) __sync_fetch_and_sub(&(var), (val))
|
44
|
-
# define ATOMIC_SIZE_INC(var) __sync_fetch_and_add(&(var), 1)
|
45
|
-
# define ATOMIC_SIZE_DEC(var) __sync_fetch_and_sub(&(var), 1)
|
46
|
-
# define ATOMIC_SIZE_EXCHANGE(var, val) __sync_lock_test_and_set(&(var), (val))
|
47
|
-
# define ATOMIC_PTR_EXCHANGE(var, val) __sync_lock_test_and_set(&(var), (val))
|
48
37
|
|
49
|
-
# define
|
38
|
+
# define RUBY_ATOMIC_GENERIC_MACRO 1
|
50
39
|
|
51
40
|
#elif defined _WIN32
|
52
41
|
#if defined _MSC_VER && _MSC_VER > 1200
|
@@ -77,7 +66,6 @@ rb_w32_atomic_or(volatile rb_atomic_t *var, rb_atomic_t val)
|
|
77
66
|
#endif
|
78
67
|
# define ATOMIC_EXCHANGE(var, val) InterlockedExchange(&(var), (val))
|
79
68
|
# define ATOMIC_CAS(var, oldval, newval) InterlockedCompareExchange(&(var), (newval), (oldval))
|
80
|
-
|
81
69
|
# if defined _MSC_VER && _MSC_VER <= 1200
|
82
70
|
static inline rb_atomic_t
|
83
71
|
rb_w32_atomic_cas(volatile rb_atomic_t *var, rb_atomic_t oldval, rb_atomic_t newval)
|
@@ -88,15 +76,15 @@ rb_w32_atomic_cas(volatile rb_atomic_t *var, rb_atomic_t oldval, rb_atomic_t new
|
|
88
76
|
# define ATOMIC_CAS(var, oldval, newval) rb_w32_atomic_cas(&(var), (oldval), (newval))
|
89
77
|
# endif
|
90
78
|
# ifdef _M_AMD64
|
91
|
-
# define ATOMIC_SIZE_ADD(var, val) InterlockedExchangeAdd64(&(var), (val))
|
92
|
-
# define ATOMIC_SIZE_SUB(var, val) InterlockedExchangeAdd64(&(var), -(val))
|
79
|
+
# define ATOMIC_SIZE_ADD(var, val) InterlockedExchangeAdd64((LONG_LONG *)&(var), (val))
|
80
|
+
# define ATOMIC_SIZE_SUB(var, val) InterlockedExchangeAdd64((LONG_LONG *)&(var), -(LONG)(val))
|
93
81
|
# define ATOMIC_SIZE_INC(var) InterlockedIncrement64(&(var))
|
94
82
|
# define ATOMIC_SIZE_DEC(var) InterlockedDecrement64(&(var))
|
95
83
|
# define ATOMIC_SIZE_EXCHANGE(var, val) InterlockedExchange64(&(var), (val))
|
96
|
-
# define ATOMIC_SIZE_CAS(var, oldval,
|
84
|
+
# define ATOMIC_SIZE_CAS(var, oldval, newval) InterlockedCompareExchange64(&(var), (newval), (oldval))
|
97
85
|
# else
|
98
86
|
# define ATOMIC_SIZE_ADD(var, val) InterlockedExchangeAdd((LONG *)&(var), (val))
|
99
|
-
# define ATOMIC_SIZE_SUB(var, val) InterlockedExchangeAdd((LONG *)&(var), -(val))
|
87
|
+
# define ATOMIC_SIZE_SUB(var, val) InterlockedExchangeAdd((LONG *)&(var), -(LONG)(val))
|
100
88
|
# define ATOMIC_SIZE_INC(var) InterlockedIncrement((LONG *)&(var))
|
101
89
|
# define ATOMIC_SIZE_DEC(var) InterlockedDecrement((LONG *)&(var))
|
102
90
|
# define ATOMIC_SIZE_EXCHANGE(var, val) InterlockedExchange((LONG *)&(var), (val))
|
@@ -130,7 +118,7 @@ typedef unsigned int rb_atomic_t;
|
|
130
118
|
|
131
119
|
#else
|
132
120
|
typedef int rb_atomic_t;
|
133
|
-
#define
|
121
|
+
#define NEED_RUBY_ATOMIC_OPS
|
134
122
|
extern rb_atomic_t ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val);
|
135
123
|
extern rb_atomic_t ruby_atomic_compare_and_swap(rb_atomic_t *ptr,
|
136
124
|
rb_atomic_t cmp,
|
@@ -145,11 +133,9 @@ extern rb_atomic_t ruby_atomic_compare_and_swap(rb_atomic_t *ptr,
|
|
145
133
|
|
146
134
|
# define ATOMIC_SIZE_ADD(var, val) (void)((var) += (val))
|
147
135
|
# define ATOMIC_SIZE_SUB(var, val) (void)((var) -= (val))
|
148
|
-
# define
|
149
|
-
# define ATOMIC_SIZE_DEC(var) ((var)--)
|
150
|
-
# define ATOMIC_SIZE_EXCHANGE(var, val) atomic_size_exchange(&(var), (val))
|
136
|
+
# define ATOMIC_SIZE_EXCHANGE(var, val) ruby_atomic_size_exchange(&(var), (val))
|
151
137
|
static inline size_t
|
152
|
-
|
138
|
+
ruby_atomic_size_exchange(size_t *ptr, size_t val)
|
153
139
|
{
|
154
140
|
size_t old = *ptr;
|
155
141
|
*ptr = val;
|
@@ -157,18 +143,90 @@ atomic_size_exchange(size_t *ptr, size_t val)
|
|
157
143
|
}
|
158
144
|
#endif
|
159
145
|
|
146
|
+
#ifndef ATOMIC_SIZE_INC
|
147
|
+
# define ATOMIC_SIZE_INC(var) ATOMIC_INC(var)
|
148
|
+
#endif
|
149
|
+
#ifndef ATOMIC_SIZE_DEC
|
150
|
+
# define ATOMIC_SIZE_DEC(var) ATOMIC_DEC(var)
|
151
|
+
#endif
|
152
|
+
#ifndef ATOMIC_SIZE_EXCHANGE
|
153
|
+
# define ATOMIC_SIZE_EXCHANGE(var, val) ATOMIC_EXCHANGE(var, val)
|
154
|
+
#endif
|
160
155
|
#ifndef ATOMIC_SIZE_CAS
|
161
156
|
# define ATOMIC_SIZE_CAS(var, oldval, val) ATOMIC_CAS(var, oldval, val)
|
162
157
|
#endif
|
163
158
|
|
159
|
+
#if RUBY_ATOMIC_GENERIC_MACRO
|
160
|
+
# ifndef ATOMIC_PTR_EXCHANGE
|
161
|
+
# define ATOMIC_PTR_EXCHANGE(var, val) ATOMIC_EXCHANGE(var, val)
|
162
|
+
# endif
|
163
|
+
# ifndef ATOMIC_PTR_CAS
|
164
|
+
# define ATOMIC_PTR_CAS(var, oldval, newval) ATOMIC_CAS(var, oldval, newval)
|
165
|
+
# endif
|
166
|
+
|
167
|
+
# ifndef ATOMIC_VALUE_EXCHANGE
|
168
|
+
# define ATOMIC_VALUE_EXCHANGE(var, val) ATOMIC_EXCHANGE(var, val)
|
169
|
+
# endif
|
170
|
+
# ifndef ATOMIC_VALUE_CAS
|
171
|
+
# define ATOMIC_VALUE_CAS(var, oldval, val) ATOMIC_CAS(var, oldval, val)
|
172
|
+
# endif
|
173
|
+
#endif
|
174
|
+
|
164
175
|
#ifndef ATOMIC_PTR_EXCHANGE
|
165
176
|
# if SIZEOF_VOIDP == SIZEOF_SIZE_T
|
166
177
|
# define ATOMIC_PTR_EXCHANGE(var, val) (void *)ATOMIC_SIZE_EXCHANGE(*(size_t *)&(var), (size_t)(val))
|
178
|
+
# else
|
179
|
+
# define ATOMIC_PTR_EXCHANGE(var, val) ruby_atomic_ptr_exchange((const void **)&(var), (val))
|
180
|
+
static inline void *
|
181
|
+
ruby_atomic_ptr_exchange(const void **ptr, const void *val)
|
182
|
+
{
|
183
|
+
const void *const old = *ptr;
|
184
|
+
*ptr = val;
|
185
|
+
return (void *)old;
|
186
|
+
}
|
167
187
|
# endif
|
168
188
|
#endif
|
169
189
|
#ifndef ATOMIC_PTR_CAS
|
170
190
|
# if SIZEOF_VOIDP == SIZEOF_SIZE_T
|
171
191
|
# define ATOMIC_PTR_CAS(var, oldval, val) (void *)ATOMIC_SIZE_CAS(*(size_t *)&(var), (size_t)(oldval), (size_t)(val))
|
192
|
+
# else
|
193
|
+
# define ATOMIC_PTR_CAS(var, oldval, val) ruby_atomic_ptr_cas(&(var), (oldval), (val))
|
194
|
+
static inline void *
|
195
|
+
ruby_atomic_ptr_cas(const void **ptr, const void *oldval, const void *val)
|
196
|
+
{
|
197
|
+
const void *const old = *ptr;
|
198
|
+
if (old == oldval) *ptr = val;
|
199
|
+
return (void *)old;
|
200
|
+
}
|
201
|
+
# endif
|
202
|
+
#endif
|
203
|
+
|
204
|
+
#ifndef ATOMIC_VALUE_EXCHANGE
|
205
|
+
# if SIZEOF_VALUE == SIZEOF_SIZE_T
|
206
|
+
# define ATOMIC_VALUE_EXCHANGE(var, val) ATOMIC_SIZE_EXCHANGE(*(size_t *)&(var), (size_t)(val))
|
207
|
+
# else
|
208
|
+
# define ATOMIC_VALUE_EXCHANGE(var, val) ruby_atomic_value_exchange(&(var), (val))
|
209
|
+
static inline VALUE
|
210
|
+
ruby_atomic_value_exchange(VALUE *ptr, VALUE val)
|
211
|
+
{
|
212
|
+
const VALUE old = *ptr;
|
213
|
+
*ptr = val;
|
214
|
+
return old;
|
215
|
+
}
|
216
|
+
# endif
|
217
|
+
#endif
|
218
|
+
#ifndef ATOMIC_VALUE_CAS
|
219
|
+
# if SIZEOF_VALUE == SIZEOF_SIZE_T
|
220
|
+
# define ATOMIC_VALUE_CAS(var, oldval, val) ATOMIC_SIZE_CAS(*(size_t *)&(var), (size_t)(oldval), (size_t)(val))
|
221
|
+
# else
|
222
|
+
# define ATOMIC_VALUE_CAS(var, oldval, val) ruby_atomic_value_cas(&(var), (oldval), (val))
|
223
|
+
static inline VALUE
|
224
|
+
ruby_atomic_value_cas(VALUE *ptr, VALUE oldval, VALUE val)
|
225
|
+
{
|
226
|
+
const VALUE old = *ptr;
|
227
|
+
if (old == oldval) *ptr = val;
|
228
|
+
return old;
|
229
|
+
}
|
172
230
|
# endif
|
173
231
|
#endif
|
174
232
|
|
@@ -43,6 +43,6 @@ int sip_hash_digest_integer(sip_hash *h, const uint8_t *data, size_t data_len, u
|
|
43
43
|
void sip_hash_free(sip_hash *h);
|
44
44
|
void sip_hash_dump(sip_hash *h);
|
45
45
|
|
46
|
-
uint64_t
|
46
|
+
uint64_t sip_hash13(const uint8_t key[16], const uint8_t *data, size_t len);
|
47
47
|
|
48
48
|
#endif
|
@@ -0,0 +1,108 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
|
3
|
+
symbol.h -
|
4
|
+
|
5
|
+
$Author$
|
6
|
+
created at: Tue Jul 8 15:49:54 JST 2014
|
7
|
+
|
8
|
+
Copyright (C) 2014 Yukihiro Matsumoto
|
9
|
+
|
10
|
+
**********************************************************************/
|
11
|
+
|
12
|
+
#ifndef RUBY_SYMBOL_H
|
13
|
+
#define RUBY_SYMBOL_H 1
|
14
|
+
|
15
|
+
#include "id.h"
|
16
|
+
|
17
|
+
#define DYNAMIC_ID_P(id) (!(id&ID_STATIC_SYM)&&id>tLAST_OP_ID)
|
18
|
+
#define STATIC_ID2SYM(id) (((VALUE)(id)<<RUBY_SPECIAL_SHIFT)|SYMBOL_FLAG)
|
19
|
+
|
20
|
+
#ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
|
21
|
+
#define rb_id2sym(id) \
|
22
|
+
RB_GNUC_EXTENSION_BLOCK(__builtin_constant_p(id) && !DYNAMIC_ID_P(id) ? \
|
23
|
+
STATIC_ID2SYM(id) : rb_id2sym(id))
|
24
|
+
#endif
|
25
|
+
|
26
|
+
struct RSymbol {
|
27
|
+
struct RBasic basic;
|
28
|
+
st_index_t hashval;
|
29
|
+
VALUE fstr;
|
30
|
+
ID id;
|
31
|
+
};
|
32
|
+
|
33
|
+
#define RSYMBOL(obj) (R_CAST(RSymbol)(obj))
|
34
|
+
|
35
|
+
#define is_notop_id(id) ((id)>tLAST_OP_ID)
|
36
|
+
#define is_local_id(id) (id_type(id)==ID_LOCAL)
|
37
|
+
#define is_global_id(id) (id_type(id)==ID_GLOBAL)
|
38
|
+
#define is_instance_id(id) (id_type(id)==ID_INSTANCE)
|
39
|
+
#define is_attrset_id(id) ((id)==idASET||id_type(id)==ID_ATTRSET)
|
40
|
+
#define is_const_id(id) (id_type(id)==ID_CONST)
|
41
|
+
#define is_class_id(id) (id_type(id)==ID_CLASS)
|
42
|
+
#define is_junk_id(id) (id_type(id)==ID_JUNK)
|
43
|
+
|
44
|
+
static inline int
|
45
|
+
id_type(ID id)
|
46
|
+
{
|
47
|
+
if (is_notop_id(id)) {
|
48
|
+
return (int)(id&ID_SCOPE_MASK);
|
49
|
+
}
|
50
|
+
else {
|
51
|
+
return -1;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
typedef uint32_t rb_id_serial_t;
|
56
|
+
|
57
|
+
static inline rb_id_serial_t
|
58
|
+
rb_id_to_serial(ID id)
|
59
|
+
{
|
60
|
+
if (is_notop_id(id)) {
|
61
|
+
return (rb_id_serial_t)(id >> ID_SCOPE_SHIFT);
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
return (rb_id_serial_t)id;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
static inline int
|
69
|
+
sym_type(VALUE sym)
|
70
|
+
{
|
71
|
+
ID id;
|
72
|
+
if (STATIC_SYM_P(sym)) {
|
73
|
+
id = RSHIFT(sym, RUBY_SPECIAL_SHIFT);
|
74
|
+
if (id<=tLAST_OP_ID) {
|
75
|
+
return -1;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
else {
|
79
|
+
id = RSYMBOL(sym)->id;
|
80
|
+
}
|
81
|
+
return (int)(id&ID_SCOPE_MASK);
|
82
|
+
}
|
83
|
+
|
84
|
+
#define is_local_sym(sym) (sym_type(sym)==ID_LOCAL)
|
85
|
+
#define is_global_sym(sym) (sym_type(sym)==ID_GLOBAL)
|
86
|
+
#define is_instance_sym(sym) (sym_type(sym)==ID_INSTANCE)
|
87
|
+
#define is_attrset_sym(sym) (sym_type(sym)==ID_ATTRSET)
|
88
|
+
#define is_const_sym(sym) (sym_type(sym)==ID_CONST)
|
89
|
+
#define is_class_sym(sym) (sym_type(sym)==ID_CLASS)
|
90
|
+
#define is_junk_sym(sym) (sym_type(sym)==ID_JUNK)
|
91
|
+
|
92
|
+
RUBY_FUNC_EXPORTED const unsigned int ruby_global_name_punct_bits[(0x7e - 0x20 + 31) / 32];
|
93
|
+
|
94
|
+
static inline int
|
95
|
+
is_global_name_punct(const int c)
|
96
|
+
{
|
97
|
+
if (c <= 0x20 || 0x7e < c) return 0;
|
98
|
+
return (ruby_global_name_punct_bits[(c - 0x20) / 32] >> (c % 32)) & 1;
|
99
|
+
}
|
100
|
+
|
101
|
+
ID rb_intern_cstr_without_pindown(const char *, long, rb_encoding *);
|
102
|
+
|
103
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
104
|
+
|
105
|
+
size_t rb_sym_immortal_count(void);
|
106
|
+
|
107
|
+
RUBY_SYMBOL_EXPORT_END
|
108
|
+
#endif
|
@@ -11,39 +11,42 @@
|
|
11
11
|
#ifndef RUBY_THREAD_PTHREAD_H
|
12
12
|
#define RUBY_THREAD_PTHREAD_H
|
13
13
|
|
14
|
-
#include <pthread.h>
|
15
14
|
#ifdef HAVE_PTHREAD_NP_H
|
16
15
|
#include <pthread_np.h>
|
17
16
|
#endif
|
18
|
-
|
19
|
-
|
17
|
+
|
18
|
+
#define RB_NATIVETHREAD_LOCK_INIT PTHREAD_MUTEX_INITIALIZER
|
19
|
+
#define RB_NATIVETHREAD_COND_INIT { PTHREAD_COND_INITIALIZER, }
|
20
20
|
|
21
21
|
typedef struct rb_thread_cond_struct {
|
22
22
|
pthread_cond_t cond;
|
23
23
|
#ifdef HAVE_CLOCKID_T
|
24
24
|
clockid_t clockid;
|
25
25
|
#endif
|
26
|
-
}
|
26
|
+
} rb_nativethread_cond_t;
|
27
27
|
|
28
28
|
typedef struct native_thread_data_struct {
|
29
|
-
|
30
|
-
|
29
|
+
struct list_node ubf_list;
|
30
|
+
rb_nativethread_cond_t sleep_cond;
|
31
31
|
} native_thread_data_t;
|
32
32
|
|
33
|
-
#
|
33
|
+
#undef except
|
34
|
+
#undef try
|
35
|
+
#undef leave
|
36
|
+
#undef finally
|
34
37
|
|
35
38
|
typedef struct rb_global_vm_lock_struct {
|
36
39
|
/* fast path */
|
37
40
|
unsigned long acquired;
|
38
|
-
|
41
|
+
rb_nativethread_lock_t lock;
|
39
42
|
|
40
43
|
/* slow path */
|
41
44
|
volatile unsigned long waiting;
|
42
|
-
|
45
|
+
rb_nativethread_cond_t cond;
|
43
46
|
|
44
47
|
/* yield */
|
45
|
-
|
46
|
-
|
48
|
+
rb_nativethread_cond_t switch_cond;
|
49
|
+
rb_nativethread_cond_t switch_wait_cond;
|
47
50
|
int need_yield;
|
48
51
|
int wait_yield;
|
49
52
|
} rb_global_vm_lock_t;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
thread_win32.h -
|
4
4
|
|
5
|
-
$Author:
|
5
|
+
$Author: ko1 $
|
6
6
|
|
7
7
|
Copyright (C) 2004-2007 Koichi Sasada
|
8
8
|
|
@@ -12,8 +12,6 @@
|
|
12
12
|
#ifndef RUBY_THREAD_WIN32_H
|
13
13
|
#define RUBY_THREAD_WIN32_H
|
14
14
|
|
15
|
-
#include <windows.h>
|
16
|
-
|
17
15
|
# ifdef __CYGWIN__
|
18
16
|
# undef _WIN32
|
19
17
|
# endif
|
@@ -21,12 +19,10 @@
|
|
21
19
|
WINBASEAPI BOOL WINAPI
|
22
20
|
TryEnterCriticalSection(IN OUT LPCRITICAL_SECTION lpCriticalSection);
|
23
21
|
|
24
|
-
typedef HANDLE rb_thread_id_t;
|
25
|
-
typedef CRITICAL_SECTION rb_thread_lock_t;
|
26
22
|
typedef struct rb_thread_cond_struct {
|
27
23
|
struct cond_event_entry *next;
|
28
24
|
struct cond_event_entry *prev;
|
29
|
-
}
|
25
|
+
} rb_nativethread_cond_t;
|
30
26
|
|
31
27
|
typedef struct native_thread_data_struct {
|
32
28
|
HANDLE interrupt_event;
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#ifndef RUBY_TIMEV_H
|
2
|
+
#define RUBY_TIMEV_H
|
3
|
+
|
4
|
+
PACKED_STRUCT_UNALIGNED(struct vtm {
|
5
|
+
VALUE year; /* 2000 for example. Integer. */
|
6
|
+
VALUE subsecx; /* 0 <= subsecx < TIME_SCALE. possibly Rational. */
|
7
|
+
VALUE utc_offset; /* -3600 as -01:00 for example. possibly Rational. */
|
8
|
+
const char *zone; /* "JST", "EST", "EDT", etc. */
|
9
|
+
uint16_t yday:9; /* 1..366 */
|
10
|
+
uint8_t mon:4; /* 1..12 */
|
11
|
+
uint8_t mday:5; /* 1..31 */
|
12
|
+
uint8_t hour:5; /* 0..23 */
|
13
|
+
uint8_t min:6; /* 0..59 */
|
14
|
+
uint8_t sec:6; /* 0..60 */
|
15
|
+
uint8_t wday:3; /* 0:Sunday, 1:Monday, ..., 6:Saturday 7:init */
|
16
|
+
uint8_t isdst:2; /* 0:StandardTime 1:DayLightSavingTime 3:init */
|
17
|
+
});
|
18
|
+
|
19
|
+
#define TIME_SCALE 1000000000
|
20
|
+
|
21
|
+
#ifndef TYPEOF_TIMEVAL_TV_SEC
|
22
|
+
# define TYPEOF_TIMEVAL_TV_SEC time_t
|
23
|
+
#endif
|
24
|
+
#ifndef TYPEOF_TIMEVAL_TV_USEC
|
25
|
+
# if INT_MAX >= 1000000
|
26
|
+
# define TYPEOF_TIMEVAL_TV_USEC int
|
27
|
+
# else
|
28
|
+
# define TYPEOF_TIMEVAL_TV_USEC long
|
29
|
+
# endif
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#if SIZEOF_TIME_T == SIZEOF_LONG
|
33
|
+
typedef unsigned long unsigned_time_t;
|
34
|
+
#elif SIZEOF_TIME_T == SIZEOF_INT
|
35
|
+
typedef unsigned int unsigned_time_t;
|
36
|
+
#elif SIZEOF_TIME_T == SIZEOF_LONG_LONG
|
37
|
+
typedef unsigned LONG_LONG unsigned_time_t;
|
38
|
+
#else
|
39
|
+
# error cannot find integer type which size is same as time_t.
|
40
|
+
#endif
|
41
|
+
|
42
|
+
#endif
|