datadog-ruby_core_source 3.3.6 → 3.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.datadog.md +7 -1
- data/datadog-ruby_core_source.gemspec +6 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id.h +7 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/array.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/basic_operators.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bits.h +82 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/class.h +1 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/encoding.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/error.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/fixnum.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/gc.h +23 -28
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/hash.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/imemo.h +7 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/io.h +4 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/parse.h +14 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ractor.h +4 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/sanitizers.h +36 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/string.h +34 -18
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/thread.h +29 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/vm.h +3 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/method.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/ast.h +2146 -453
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/defines.h +44 -7
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/diagnostic.h +24 -6
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/extension.h +2 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/node.h +0 -21
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/options.h +94 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/parser.h +82 -40
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prism.h +47 -11
- data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +43 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/static_literals.h +3 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_char.h +1 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_constant_pool.h +0 -8
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_integer.h +22 -15
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_newline_list.h +11 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_string.h +28 -12
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/version.h +3 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism_compile.h +23 -12
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ractor_core.h +8 -20
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/rubyparser.h +168 -249
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/shape.h +2 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_pthread.h +26 -25
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_core.h +62 -48
- data/lib/datadog/ruby_core_source/version.rb +1 -1
- data/lib/datadog/ruby_core_source.rb +14 -1
- metadata +109 -372
- data/.github/workflows/publish.yml +0 -18
- data/.gitignore +0 -7
- data/.idea/vcs.xml +0 -28
- data/CHANGELOG.md +0 -284
- data/CONTRIBUTING.md +0 -2
- data/Gemfile +0 -4
- data/Rakefile +0 -73
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
- data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
- data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
- data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
- data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
- data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
- data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/check_type/check_type.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/container_of/container_of.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/list/list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ccan/str/str.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/id_table.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/bignum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cmdlineopt.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compar.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compile.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/compilers.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/complex.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/cont.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/dir.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enc.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/enumerator.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/eval.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/file.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/inits.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/load.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/loadpath.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/math.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/missing.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/numeric.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/object.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/proc.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/process.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/random.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/range.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/rational.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/re.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/ruby_parser.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/serial.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/signal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/static_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/struct.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/symbol.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/time.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/transcode.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/util.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/variable.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal/warnings.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/internal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/iseq.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/node.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/parser_value.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/encoding.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/pack.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/prettyprint.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_buffer.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_memchr.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/ruby_atomic.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/thread_none.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_debug.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-rc1}/vm_opts.h +0 -0
|
@@ -47,7 +47,7 @@ struct rb_shape {
|
|
|
47
47
|
attr_index_t next_iv_index;
|
|
48
48
|
uint32_t capacity; // Total capacity of the object with this shape
|
|
49
49
|
uint8_t type;
|
|
50
|
-
uint8_t
|
|
50
|
+
uint8_t heap_index;
|
|
51
51
|
shape_id_t parent_id;
|
|
52
52
|
redblack_node_t * ancestor_index;
|
|
53
53
|
};
|
|
@@ -164,6 +164,7 @@ int rb_shape_frozen_shape_p(rb_shape_t* shape);
|
|
|
164
164
|
rb_shape_t* rb_shape_transition_shape_frozen(VALUE obj);
|
|
165
165
|
bool rb_shape_transition_shape_remove_ivar(VALUE obj, ID id, rb_shape_t *shape, VALUE * removed);
|
|
166
166
|
rb_shape_t* rb_shape_get_next(rb_shape_t* shape, VALUE obj, ID id);
|
|
167
|
+
rb_shape_t* rb_shape_get_next_no_warnings(rb_shape_t* shape, VALUE obj, ID id);
|
|
167
168
|
|
|
168
169
|
rb_shape_t * rb_shape_rebuild_shape(rb_shape_t * initial_shape, rb_shape_t * dest_shape);
|
|
169
170
|
|
|
@@ -17,6 +17,31 @@
|
|
|
17
17
|
#define RB_NATIVETHREAD_LOCK_INIT PTHREAD_MUTEX_INITIALIZER
|
|
18
18
|
#define RB_NATIVETHREAD_COND_INIT PTHREAD_COND_INITIALIZER
|
|
19
19
|
|
|
20
|
+
// this data should be protected by timer_th.waiting_lock
|
|
21
|
+
struct rb_thread_sched_waiting {
|
|
22
|
+
enum thread_sched_waiting_flag {
|
|
23
|
+
thread_sched_waiting_none = 0x00,
|
|
24
|
+
thread_sched_waiting_timeout = 0x01,
|
|
25
|
+
thread_sched_waiting_io_read = 0x02,
|
|
26
|
+
thread_sched_waiting_io_write = 0x08,
|
|
27
|
+
thread_sched_waiting_io_force = 0x40, // ignore readable
|
|
28
|
+
} flags;
|
|
29
|
+
|
|
30
|
+
struct {
|
|
31
|
+
// should be compat with hrtime.h
|
|
32
|
+
#ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
|
|
33
|
+
int128_t timeout;
|
|
34
|
+
#else
|
|
35
|
+
uint64_t timeout;
|
|
36
|
+
#endif
|
|
37
|
+
int fd; // -1 for timeout only
|
|
38
|
+
int result;
|
|
39
|
+
} data;
|
|
40
|
+
|
|
41
|
+
// connected to timer_th.waiting
|
|
42
|
+
struct ccan_list_node node;
|
|
43
|
+
};
|
|
44
|
+
|
|
20
45
|
// per-Thead scheduler helper data
|
|
21
46
|
struct rb_thread_sched_item {
|
|
22
47
|
struct {
|
|
@@ -38,30 +63,7 @@ struct rb_thread_sched_item {
|
|
|
38
63
|
struct ccan_list_node zombie_threads;
|
|
39
64
|
} node;
|
|
40
65
|
|
|
41
|
-
|
|
42
|
-
struct {
|
|
43
|
-
enum thread_sched_waiting_flag {
|
|
44
|
-
thread_sched_waiting_none = 0x00,
|
|
45
|
-
thread_sched_waiting_timeout = 0x01,
|
|
46
|
-
thread_sched_waiting_io_read = 0x02,
|
|
47
|
-
thread_sched_waiting_io_write = 0x08,
|
|
48
|
-
thread_sched_waiting_io_force = 0x40, // ignore readable
|
|
49
|
-
} flags;
|
|
50
|
-
|
|
51
|
-
struct {
|
|
52
|
-
// should be compat with hrtime.h
|
|
53
|
-
#ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
|
|
54
|
-
int128_t timeout;
|
|
55
|
-
#else
|
|
56
|
-
uint64_t timeout;
|
|
57
|
-
#endif
|
|
58
|
-
int fd; // -1 for timeout only
|
|
59
|
-
int result;
|
|
60
|
-
} data;
|
|
61
|
-
|
|
62
|
-
// connected to timer_th.waiting
|
|
63
|
-
struct ccan_list_node node;
|
|
64
|
-
} waiting_reason;
|
|
66
|
+
struct rb_thread_sched_waiting waiting_reason;
|
|
65
67
|
|
|
66
68
|
bool finished;
|
|
67
69
|
bool malloc_stack;
|
|
@@ -130,7 +132,6 @@ struct rb_thread_sched {
|
|
|
130
132
|
|
|
131
133
|
#ifdef RB_THREAD_LOCAL_SPECIFIER
|
|
132
134
|
NOINLINE(void rb_current_ec_set(struct rb_execution_context_struct *));
|
|
133
|
-
NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void));
|
|
134
135
|
|
|
135
136
|
# ifdef __APPLE__
|
|
136
137
|
// on Darwin, TLS can not be accessed across .so
|
|
@@ -56,7 +56,8 @@
|
|
|
56
56
|
#define RVALUE_SIZE (sizeof(struct RBasic) + sizeof(VALUE[RBIMPL_RVALUE_EMBED_LEN_MAX]))
|
|
57
57
|
|
|
58
58
|
#if VM_CHECK_MODE > 0
|
|
59
|
-
#define VM_ASSERT(
|
|
59
|
+
#define VM_ASSERT(expr, ...) \
|
|
60
|
+
RUBY_ASSERT_MESG_WHEN(VM_CHECK_MODE > 0, expr, #expr RBIMPL_VA_OPT_ARGS(__VA_ARGS__))
|
|
60
61
|
#define VM_UNREACHABLE(func) rb_bug(#func ": unreachable")
|
|
61
62
|
#define RUBY_ASSERT_CRITICAL_SECTION
|
|
62
63
|
#define RUBY_DEBUG_THREAD_SCHEDULE() rb_thread_schedule()
|
|
@@ -69,7 +70,30 @@
|
|
|
69
70
|
#define RUBY_ASSERT_MUTEX_OWNED(mutex) VM_ASSERT(rb_mutex_owned_p(mutex))
|
|
70
71
|
|
|
71
72
|
#if defined(RUBY_ASSERT_CRITICAL_SECTION)
|
|
72
|
-
|
|
73
|
+
/*
|
|
74
|
+
# Critical Section Assertions
|
|
75
|
+
|
|
76
|
+
These assertions are used to ensure that context switching does not occur between two points in the code. In theory,
|
|
77
|
+
such code should already be protected by a mutex, but these assertions are used to ensure that the mutex is held.
|
|
78
|
+
|
|
79
|
+
The specific case where it can be useful is where a mutex is held further up the call stack, and the code in question
|
|
80
|
+
may not directly hold the mutex. In this case, the critical section assertions can be used to ensure that the mutex is
|
|
81
|
+
held by someone else.
|
|
82
|
+
|
|
83
|
+
These assertions are only enabled when RUBY_ASSERT_CRITICAL_SECTION is defined, which is only defined if VM_CHECK_MODE
|
|
84
|
+
is set.
|
|
85
|
+
|
|
86
|
+
## Example Usage
|
|
87
|
+
|
|
88
|
+
```c
|
|
89
|
+
RUBY_ASSERT_CRITICAL_SECTION_ENTER();
|
|
90
|
+
// ... some code which does not invoke rb_vm_check_ints() ...
|
|
91
|
+
RUBY_ASSERT_CRITICAL_SECTION_LEAVE();
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If `rb_vm_check_ints()` is called between the `RUBY_ASSERT_CRITICAL_SECTION_ENTER()` and
|
|
95
|
+
`RUBY_ASSERT_CRITICAL_SECTION_LEAVE()`, a failed assertion will result.
|
|
96
|
+
*/
|
|
73
97
|
extern int ruby_assert_critical_section_entered;
|
|
74
98
|
#define RUBY_ASSERT_CRITICAL_SECTION_ENTER() do{ruby_assert_critical_section_entered += 1;}while(false)
|
|
75
99
|
#define RUBY_ASSERT_CRITICAL_SECTION_LEAVE() do{VM_ASSERT(ruby_assert_critical_section_entered > 0);ruby_assert_critical_section_entered -= 1;}while(false)
|
|
@@ -105,15 +129,6 @@ extern int ruby_assert_critical_section_entered;
|
|
|
105
129
|
#include "vm_opts.h"
|
|
106
130
|
|
|
107
131
|
#include "ruby/thread_native.h"
|
|
108
|
-
|
|
109
|
-
#if USE_SHARED_GC
|
|
110
|
-
typedef struct gc_function_map {
|
|
111
|
-
void *(*objspace_alloc)(void);
|
|
112
|
-
} rb_gc_function_map_t;
|
|
113
|
-
|
|
114
|
-
#define rb_gc_functions (&GET_VM()->gc_functions_map)
|
|
115
|
-
#endif
|
|
116
|
-
|
|
117
132
|
/*
|
|
118
133
|
* implementation selector of get_insn_info algorithm
|
|
119
134
|
* 0: linear search
|
|
@@ -238,6 +253,8 @@ union ic_serial_entry {
|
|
|
238
253
|
VALUE data[2];
|
|
239
254
|
};
|
|
240
255
|
|
|
256
|
+
#define IMEMO_CONST_CACHE_SHAREABLE IMEMO_FL_USER0
|
|
257
|
+
|
|
241
258
|
// imemo_constcache
|
|
242
259
|
struct iseq_inline_constant_cache_entry {
|
|
243
260
|
VALUE flags;
|
|
@@ -378,6 +395,8 @@ enum rb_builtin_attr {
|
|
|
378
395
|
BUILTIN_ATTR_SINGLE_NOARG_LEAF = 0x02,
|
|
379
396
|
// This attribute signals JIT to duplicate the iseq for each block iseq so that its `yield` will be monomorphic.
|
|
380
397
|
BUILTIN_ATTR_INLINE_BLOCK = 0x04,
|
|
398
|
+
// The iseq acts like a C method in backtraces.
|
|
399
|
+
BUILTIN_ATTR_C_TRACE = 0x08,
|
|
381
400
|
};
|
|
382
401
|
|
|
383
402
|
typedef VALUE (*rb_jit_func_t)(struct rb_execution_context_struct *, struct rb_control_frame_struct *);
|
|
@@ -427,6 +446,7 @@ struct rb_iseq_constant_body {
|
|
|
427
446
|
unsigned int anon_rest: 1;
|
|
428
447
|
unsigned int anon_kwrest: 1;
|
|
429
448
|
unsigned int use_block: 1;
|
|
449
|
+
unsigned int forwardable: 1;
|
|
430
450
|
} flags;
|
|
431
451
|
|
|
432
452
|
unsigned int size;
|
|
@@ -586,6 +606,12 @@ rb_iseq_check(const rb_iseq_t *iseq)
|
|
|
586
606
|
return iseq;
|
|
587
607
|
}
|
|
588
608
|
|
|
609
|
+
static inline bool
|
|
610
|
+
rb_iseq_attr_p(const rb_iseq_t *iseq, enum rb_builtin_attr attr)
|
|
611
|
+
{
|
|
612
|
+
return (ISEQ_BODY(iseq)->builtin_attrs & attr) == attr;
|
|
613
|
+
}
|
|
614
|
+
|
|
589
615
|
static inline const rb_iseq_t *
|
|
590
616
|
def_iseq_ptr(rb_method_definition_t *def)
|
|
591
617
|
{
|
|
@@ -616,10 +642,9 @@ typedef struct rb_at_exit_list {
|
|
|
616
642
|
struct rb_at_exit_list *next;
|
|
617
643
|
} rb_at_exit_list;
|
|
618
644
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
void
|
|
622
|
-
void rb_objspace_call_finalizer(struct rb_objspace *);
|
|
645
|
+
void *rb_objspace_alloc(void);
|
|
646
|
+
void rb_objspace_free(void *objspace);
|
|
647
|
+
void rb_objspace_call_finalizer(void);
|
|
623
648
|
|
|
624
649
|
typedef struct rb_hook_list_struct {
|
|
625
650
|
struct rb_event_hook_struct *hooks;
|
|
@@ -743,9 +768,6 @@ typedef struct rb_vm_struct {
|
|
|
743
768
|
VALUE cmd[RUBY_NSIG];
|
|
744
769
|
} trap_list;
|
|
745
770
|
|
|
746
|
-
/* relation table of ensure - rollback for callcc */
|
|
747
|
-
struct st_table *ensure_rollback_table;
|
|
748
|
-
|
|
749
771
|
/* postponed_job (async-signal-safe, and thread-safe) */
|
|
750
772
|
struct rb_postponed_job_queue *postponed_job_queue;
|
|
751
773
|
|
|
@@ -759,10 +781,13 @@ typedef struct rb_vm_struct {
|
|
|
759
781
|
VALUE coverages, me2counter;
|
|
760
782
|
int coverage_mode;
|
|
761
783
|
|
|
762
|
-
struct
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
784
|
+
struct {
|
|
785
|
+
struct rb_objspace *objspace;
|
|
786
|
+
struct gc_mark_func_data_struct {
|
|
787
|
+
void *data;
|
|
788
|
+
void (*mark_func)(VALUE v, void *data);
|
|
789
|
+
} *mark_func_data;
|
|
790
|
+
} gc;
|
|
766
791
|
|
|
767
792
|
rb_at_exit_list *at_exit;
|
|
768
793
|
|
|
@@ -774,13 +799,13 @@ typedef struct rb_vm_struct {
|
|
|
774
799
|
struct rb_id_table *negative_cme_table;
|
|
775
800
|
st_table *overloaded_cme_table; // cme -> overloaded_cme
|
|
776
801
|
st_table *unused_block_warning_table;
|
|
777
|
-
bool unused_block_warning_strict;
|
|
778
802
|
|
|
779
803
|
// This id table contains a mapping from ID to ICs. It does this with ID
|
|
780
804
|
// keys and nested st_tables as values. The nested tables have ICs as keys
|
|
781
805
|
// and Qtrue as values. It is used when inline constant caches need to be
|
|
782
806
|
// invalidated or ISEQs are being freed.
|
|
783
807
|
struct rb_id_table *constant_cache;
|
|
808
|
+
ID inserting_constant_cache_id;
|
|
784
809
|
|
|
785
810
|
#ifndef VM_GLOBAL_CC_CACHE_TABLE_SIZE
|
|
786
811
|
#define VM_GLOBAL_CC_CACHE_TABLE_SIZE 1023
|
|
@@ -986,17 +1011,6 @@ struct rb_unblock_callback {
|
|
|
986
1011
|
|
|
987
1012
|
struct rb_mutex_struct;
|
|
988
1013
|
|
|
989
|
-
typedef struct rb_ensure_entry {
|
|
990
|
-
VALUE marker;
|
|
991
|
-
VALUE (*e_proc)(VALUE);
|
|
992
|
-
VALUE data2;
|
|
993
|
-
} rb_ensure_entry_t;
|
|
994
|
-
|
|
995
|
-
typedef struct rb_ensure_list {
|
|
996
|
-
struct rb_ensure_list *next;
|
|
997
|
-
struct rb_ensure_entry entry;
|
|
998
|
-
} rb_ensure_list_t;
|
|
999
|
-
|
|
1000
1014
|
typedef struct rb_fiber_struct rb_fiber_t;
|
|
1001
1015
|
|
|
1002
1016
|
struct rb_waiting_list {
|
|
@@ -1035,9 +1049,6 @@ struct rb_execution_context_struct {
|
|
|
1035
1049
|
const VALUE *root_lep;
|
|
1036
1050
|
VALUE root_svar;
|
|
1037
1051
|
|
|
1038
|
-
/* ensure & callcc */
|
|
1039
|
-
rb_ensure_list_t *ensure_list;
|
|
1040
|
-
|
|
1041
1052
|
/* trace information */
|
|
1042
1053
|
struct rb_trace_arg_struct *trace_arg;
|
|
1043
1054
|
|
|
@@ -1146,6 +1157,7 @@ typedef struct rb_thread_struct {
|
|
|
1146
1157
|
struct rb_unblock_callback unblock;
|
|
1147
1158
|
VALUE locking_mutex;
|
|
1148
1159
|
struct rb_mutex_struct *keeping_mutexes;
|
|
1160
|
+
struct ccan_list_head interrupt_exec_tasks;
|
|
1149
1161
|
|
|
1150
1162
|
struct rb_waiting_list *join_list;
|
|
1151
1163
|
|
|
@@ -1213,7 +1225,7 @@ rb_iseq_t *rb_iseq_new (const VALUE ast_value, VALUE name, VALUE path, V
|
|
|
1213
1225
|
rb_iseq_t *rb_iseq_new_top (const VALUE ast_value, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent);
|
|
1214
1226
|
rb_iseq_t *rb_iseq_new_main (const VALUE ast_value, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt);
|
|
1215
1227
|
rb_iseq_t *rb_iseq_new_eval (const VALUE ast_value, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth);
|
|
1216
|
-
rb_iseq_t *rb_iseq_new_with_opt(
|
|
1228
|
+
rb_iseq_t *rb_iseq_new_with_opt( VALUE ast_value, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth,
|
|
1217
1229
|
enum rb_iseq_type, const rb_compile_option_t*,
|
|
1218
1230
|
VALUE script_lines);
|
|
1219
1231
|
|
|
@@ -1296,6 +1308,15 @@ enum vm_check_match_type {
|
|
|
1296
1308
|
#define VM_CHECKMATCH_TYPE_MASK 0x03
|
|
1297
1309
|
#define VM_CHECKMATCH_ARRAY 0x04
|
|
1298
1310
|
|
|
1311
|
+
enum vm_opt_newarray_send_type {
|
|
1312
|
+
VM_OPT_NEWARRAY_SEND_MAX = 1,
|
|
1313
|
+
VM_OPT_NEWARRAY_SEND_MIN = 2,
|
|
1314
|
+
VM_OPT_NEWARRAY_SEND_HASH = 3,
|
|
1315
|
+
VM_OPT_NEWARRAY_SEND_PACK = 4,
|
|
1316
|
+
VM_OPT_NEWARRAY_SEND_PACK_BUFFER = 5,
|
|
1317
|
+
VM_OPT_NEWARRAY_SEND_INCLUDE_P = 6,
|
|
1318
|
+
};
|
|
1319
|
+
|
|
1299
1320
|
enum vm_special_object_type {
|
|
1300
1321
|
VM_SPECIAL_OBJECT_VMCORE = 1,
|
|
1301
1322
|
VM_SPECIAL_OBJECT_CBASE,
|
|
@@ -1501,22 +1522,13 @@ VM_ENV_ESCAPED_P(const VALUE *ep)
|
|
|
1501
1522
|
return VM_ENV_FLAGS(ep, VM_ENV_FLAG_ESCAPED) ? 1 : 0;
|
|
1502
1523
|
}
|
|
1503
1524
|
|
|
1504
|
-
#if VM_CHECK_MODE > 0
|
|
1505
|
-
static inline int
|
|
1506
|
-
vm_assert_env(VALUE obj)
|
|
1507
|
-
{
|
|
1508
|
-
VM_ASSERT(imemo_type_p(obj, imemo_env));
|
|
1509
|
-
return 1;
|
|
1510
|
-
}
|
|
1511
|
-
#endif
|
|
1512
|
-
|
|
1513
1525
|
RBIMPL_ATTR_NONNULL((1))
|
|
1514
1526
|
static inline VALUE
|
|
1515
1527
|
VM_ENV_ENVVAL(const VALUE *ep)
|
|
1516
1528
|
{
|
|
1517
1529
|
VALUE envval = ep[VM_ENV_DATA_INDEX_ENV];
|
|
1518
1530
|
VM_ASSERT(VM_ENV_ESCAPED_P(ep));
|
|
1519
|
-
VM_ASSERT(
|
|
1531
|
+
VM_ASSERT(envval == Qundef || imemo_type_p(envval, imemo_env));
|
|
1520
1532
|
return envval;
|
|
1521
1533
|
}
|
|
1522
1534
|
|
|
@@ -1959,6 +1971,8 @@ rb_ec_vm_ptr(const rb_execution_context_t *ec)
|
|
|
1959
1971
|
}
|
|
1960
1972
|
}
|
|
1961
1973
|
|
|
1974
|
+
NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void));
|
|
1975
|
+
|
|
1962
1976
|
static inline rb_execution_context_t *
|
|
1963
1977
|
rb_current_execution_context(bool expect_ec)
|
|
1964
1978
|
{
|
|
@@ -18,7 +18,7 @@ module Datadog
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
ruby_dir = if RUBY_PATCHLEVEL < 0
|
|
21
|
-
|
|
21
|
+
extract_beta_ruby_version
|
|
22
22
|
else
|
|
23
23
|
"ruby-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
|
24
24
|
end
|
|
@@ -36,6 +36,7 @@ module Datadog
|
|
|
36
36
|
|
|
37
37
|
# Look for sources that ship with gem
|
|
38
38
|
dest_dir = deduce_packaged_source_dir(ruby_dir)
|
|
39
|
+
$stderr.puts "Using datadog-ruby_core_source headers from #{dest_dir}"
|
|
39
40
|
no_source_abort(ruby_dir) unless File.directory?(dest_dir)
|
|
40
41
|
|
|
41
42
|
with_cppflags("-I" + dest_dir) {
|
|
@@ -89,5 +90,17 @@ No source for #{ruby_version} provided with datadog-ruby_core_source gem.
|
|
|
89
90
|
**************************************************************************
|
|
90
91
|
STR
|
|
91
92
|
end
|
|
93
|
+
|
|
94
|
+
def self.extract_beta_ruby_version
|
|
95
|
+
# Example Ruby description:
|
|
96
|
+
# ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +PRISM [x86_64-linux]
|
|
97
|
+
beta_suffix = RUBY_DESCRIPTION.split[1].sub(RUBY_VERSION, "")
|
|
98
|
+
|
|
99
|
+
if beta_suffix.start_with?("preview", "rc")
|
|
100
|
+
"ruby-#{RUBY_VERSION}-#{beta_suffix}"
|
|
101
|
+
else # Don't touch it
|
|
102
|
+
"ruby-#{RUBY_VERSION}"
|
|
103
|
+
end
|
|
104
|
+
end
|
|
92
105
|
end
|
|
93
106
|
end
|