debase-ruby_core_source 3.3.6 → 3.4.0
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.
Potentially problematic release.
This version of debase-ruby_core_source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/CHANGELOG.md +6 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/darray.h +1 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/id.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns_info.inc +310 -175
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/basic_operators.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/encoding.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/error.h +26 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/gc.h +14 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/imemo.h +6 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/io.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/parse.h +2 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/proc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/sanitizers.h +31 -39
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/string.h +22 -10
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/thread.h +23 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/vm.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/method.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/parse.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/ast.h +427 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/defines.h +8 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/diagnostic.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/extension.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prism.h +47 -11
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/version.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism_compile.h +5 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/ractor_core.h +6 -6
- data/lib/debase/ruby_core_source/ruby-3.4.0/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/rubyparser.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/thread_pthread.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/version.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm.inc +151 -88
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_core.h +40 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_sync.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/yjit.h +1 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +147 -293
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +0 -6
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +0 -255
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/debug_counter.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/dln.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/eval_intern.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/array.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/class.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cmdlineopt.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/hash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/object.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/re.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/options.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/regexp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/static_literals.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_buffer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_char.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_constant_pool.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_integer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_memchr.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_newline_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_string.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/regint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regparse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/shape.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_callinfo.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_opts.h +0 -0
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
#ifndef RUBY_INSNHELPER_H
|
|
2
|
-
#define RUBY_INSNHELPER_H
|
|
3
|
-
/**********************************************************************
|
|
4
|
-
|
|
5
|
-
insnhelper.h - helper macros to implement each instructions
|
|
6
|
-
|
|
7
|
-
$Author$
|
|
8
|
-
created at: 04/01/01 15:50:34 JST
|
|
9
|
-
|
|
10
|
-
Copyright (C) 2004-2007 Koichi Sasada
|
|
11
|
-
|
|
12
|
-
**********************************************************************/
|
|
13
|
-
|
|
14
|
-
RUBY_EXTERN VALUE ruby_vm_const_missing_count;
|
|
15
|
-
RUBY_EXTERN rb_serial_t ruby_vm_constant_cache_invalidations;
|
|
16
|
-
RUBY_EXTERN rb_serial_t ruby_vm_constant_cache_misses;
|
|
17
|
-
RUBY_EXTERN rb_serial_t ruby_vm_global_cvar_state;
|
|
18
|
-
|
|
19
|
-
#if USE_YJIT || USE_RJIT // We want vm_insns_count on any JIT-enabled build.
|
|
20
|
-
// Increment vm_insns_count for --yjit-stats. We increment this even when
|
|
21
|
-
// --yjit or --yjit-stats is not used because branching to skip it is slower.
|
|
22
|
-
// We also don't use ATOMIC_INC for performance, allowing inaccuracy on Ractors.
|
|
23
|
-
#define JIT_COLLECT_USAGE_INSN(insn) rb_vm_insns_count++
|
|
24
|
-
#else
|
|
25
|
-
#define JIT_COLLECT_USAGE_INSN(insn) // none
|
|
26
|
-
#endif
|
|
27
|
-
|
|
28
|
-
#if VM_COLLECT_USAGE_DETAILS
|
|
29
|
-
#define COLLECT_USAGE_INSN(insn) vm_collect_usage_insn(insn)
|
|
30
|
-
#define COLLECT_USAGE_OPERAND(insn, n, op) vm_collect_usage_operand((insn), (n), ((VALUE)(op)))
|
|
31
|
-
#define COLLECT_USAGE_REGISTER(reg, s) vm_collect_usage_register((reg), (s))
|
|
32
|
-
#else
|
|
33
|
-
#define COLLECT_USAGE_INSN(insn) JIT_COLLECT_USAGE_INSN(insn)
|
|
34
|
-
#define COLLECT_USAGE_OPERAND(insn, n, op) // none
|
|
35
|
-
#define COLLECT_USAGE_REGISTER(reg, s) // none
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
/**********************************************************/
|
|
39
|
-
/* deal with stack */
|
|
40
|
-
/**********************************************************/
|
|
41
|
-
|
|
42
|
-
#define PUSH(x) (SET_SV(x), INC_SP(1))
|
|
43
|
-
#define TOPN(n) (*(GET_SP()-(n)-1))
|
|
44
|
-
#define POPN(n) (DEC_SP(n))
|
|
45
|
-
#define POP() (DEC_SP(1))
|
|
46
|
-
#define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))
|
|
47
|
-
|
|
48
|
-
/**********************************************************/
|
|
49
|
-
/* deal with registers */
|
|
50
|
-
/**********************************************************/
|
|
51
|
-
|
|
52
|
-
#define VM_REG_CFP (reg_cfp)
|
|
53
|
-
#define VM_REG_PC (VM_REG_CFP->pc)
|
|
54
|
-
#define VM_REG_SP (VM_REG_CFP->sp)
|
|
55
|
-
#define VM_REG_EP (VM_REG_CFP->ep)
|
|
56
|
-
|
|
57
|
-
#define RESTORE_REGS() do { \
|
|
58
|
-
VM_REG_CFP = ec->cfp; \
|
|
59
|
-
} while (0)
|
|
60
|
-
|
|
61
|
-
typedef enum call_type {
|
|
62
|
-
CALL_PUBLIC,
|
|
63
|
-
CALL_FCALL,
|
|
64
|
-
CALL_VCALL,
|
|
65
|
-
CALL_PUBLIC_KW,
|
|
66
|
-
CALL_FCALL_KW
|
|
67
|
-
} call_type;
|
|
68
|
-
|
|
69
|
-
#if VM_COLLECT_USAGE_DETAILS
|
|
70
|
-
enum vm_regan_regtype {
|
|
71
|
-
VM_REGAN_PC = 0,
|
|
72
|
-
VM_REGAN_SP = 1,
|
|
73
|
-
VM_REGAN_EP = 2,
|
|
74
|
-
VM_REGAN_CFP = 3,
|
|
75
|
-
VM_REGAN_SELF = 4,
|
|
76
|
-
VM_REGAN_ISEQ = 5
|
|
77
|
-
};
|
|
78
|
-
enum vm_regan_acttype {
|
|
79
|
-
VM_REGAN_ACT_GET = 0,
|
|
80
|
-
VM_REGAN_ACT_SET = 1
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
#define COLLECT_USAGE_REGISTER_HELPER(a, b, v) \
|
|
84
|
-
(COLLECT_USAGE_REGISTER((VM_REGAN_##a), (VM_REGAN_ACT_##b)), (v))
|
|
85
|
-
#else
|
|
86
|
-
#define COLLECT_USAGE_REGISTER_HELPER(a, b, v) (v)
|
|
87
|
-
#endif
|
|
88
|
-
|
|
89
|
-
/* PC */
|
|
90
|
-
#define GET_PC() (COLLECT_USAGE_REGISTER_HELPER(PC, GET, VM_REG_PC))
|
|
91
|
-
#define SET_PC(x) (VM_REG_PC = (COLLECT_USAGE_REGISTER_HELPER(PC, SET, (x))))
|
|
92
|
-
#define GET_CURRENT_INSN() (*GET_PC())
|
|
93
|
-
#define GET_OPERAND(n) (GET_PC()[(n)])
|
|
94
|
-
#define ADD_PC(n) (SET_PC(VM_REG_PC + (n)))
|
|
95
|
-
#define JUMP(dst) (SET_PC(VM_REG_PC + (dst)))
|
|
96
|
-
|
|
97
|
-
/* frame pointer, environment pointer */
|
|
98
|
-
#define GET_CFP() (COLLECT_USAGE_REGISTER_HELPER(CFP, GET, VM_REG_CFP))
|
|
99
|
-
#define GET_EP() (COLLECT_USAGE_REGISTER_HELPER(EP, GET, VM_REG_EP))
|
|
100
|
-
#define SET_EP(x) (VM_REG_EP = (COLLECT_USAGE_REGISTER_HELPER(EP, SET, (x))))
|
|
101
|
-
#define GET_LEP() (VM_EP_LEP(GET_EP()))
|
|
102
|
-
|
|
103
|
-
/* SP */
|
|
104
|
-
#define GET_SP() (COLLECT_USAGE_REGISTER_HELPER(SP, GET, VM_REG_SP))
|
|
105
|
-
#define SET_SP(x) (VM_REG_SP = (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
|
|
106
|
-
#define INC_SP(x) (VM_REG_SP += (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
|
|
107
|
-
#define DEC_SP(x) (VM_REG_SP -= (COLLECT_USAGE_REGISTER_HELPER(SP, SET, (x))))
|
|
108
|
-
#define SET_SV(x) (*GET_SP() = rb_ractor_confirm_belonging(x))
|
|
109
|
-
/* set current stack value as x */
|
|
110
|
-
|
|
111
|
-
/* instruction sequence C struct */
|
|
112
|
-
#define GET_ISEQ() (GET_CFP()->iseq)
|
|
113
|
-
|
|
114
|
-
/**********************************************************/
|
|
115
|
-
/* deal with variables */
|
|
116
|
-
/**********************************************************/
|
|
117
|
-
|
|
118
|
-
#define GET_PREV_EP(ep) ((VALUE *)((ep)[VM_ENV_DATA_INDEX_SPECVAL] & ~0x03))
|
|
119
|
-
|
|
120
|
-
/**********************************************************/
|
|
121
|
-
/* deal with values */
|
|
122
|
-
/**********************************************************/
|
|
123
|
-
|
|
124
|
-
#define GET_SELF() (COLLECT_USAGE_REGISTER_HELPER(SELF, GET, GET_CFP()->self))
|
|
125
|
-
|
|
126
|
-
/**********************************************************/
|
|
127
|
-
/* deal with control flow 2: method/iterator */
|
|
128
|
-
/**********************************************************/
|
|
129
|
-
|
|
130
|
-
/* set fastpath when cached method is *NOT* protected
|
|
131
|
-
* because inline method cache does not care about receiver.
|
|
132
|
-
*/
|
|
133
|
-
|
|
134
|
-
static inline void
|
|
135
|
-
CC_SET_FASTPATH(const struct rb_callcache *cc, vm_call_handler func, bool enabled)
|
|
136
|
-
{
|
|
137
|
-
if (LIKELY(enabled)) {
|
|
138
|
-
vm_cc_call_set(cc, func);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
#define GET_BLOCK_HANDLER() (GET_LEP()[VM_ENV_DATA_INDEX_SPECVAL])
|
|
143
|
-
|
|
144
|
-
/**********************************************************/
|
|
145
|
-
/* deal with control flow 3: exception */
|
|
146
|
-
/**********************************************************/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
/**********************************************************/
|
|
150
|
-
/* deal with stack canary */
|
|
151
|
-
/**********************************************************/
|
|
152
|
-
|
|
153
|
-
#if VM_CHECK_MODE > 0
|
|
154
|
-
#define SETUP_CANARY(cond) \
|
|
155
|
-
VALUE *canary = 0; \
|
|
156
|
-
if (cond) { \
|
|
157
|
-
canary = GET_SP(); \
|
|
158
|
-
SET_SV(vm_stack_canary); \
|
|
159
|
-
} \
|
|
160
|
-
else {\
|
|
161
|
-
SET_SV(Qfalse); /* cleanup */ \
|
|
162
|
-
}
|
|
163
|
-
#define CHECK_CANARY(cond, insn) \
|
|
164
|
-
if (cond) { \
|
|
165
|
-
if (*canary == vm_stack_canary) { \
|
|
166
|
-
*canary = Qfalse; /* cleanup */ \
|
|
167
|
-
} \
|
|
168
|
-
else { \
|
|
169
|
-
rb_vm_canary_is_found_dead(insn, *canary); \
|
|
170
|
-
} \
|
|
171
|
-
}
|
|
172
|
-
#else
|
|
173
|
-
#define SETUP_CANARY(cond) if (cond) {} else {}
|
|
174
|
-
#define CHECK_CANARY(cond, insn) if (cond) {(void)(insn);}
|
|
175
|
-
#endif
|
|
176
|
-
|
|
177
|
-
/**********************************************************/
|
|
178
|
-
/* others */
|
|
179
|
-
/**********************************************************/
|
|
180
|
-
|
|
181
|
-
#define CALL_SIMPLE_METHOD() do { \
|
|
182
|
-
rb_snum_t insn_width = attr_width_opt_send_without_block(0); \
|
|
183
|
-
ADD_PC(-insn_width); \
|
|
184
|
-
DISPATCH_ORIGINAL_INSN(opt_send_without_block); \
|
|
185
|
-
} while (0)
|
|
186
|
-
|
|
187
|
-
#define GET_GLOBAL_CVAR_STATE() (ruby_vm_global_cvar_state)
|
|
188
|
-
#define INC_GLOBAL_CVAR_STATE() (++ruby_vm_global_cvar_state)
|
|
189
|
-
|
|
190
|
-
static inline struct vm_throw_data *
|
|
191
|
-
THROW_DATA_NEW(VALUE val, const rb_control_frame_t *cf, int st)
|
|
192
|
-
{
|
|
193
|
-
struct vm_throw_data *obj = IMEMO_NEW(struct vm_throw_data, imemo_throw_data, 0);
|
|
194
|
-
*((VALUE *)&obj->throw_obj) = val;
|
|
195
|
-
*((struct rb_control_frame_struct **)&obj->catch_frame) = (struct rb_control_frame_struct *)cf;
|
|
196
|
-
obj->throw_state = st;
|
|
197
|
-
|
|
198
|
-
return obj;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
static inline VALUE
|
|
202
|
-
THROW_DATA_VAL(const struct vm_throw_data *obj)
|
|
203
|
-
{
|
|
204
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
205
|
-
return obj->throw_obj;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
static inline const rb_control_frame_t *
|
|
209
|
-
THROW_DATA_CATCH_FRAME(const struct vm_throw_data *obj)
|
|
210
|
-
{
|
|
211
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
212
|
-
return obj->catch_frame;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
static inline int
|
|
216
|
-
THROW_DATA_STATE(const struct vm_throw_data *obj)
|
|
217
|
-
{
|
|
218
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
219
|
-
return obj->throw_state;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
static inline int
|
|
223
|
-
THROW_DATA_CONSUMED_P(const struct vm_throw_data *obj)
|
|
224
|
-
{
|
|
225
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
226
|
-
return obj->flags & THROW_DATA_CONSUMED;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
static inline void
|
|
230
|
-
THROW_DATA_CATCH_FRAME_SET(struct vm_throw_data *obj, const rb_control_frame_t *cfp)
|
|
231
|
-
{
|
|
232
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
233
|
-
obj->catch_frame = cfp;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
static inline void
|
|
237
|
-
THROW_DATA_STATE_SET(struct vm_throw_data *obj, int st)
|
|
238
|
-
{
|
|
239
|
-
VM_ASSERT(THROW_DATA_P(obj));
|
|
240
|
-
obj->throw_state = st;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
static inline void
|
|
244
|
-
THROW_DATA_CONSUMED_SET(struct vm_throw_data *obj)
|
|
245
|
-
{
|
|
246
|
-
if (THROW_DATA_P(obj) &&
|
|
247
|
-
THROW_DATA_STATE(obj) == TAG_BREAK) {
|
|
248
|
-
obj->flags |= THROW_DATA_CONSUMED;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
#define IS_ARGS_SPLAT(ci) (vm_ci_flag(ci) & VM_CALL_ARGS_SPLAT)
|
|
253
|
-
#define IS_ARGS_KEYWORD(ci) (vm_ci_flag(ci) & VM_CALL_KWARG)
|
|
254
|
-
#define IS_ARGS_KW_SPLAT(ci) (vm_ci_flag(ci) & VM_CALL_KW_SPLAT)
|
|
255
|
-
#define IS_ARGS_KW_OR_KW_SPLAT(ci) (vm_ci_flag(ci) & (VM_CALL_KWARG | VM_CALL_KW_SPLAT))
|
|
256
|
-
#define IS_ARGS_KW_SPLAT_MUT(ci) (vm_ci_flag(ci) & VM_CALL_KW_SPLAT_MUT)
|
|
257
|
-
|
|
258
|
-
static inline bool
|
|
259
|
-
vm_call_cacheable(const struct rb_callinfo *ci, const struct rb_callcache *cc)
|
|
260
|
-
{
|
|
261
|
-
return (vm_ci_flag(ci) & VM_CALL_FCALL) ||
|
|
262
|
-
METHOD_ENTRY_VISI(vm_cc_cme(cc)) != METHOD_VISI_PROTECTED;
|
|
263
|
-
}
|
|
264
|
-
/* If this returns true, an optimized function returned by `vm_call_iseq_setup_func`
|
|
265
|
-
can be used as a fastpath. */
|
|
266
|
-
static inline bool
|
|
267
|
-
vm_call_iseq_optimizable_p(const struct rb_callinfo *ci, const struct rb_callcache *cc)
|
|
268
|
-
{
|
|
269
|
-
return !IS_ARGS_SPLAT(ci) && !IS_ARGS_KEYWORD(ci) && vm_call_cacheable(ci, cc);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
#endif /* RUBY_INSNHELPER_H */
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
#ifndef RUBY_VM_SYNC_H
|
|
2
|
-
#define RUBY_VM_SYNC_H
|
|
3
|
-
|
|
4
|
-
#include "vm_debug.h"
|
|
5
|
-
#include "debug_counter.h"
|
|
6
|
-
|
|
7
|
-
#if USE_RUBY_DEBUG_LOG
|
|
8
|
-
#define LOCATION_ARGS const char *file, int line
|
|
9
|
-
#define LOCATION_PARAMS file, line
|
|
10
|
-
#define APPEND_LOCATION_ARGS , const char *file, int line
|
|
11
|
-
#define APPEND_LOCATION_PARAMS , file, line
|
|
12
|
-
#else
|
|
13
|
-
#define LOCATION_ARGS void
|
|
14
|
-
#define LOCATION_PARAMS
|
|
15
|
-
#define APPEND_LOCATION_ARGS
|
|
16
|
-
#define APPEND_LOCATION_PARAMS
|
|
17
|
-
#endif
|
|
18
|
-
|
|
19
|
-
bool rb_vm_locked_p(void);
|
|
20
|
-
void rb_vm_lock_body(LOCATION_ARGS);
|
|
21
|
-
void rb_vm_unlock_body(LOCATION_ARGS);
|
|
22
|
-
|
|
23
|
-
struct rb_ractor_struct;
|
|
24
|
-
void rb_vm_lock_enter_body_cr(struct rb_ractor_struct *cr, unsigned int *lev APPEND_LOCATION_ARGS);
|
|
25
|
-
void rb_vm_lock_enter_body_nb(unsigned int *lev APPEND_LOCATION_ARGS);
|
|
26
|
-
void rb_vm_lock_enter_body(unsigned int *lev APPEND_LOCATION_ARGS);
|
|
27
|
-
void rb_vm_lock_leave_body(unsigned int *lev APPEND_LOCATION_ARGS);
|
|
28
|
-
void rb_vm_barrier(void);
|
|
29
|
-
|
|
30
|
-
#if RUBY_DEBUG
|
|
31
|
-
// GET_VM()
|
|
32
|
-
#include "vm_core.h"
|
|
33
|
-
#endif
|
|
34
|
-
|
|
35
|
-
RUBY_EXTERN struct rb_ractor_struct *ruby_single_main_ractor; // ractor.c
|
|
36
|
-
|
|
37
|
-
static inline bool
|
|
38
|
-
rb_multi_ractor_p(void)
|
|
39
|
-
{
|
|
40
|
-
if (LIKELY(ruby_single_main_ractor)) {
|
|
41
|
-
// 0 on boot time.
|
|
42
|
-
RUBY_ASSERT(GET_VM()->ractor.cnt <= 1);
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// multi-ractor mode can run ractor.cnt == 1
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
static inline void
|
|
52
|
-
rb_vm_lock(const char *file, int line)
|
|
53
|
-
{
|
|
54
|
-
RB_DEBUG_COUNTER_INC(vm_sync_lock);
|
|
55
|
-
|
|
56
|
-
if (rb_multi_ractor_p()) {
|
|
57
|
-
rb_vm_lock_body(LOCATION_PARAMS);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
static inline void
|
|
62
|
-
rb_vm_unlock(const char *file, int line)
|
|
63
|
-
{
|
|
64
|
-
if (rb_multi_ractor_p()) {
|
|
65
|
-
rb_vm_unlock_body(LOCATION_PARAMS);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
static inline void
|
|
70
|
-
rb_vm_lock_enter(unsigned int *lev, const char *file, int line)
|
|
71
|
-
{
|
|
72
|
-
RB_DEBUG_COUNTER_INC(vm_sync_lock_enter);
|
|
73
|
-
|
|
74
|
-
if (rb_multi_ractor_p()) {
|
|
75
|
-
rb_vm_lock_enter_body(lev APPEND_LOCATION_PARAMS);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
static inline void
|
|
80
|
-
rb_vm_lock_enter_nb(unsigned int *lev, const char *file, int line)
|
|
81
|
-
{
|
|
82
|
-
RB_DEBUG_COUNTER_INC(vm_sync_lock_enter_nb);
|
|
83
|
-
|
|
84
|
-
if (rb_multi_ractor_p()) {
|
|
85
|
-
rb_vm_lock_enter_body_nb(lev APPEND_LOCATION_PARAMS);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
static inline void
|
|
90
|
-
rb_vm_lock_leave(unsigned int *lev, const char *file, int line)
|
|
91
|
-
{
|
|
92
|
-
if (rb_multi_ractor_p()) {
|
|
93
|
-
rb_vm_lock_leave_body(lev APPEND_LOCATION_PARAMS);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
static inline void
|
|
98
|
-
rb_vm_lock_enter_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char *file, int line)
|
|
99
|
-
{
|
|
100
|
-
RB_DEBUG_COUNTER_INC(vm_sync_lock_enter_cr);
|
|
101
|
-
rb_vm_lock_enter_body_cr(cr, levp APPEND_LOCATION_PARAMS);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
static inline void
|
|
105
|
-
rb_vm_lock_leave_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char *file, int line)
|
|
106
|
-
{
|
|
107
|
-
rb_vm_lock_leave_body(levp APPEND_LOCATION_PARAMS);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
#define RB_VM_LOCKED_P() rb_vm_locked_p()
|
|
111
|
-
|
|
112
|
-
#define RB_VM_LOCK() rb_vm_lock(__FILE__, __LINE__)
|
|
113
|
-
#define RB_VM_UNLOCK() rb_vm_unlock(__FILE__, __LINE__)
|
|
114
|
-
|
|
115
|
-
#define RB_VM_LOCK_ENTER_CR_LEV(cr, levp) rb_vm_lock_enter_cr(cr, levp, __FILE__, __LINE__)
|
|
116
|
-
#define RB_VM_LOCK_LEAVE_CR_LEV(cr, levp) rb_vm_lock_leave_cr(cr, levp, __FILE__, __LINE__)
|
|
117
|
-
#define RB_VM_LOCK_ENTER_LEV(levp) rb_vm_lock_enter(levp, __FILE__, __LINE__)
|
|
118
|
-
#define RB_VM_LOCK_LEAVE_LEV(levp) rb_vm_lock_leave(levp, __FILE__, __LINE__)
|
|
119
|
-
|
|
120
|
-
#define RB_VM_LOCK_ENTER() { unsigned int _lev; RB_VM_LOCK_ENTER_LEV(&_lev);
|
|
121
|
-
#define RB_VM_LOCK_LEAVE() RB_VM_LOCK_LEAVE_LEV(&_lev); }
|
|
122
|
-
|
|
123
|
-
#define RB_VM_LOCK_ENTER_LEV_NB(levp) rb_vm_lock_enter_nb(levp, __FILE__, __LINE__)
|
|
124
|
-
#define RB_VM_LOCK_ENTER_NO_BARRIER() { unsigned int _lev; RB_VM_LOCK_ENTER_LEV_NB(&_lev);
|
|
125
|
-
#define RB_VM_LOCK_LEAVE_NO_BARRIER() RB_VM_LOCK_LEAVE_LEV(&_lev); }
|
|
126
|
-
|
|
127
|
-
#if RUBY_DEBUG > 0
|
|
128
|
-
void RUBY_ASSERT_vm_locking(void);
|
|
129
|
-
void RUBY_ASSERT_vm_unlocking(void);
|
|
130
|
-
#define ASSERT_vm_locking() RUBY_ASSERT_vm_locking()
|
|
131
|
-
#define ASSERT_vm_unlocking() RUBY_ASSERT_vm_unlocking()
|
|
132
|
-
#else
|
|
133
|
-
#define ASSERT_vm_locking()
|
|
134
|
-
#define ASSERT_vm_unlocking()
|
|
135
|
-
#endif
|
|
136
|
-
|
|
137
|
-
#endif // RUBY_VM_SYNC_H
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
/* -*- C -*- */
|
|
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 consists of many small parts of codes copyrighted by each author,
|
|
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 does not automatically define that of generated ones. This
|
|
16
|
-
* is the reason why this file is under an unclear situation. All what I know
|
|
17
|
-
* is 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
|
|
23
|
-
* the situation would become more clear in the future. */
|
|
24
|
-
/*******************************************************************/
|
|
25
|
-
/*******************************************************************/
|
|
26
|
-
/*******************************************************************/
|
|
27
|
-
/**
|
|
28
|
-
This file is for threaded code.
|
|
29
|
-
|
|
30
|
-
----
|
|
31
|
-
This file is auto generated by insns2vm.rb
|
|
32
|
-
DO NOT TOUCH!
|
|
33
|
-
|
|
34
|
-
If you want to fix something, you must edit "tool/ruby_vm/views/vmtc.inc.erb"
|
|
35
|
-
or tool/insns2vm.rb
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
-
static const void *const insns_address_table[] = {
|
|
39
|
-
LABEL_PTR(nop),
|
|
40
|
-
LABEL_PTR(getlocal),
|
|
41
|
-
LABEL_PTR(setlocal),
|
|
42
|
-
LABEL_PTR(getblockparam),
|
|
43
|
-
LABEL_PTR(setblockparam),
|
|
44
|
-
LABEL_PTR(getblockparamproxy),
|
|
45
|
-
LABEL_PTR(getspecial),
|
|
46
|
-
LABEL_PTR(setspecial),
|
|
47
|
-
LABEL_PTR(getinstancevariable),
|
|
48
|
-
LABEL_PTR(setinstancevariable),
|
|
49
|
-
LABEL_PTR(getclassvariable),
|
|
50
|
-
LABEL_PTR(setclassvariable),
|
|
51
|
-
LABEL_PTR(opt_getconstant_path),
|
|
52
|
-
LABEL_PTR(getconstant),
|
|
53
|
-
LABEL_PTR(setconstant),
|
|
54
|
-
LABEL_PTR(getglobal),
|
|
55
|
-
LABEL_PTR(setglobal),
|
|
56
|
-
LABEL_PTR(putnil),
|
|
57
|
-
LABEL_PTR(putself),
|
|
58
|
-
LABEL_PTR(putobject),
|
|
59
|
-
LABEL_PTR(putspecialobject),
|
|
60
|
-
LABEL_PTR(putstring),
|
|
61
|
-
LABEL_PTR(putchilledstring),
|
|
62
|
-
LABEL_PTR(concatstrings),
|
|
63
|
-
LABEL_PTR(anytostring),
|
|
64
|
-
LABEL_PTR(toregexp),
|
|
65
|
-
LABEL_PTR(intern),
|
|
66
|
-
LABEL_PTR(newarray),
|
|
67
|
-
LABEL_PTR(newarraykwsplat),
|
|
68
|
-
LABEL_PTR(pushtoarraykwsplat),
|
|
69
|
-
LABEL_PTR(duparray),
|
|
70
|
-
LABEL_PTR(duphash),
|
|
71
|
-
LABEL_PTR(expandarray),
|
|
72
|
-
LABEL_PTR(concatarray),
|
|
73
|
-
LABEL_PTR(concattoarray),
|
|
74
|
-
LABEL_PTR(pushtoarray),
|
|
75
|
-
LABEL_PTR(splatarray),
|
|
76
|
-
LABEL_PTR(splatkw),
|
|
77
|
-
LABEL_PTR(newhash),
|
|
78
|
-
LABEL_PTR(newrange),
|
|
79
|
-
LABEL_PTR(pop),
|
|
80
|
-
LABEL_PTR(dup),
|
|
81
|
-
LABEL_PTR(dupn),
|
|
82
|
-
LABEL_PTR(swap),
|
|
83
|
-
LABEL_PTR(opt_reverse),
|
|
84
|
-
LABEL_PTR(topn),
|
|
85
|
-
LABEL_PTR(setn),
|
|
86
|
-
LABEL_PTR(adjuststack),
|
|
87
|
-
LABEL_PTR(defined),
|
|
88
|
-
LABEL_PTR(definedivar),
|
|
89
|
-
LABEL_PTR(checkmatch),
|
|
90
|
-
LABEL_PTR(checkkeyword),
|
|
91
|
-
LABEL_PTR(checktype),
|
|
92
|
-
LABEL_PTR(defineclass),
|
|
93
|
-
LABEL_PTR(definemethod),
|
|
94
|
-
LABEL_PTR(definesmethod),
|
|
95
|
-
LABEL_PTR(send),
|
|
96
|
-
LABEL_PTR(opt_send_without_block),
|
|
97
|
-
LABEL_PTR(objtostring),
|
|
98
|
-
LABEL_PTR(opt_str_freeze),
|
|
99
|
-
LABEL_PTR(opt_nil_p),
|
|
100
|
-
LABEL_PTR(opt_str_uminus),
|
|
101
|
-
LABEL_PTR(opt_newarray_send),
|
|
102
|
-
LABEL_PTR(invokesuper),
|
|
103
|
-
LABEL_PTR(invokeblock),
|
|
104
|
-
LABEL_PTR(leave),
|
|
105
|
-
LABEL_PTR(throw),
|
|
106
|
-
LABEL_PTR(jump),
|
|
107
|
-
LABEL_PTR(branchif),
|
|
108
|
-
LABEL_PTR(branchunless),
|
|
109
|
-
LABEL_PTR(branchnil),
|
|
110
|
-
LABEL_PTR(once),
|
|
111
|
-
LABEL_PTR(opt_case_dispatch),
|
|
112
|
-
LABEL_PTR(opt_plus),
|
|
113
|
-
LABEL_PTR(opt_minus),
|
|
114
|
-
LABEL_PTR(opt_mult),
|
|
115
|
-
LABEL_PTR(opt_div),
|
|
116
|
-
LABEL_PTR(opt_mod),
|
|
117
|
-
LABEL_PTR(opt_eq),
|
|
118
|
-
LABEL_PTR(opt_neq),
|
|
119
|
-
LABEL_PTR(opt_lt),
|
|
120
|
-
LABEL_PTR(opt_le),
|
|
121
|
-
LABEL_PTR(opt_gt),
|
|
122
|
-
LABEL_PTR(opt_ge),
|
|
123
|
-
LABEL_PTR(opt_ltlt),
|
|
124
|
-
LABEL_PTR(opt_and),
|
|
125
|
-
LABEL_PTR(opt_or),
|
|
126
|
-
LABEL_PTR(opt_aref),
|
|
127
|
-
LABEL_PTR(opt_aset),
|
|
128
|
-
LABEL_PTR(opt_aset_with),
|
|
129
|
-
LABEL_PTR(opt_aref_with),
|
|
130
|
-
LABEL_PTR(opt_length),
|
|
131
|
-
LABEL_PTR(opt_size),
|
|
132
|
-
LABEL_PTR(opt_empty_p),
|
|
133
|
-
LABEL_PTR(opt_succ),
|
|
134
|
-
LABEL_PTR(opt_not),
|
|
135
|
-
LABEL_PTR(opt_regexpmatch2),
|
|
136
|
-
LABEL_PTR(invokebuiltin),
|
|
137
|
-
LABEL_PTR(opt_invokebuiltin_delegate),
|
|
138
|
-
LABEL_PTR(opt_invokebuiltin_delegate_leave),
|
|
139
|
-
LABEL_PTR(getlocal_WC_0),
|
|
140
|
-
LABEL_PTR(getlocal_WC_1),
|
|
141
|
-
LABEL_PTR(setlocal_WC_0),
|
|
142
|
-
LABEL_PTR(setlocal_WC_1),
|
|
143
|
-
LABEL_PTR(putobject_INT2FIX_0_),
|
|
144
|
-
LABEL_PTR(putobject_INT2FIX_1_),
|
|
145
|
-
LABEL_PTR(trace_nop),
|
|
146
|
-
LABEL_PTR(trace_getlocal),
|
|
147
|
-
LABEL_PTR(trace_setlocal),
|
|
148
|
-
LABEL_PTR(trace_getblockparam),
|
|
149
|
-
LABEL_PTR(trace_setblockparam),
|
|
150
|
-
LABEL_PTR(trace_getblockparamproxy),
|
|
151
|
-
LABEL_PTR(trace_getspecial),
|
|
152
|
-
LABEL_PTR(trace_setspecial),
|
|
153
|
-
LABEL_PTR(trace_getinstancevariable),
|
|
154
|
-
LABEL_PTR(trace_setinstancevariable),
|
|
155
|
-
LABEL_PTR(trace_getclassvariable),
|
|
156
|
-
LABEL_PTR(trace_setclassvariable),
|
|
157
|
-
LABEL_PTR(trace_opt_getconstant_path),
|
|
158
|
-
LABEL_PTR(trace_getconstant),
|
|
159
|
-
LABEL_PTR(trace_setconstant),
|
|
160
|
-
LABEL_PTR(trace_getglobal),
|
|
161
|
-
LABEL_PTR(trace_setglobal),
|
|
162
|
-
LABEL_PTR(trace_putnil),
|
|
163
|
-
LABEL_PTR(trace_putself),
|
|
164
|
-
LABEL_PTR(trace_putobject),
|
|
165
|
-
LABEL_PTR(trace_putspecialobject),
|
|
166
|
-
LABEL_PTR(trace_putstring),
|
|
167
|
-
LABEL_PTR(trace_putchilledstring),
|
|
168
|
-
LABEL_PTR(trace_concatstrings),
|
|
169
|
-
LABEL_PTR(trace_anytostring),
|
|
170
|
-
LABEL_PTR(trace_toregexp),
|
|
171
|
-
LABEL_PTR(trace_intern),
|
|
172
|
-
LABEL_PTR(trace_newarray),
|
|
173
|
-
LABEL_PTR(trace_newarraykwsplat),
|
|
174
|
-
LABEL_PTR(trace_pushtoarraykwsplat),
|
|
175
|
-
LABEL_PTR(trace_duparray),
|
|
176
|
-
LABEL_PTR(trace_duphash),
|
|
177
|
-
LABEL_PTR(trace_expandarray),
|
|
178
|
-
LABEL_PTR(trace_concatarray),
|
|
179
|
-
LABEL_PTR(trace_concattoarray),
|
|
180
|
-
LABEL_PTR(trace_pushtoarray),
|
|
181
|
-
LABEL_PTR(trace_splatarray),
|
|
182
|
-
LABEL_PTR(trace_splatkw),
|
|
183
|
-
LABEL_PTR(trace_newhash),
|
|
184
|
-
LABEL_PTR(trace_newrange),
|
|
185
|
-
LABEL_PTR(trace_pop),
|
|
186
|
-
LABEL_PTR(trace_dup),
|
|
187
|
-
LABEL_PTR(trace_dupn),
|
|
188
|
-
LABEL_PTR(trace_swap),
|
|
189
|
-
LABEL_PTR(trace_opt_reverse),
|
|
190
|
-
LABEL_PTR(trace_topn),
|
|
191
|
-
LABEL_PTR(trace_setn),
|
|
192
|
-
LABEL_PTR(trace_adjuststack),
|
|
193
|
-
LABEL_PTR(trace_defined),
|
|
194
|
-
LABEL_PTR(trace_definedivar),
|
|
195
|
-
LABEL_PTR(trace_checkmatch),
|
|
196
|
-
LABEL_PTR(trace_checkkeyword),
|
|
197
|
-
LABEL_PTR(trace_checktype),
|
|
198
|
-
LABEL_PTR(trace_defineclass),
|
|
199
|
-
LABEL_PTR(trace_definemethod),
|
|
200
|
-
LABEL_PTR(trace_definesmethod),
|
|
201
|
-
LABEL_PTR(trace_send),
|
|
202
|
-
LABEL_PTR(trace_opt_send_without_block),
|
|
203
|
-
LABEL_PTR(trace_objtostring),
|
|
204
|
-
LABEL_PTR(trace_opt_str_freeze),
|
|
205
|
-
LABEL_PTR(trace_opt_nil_p),
|
|
206
|
-
LABEL_PTR(trace_opt_str_uminus),
|
|
207
|
-
LABEL_PTR(trace_opt_newarray_send),
|
|
208
|
-
LABEL_PTR(trace_invokesuper),
|
|
209
|
-
LABEL_PTR(trace_invokeblock),
|
|
210
|
-
LABEL_PTR(trace_leave),
|
|
211
|
-
LABEL_PTR(trace_throw),
|
|
212
|
-
LABEL_PTR(trace_jump),
|
|
213
|
-
LABEL_PTR(trace_branchif),
|
|
214
|
-
LABEL_PTR(trace_branchunless),
|
|
215
|
-
LABEL_PTR(trace_branchnil),
|
|
216
|
-
LABEL_PTR(trace_once),
|
|
217
|
-
LABEL_PTR(trace_opt_case_dispatch),
|
|
218
|
-
LABEL_PTR(trace_opt_plus),
|
|
219
|
-
LABEL_PTR(trace_opt_minus),
|
|
220
|
-
LABEL_PTR(trace_opt_mult),
|
|
221
|
-
LABEL_PTR(trace_opt_div),
|
|
222
|
-
LABEL_PTR(trace_opt_mod),
|
|
223
|
-
LABEL_PTR(trace_opt_eq),
|
|
224
|
-
LABEL_PTR(trace_opt_neq),
|
|
225
|
-
LABEL_PTR(trace_opt_lt),
|
|
226
|
-
LABEL_PTR(trace_opt_le),
|
|
227
|
-
LABEL_PTR(trace_opt_gt),
|
|
228
|
-
LABEL_PTR(trace_opt_ge),
|
|
229
|
-
LABEL_PTR(trace_opt_ltlt),
|
|
230
|
-
LABEL_PTR(trace_opt_and),
|
|
231
|
-
LABEL_PTR(trace_opt_or),
|
|
232
|
-
LABEL_PTR(trace_opt_aref),
|
|
233
|
-
LABEL_PTR(trace_opt_aset),
|
|
234
|
-
LABEL_PTR(trace_opt_aset_with),
|
|
235
|
-
LABEL_PTR(trace_opt_aref_with),
|
|
236
|
-
LABEL_PTR(trace_opt_length),
|
|
237
|
-
LABEL_PTR(trace_opt_size),
|
|
238
|
-
LABEL_PTR(trace_opt_empty_p),
|
|
239
|
-
LABEL_PTR(trace_opt_succ),
|
|
240
|
-
LABEL_PTR(trace_opt_not),
|
|
241
|
-
LABEL_PTR(trace_opt_regexpmatch2),
|
|
242
|
-
LABEL_PTR(trace_invokebuiltin),
|
|
243
|
-
LABEL_PTR(trace_opt_invokebuiltin_delegate),
|
|
244
|
-
LABEL_PTR(trace_opt_invokebuiltin_delegate_leave),
|
|
245
|
-
LABEL_PTR(trace_getlocal_WC_0),
|
|
246
|
-
LABEL_PTR(trace_getlocal_WC_1),
|
|
247
|
-
LABEL_PTR(trace_setlocal_WC_0),
|
|
248
|
-
LABEL_PTR(trace_setlocal_WC_1),
|
|
249
|
-
LABEL_PTR(trace_putobject_INT2FIX_0_),
|
|
250
|
-
LABEL_PTR(trace_putobject_INT2FIX_1_),
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
ASSERT_VM_INSTRUCTION_SIZE(insns_address_table);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#ifndef RUBY_ADDR2LINE_H
|
|
2
|
-
#define RUBY_ADDR2LINE_H
|
|
3
|
-
/**********************************************************************
|
|
4
|
-
|
|
5
|
-
addr2line.h -
|
|
6
|
-
|
|
7
|
-
$Author$
|
|
8
|
-
|
|
9
|
-
Copyright (C) 2010 Shinichiro Hamaji
|
|
10
|
-
|
|
11
|
-
**********************************************************************/
|
|
12
|
-
|
|
13
|
-
#if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
|
|
14
|
-
|
|
15
|
-
#include <stdio.h>
|
|
16
|
-
|
|
17
|
-
void
|
|
18
|
-
rb_dump_backtrace_with_lines(int num_traces, void **traces, FILE *errout);
|
|
19
|
-
|
|
20
|
-
#endif /* USE_ELF */
|
|
21
|
-
|
|
22
|
-
#endif /* RUBY_ADDR2LINE_H */
|