datadog-ruby_core_source 3.3.7 → 3.4.1
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 +9 -0
- data/README.md +8 -5
- data/datadog-ruby_core_source.gemspec +1 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/id.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/gc.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/proc.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/sanitizers.h +24 -36
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/ast.h +10 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/version.h +2 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/ractor_core.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/rubyparser.h +3 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/id.h +5 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/basic_operators.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/bits.h +82 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/cmdlineopt.h +0 -4
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/encoding.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/error.h +26 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/fixnum.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/gc.h +20 -9
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/hash.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/imemo.h +9 -13
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/io.h +2 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/parse.h +4 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/proc.h +1 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ractor.h +4 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/re.h +2 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/sanitizers.h +43 -39
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/string.h +23 -10
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/struct.h +0 -8
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/symbol.h +2 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/thread.h +23 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/time.h +4 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/variable.h +0 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/vm.h +1 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/iseq.h +12 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/method.h +4 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/node.h +14 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/ast.h +443 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/defines.h +26 -8
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/diagnostic.h +1 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/extension.h +4 -4
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/options.h +47 -1
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prism.h +51 -4
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_buffer.h +10 -0
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/version.h +2 -2
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism_compile.h +11 -5
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ractor_core.h +6 -6
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/rubyparser.h +39 -9
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/thread_pthread.h +2 -3
- data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_core.h +43 -30
- data/lib/datadog/ruby_core_source/version.rb +1 -1
- metadata +209 -209
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id_table.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/basic_operators.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/bits.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compar.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compile.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/complex.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cont.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/dir.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enc.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/encoding.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/eval.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/file.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/fixnum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/imemo.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/inits.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/io.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/load.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/math.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/missing.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/object.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/process.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/ractor.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/random.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/range.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/rational.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/re.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/serial.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/signal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/string.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/struct.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/thread.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/time.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/util.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/variable.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/vm.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/iseq.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/method.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/node.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_value.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/defines.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/diagnostic.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/pack.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/prism.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism_compile.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_none.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/thread_pthread.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/vm_core.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_debug.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_opts.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ccan/check_type/check_type.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ccan/container_of/container_of.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ccan/list/list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ccan/str/str.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/id_table.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/array.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/bignum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/class.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/compar.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/compile.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/compilers.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/complex.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/cont.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/dir.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/enc.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/enum.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/enumerator.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/eval.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/file.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/inits.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/load.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/loadpath.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/math.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/missing.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/numeric.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/object.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/process.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/random.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/range.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/rational.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/ruby_parser.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/serial.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/signal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/static_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/transcode.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/util.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal/warnings.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/internal.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/parser_st.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/parser_value.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/encoding.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/node.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/pack.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/parser.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/prettyprint.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/regexp.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/static_literals.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_char.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_constant_pool.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_integer.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_memchr.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_newline_list.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_string.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ruby_assert.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/ruby_atomic.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/shape.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/thread_none.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/vm_debug.h +0 -0
- /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.5.0-preview1}/vm_opts.h +0 -0
@@ -70,7 +70,30 @@
|
|
70
70
|
#define RUBY_ASSERT_MUTEX_OWNED(mutex) VM_ASSERT(rb_mutex_owned_p(mutex))
|
71
71
|
|
72
72
|
#if defined(RUBY_ASSERT_CRITICAL_SECTION)
|
73
|
-
|
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
|
+
*/
|
74
97
|
extern int ruby_assert_critical_section_entered;
|
75
98
|
#define RUBY_ASSERT_CRITICAL_SECTION_ENTER() do{ruby_assert_critical_section_entered += 1;}while(false)
|
76
99
|
#define RUBY_ASSERT_CRITICAL_SECTION_LEAVE() do{VM_ASSERT(ruby_assert_critical_section_entered > 0);ruby_assert_critical_section_entered -= 1;}while(false)
|
@@ -230,6 +253,8 @@ union ic_serial_entry {
|
|
230
253
|
VALUE data[2];
|
231
254
|
};
|
232
255
|
|
256
|
+
#define IMEMO_CONST_CACHE_SHAREABLE IMEMO_FL_USER0
|
257
|
+
|
233
258
|
// imemo_constcache
|
234
259
|
struct iseq_inline_constant_cache_entry {
|
235
260
|
VALUE flags;
|
@@ -340,8 +365,6 @@ pathobj_realpath(VALUE pathobj)
|
|
340
365
|
}
|
341
366
|
|
342
367
|
/* Forward declarations */
|
343
|
-
struct rb_rjit_unit;
|
344
|
-
|
345
368
|
typedef uintptr_t iseq_bits_t;
|
346
369
|
|
347
370
|
#define ISEQ_IS_SIZE(body) (body->ic_size + body->ivc_size + body->ise_size + body->icvarc_size)
|
@@ -370,6 +393,8 @@ enum rb_builtin_attr {
|
|
370
393
|
BUILTIN_ATTR_SINGLE_NOARG_LEAF = 0x02,
|
371
394
|
// This attribute signals JIT to duplicate the iseq for each block iseq so that its `yield` will be monomorphic.
|
372
395
|
BUILTIN_ATTR_INLINE_BLOCK = 0x04,
|
396
|
+
// The iseq acts like a C method in backtraces.
|
397
|
+
BUILTIN_ATTR_C_TRACE = 0x08,
|
373
398
|
};
|
374
399
|
|
375
400
|
typedef VALUE (*rb_jit_func_t)(struct rb_execution_context_struct *, struct rb_control_frame_struct *);
|
@@ -509,26 +534,15 @@ struct rb_iseq_constant_body {
|
|
509
534
|
|
510
535
|
const rb_iseq_t *mandatory_only_iseq;
|
511
536
|
|
512
|
-
#if
|
537
|
+
#if USE_YJIT
|
513
538
|
// Function pointer for JIT code on jit_exec()
|
514
539
|
rb_jit_func_t jit_entry;
|
515
540
|
// Number of calls on jit_exec()
|
516
541
|
long unsigned jit_entry_calls;
|
517
|
-
#endif
|
518
|
-
|
519
|
-
#if USE_YJIT
|
520
542
|
// Function pointer for JIT code on jit_exec_exception()
|
521
543
|
rb_jit_func_t jit_exception;
|
522
544
|
// Number of calls on jit_exec_exception()
|
523
545
|
long unsigned jit_exception_calls;
|
524
|
-
#endif
|
525
|
-
|
526
|
-
#if USE_RJIT
|
527
|
-
// RJIT stores some data on each iseq.
|
528
|
-
VALUE rjit_blocks;
|
529
|
-
#endif
|
530
|
-
|
531
|
-
#if USE_YJIT
|
532
546
|
// YJIT stores some data on each iseq.
|
533
547
|
void *yjit_payload;
|
534
548
|
// Used to estimate how frequently this ISEQ gets called
|
@@ -579,6 +593,12 @@ rb_iseq_check(const rb_iseq_t *iseq)
|
|
579
593
|
return iseq;
|
580
594
|
}
|
581
595
|
|
596
|
+
static inline bool
|
597
|
+
rb_iseq_attr_p(const rb_iseq_t *iseq, enum rb_builtin_attr attr)
|
598
|
+
{
|
599
|
+
return (ISEQ_BODY(iseq)->builtin_attrs & attr) == attr;
|
600
|
+
}
|
601
|
+
|
582
602
|
static inline const rb_iseq_t *
|
583
603
|
def_iseq_ptr(rb_method_definition_t *def)
|
584
604
|
{
|
@@ -766,13 +786,13 @@ typedef struct rb_vm_struct {
|
|
766
786
|
struct rb_id_table *negative_cme_table;
|
767
787
|
st_table *overloaded_cme_table; // cme -> overloaded_cme
|
768
788
|
st_table *unused_block_warning_table;
|
769
|
-
bool unused_block_warning_strict;
|
770
789
|
|
771
790
|
// This id table contains a mapping from ID to ICs. It does this with ID
|
772
791
|
// keys and nested st_tables as values. The nested tables have ICs as keys
|
773
792
|
// and Qtrue as values. It is used when inline constant caches need to be
|
774
793
|
// invalidated or ISEQs are being freed.
|
775
794
|
struct rb_id_table *constant_cache;
|
795
|
+
ID inserting_constant_cache_id;
|
776
796
|
|
777
797
|
#ifndef VM_GLOBAL_CC_CACHE_TABLE_SIZE
|
778
798
|
#define VM_GLOBAL_CC_CACHE_TABLE_SIZE 1023
|
@@ -1124,6 +1144,7 @@ typedef struct rb_thread_struct {
|
|
1124
1144
|
struct rb_unblock_callback unblock;
|
1125
1145
|
VALUE locking_mutex;
|
1126
1146
|
struct rb_mutex_struct *keeping_mutexes;
|
1147
|
+
struct ccan_list_head interrupt_exec_tasks;
|
1127
1148
|
|
1128
1149
|
struct rb_waiting_list *join_list;
|
1129
1150
|
|
@@ -1146,9 +1167,6 @@ typedef struct rb_thread_struct {
|
|
1146
1167
|
thread_invoke_type_func
|
1147
1168
|
} invoke_type;
|
1148
1169
|
|
1149
|
-
/* statistics data for profiler */
|
1150
|
-
VALUE stat_insn_usage;
|
1151
|
-
|
1152
1170
|
/* fiber */
|
1153
1171
|
rb_fiber_t *root_fiber;
|
1154
1172
|
|
@@ -1280,6 +1298,7 @@ enum vm_opt_newarray_send_type {
|
|
1280
1298
|
VM_OPT_NEWARRAY_SEND_HASH = 3,
|
1281
1299
|
VM_OPT_NEWARRAY_SEND_PACK = 4,
|
1282
1300
|
VM_OPT_NEWARRAY_SEND_PACK_BUFFER = 5,
|
1301
|
+
VM_OPT_NEWARRAY_SEND_INCLUDE_P = 6,
|
1283
1302
|
};
|
1284
1303
|
|
1285
1304
|
enum vm_special_object_type {
|
@@ -1487,22 +1506,13 @@ VM_ENV_ESCAPED_P(const VALUE *ep)
|
|
1487
1506
|
return VM_ENV_FLAGS(ep, VM_ENV_FLAG_ESCAPED) ? 1 : 0;
|
1488
1507
|
}
|
1489
1508
|
|
1490
|
-
#if VM_CHECK_MODE > 0
|
1491
|
-
static inline int
|
1492
|
-
vm_assert_env(VALUE obj)
|
1493
|
-
{
|
1494
|
-
VM_ASSERT(imemo_type_p(obj, imemo_env));
|
1495
|
-
return 1;
|
1496
|
-
}
|
1497
|
-
#endif
|
1498
|
-
|
1499
1509
|
RBIMPL_ATTR_NONNULL((1))
|
1500
1510
|
static inline VALUE
|
1501
1511
|
VM_ENV_ENVVAL(const VALUE *ep)
|
1502
1512
|
{
|
1503
1513
|
VALUE envval = ep[VM_ENV_DATA_INDEX_ENV];
|
1504
1514
|
VM_ASSERT(VM_ENV_ESCAPED_P(ep));
|
1505
|
-
VM_ASSERT(
|
1515
|
+
VM_ASSERT(envval == Qundef || imemo_type_p(envval, imemo_env));
|
1506
1516
|
return envval;
|
1507
1517
|
}
|
1508
1518
|
|
@@ -1834,6 +1844,7 @@ rb_vm_make_lambda(const rb_execution_context_t *ec, const struct rb_captured_blo
|
|
1834
1844
|
|
1835
1845
|
VALUE rb_vm_make_binding(const rb_execution_context_t *ec, const rb_control_frame_t *src_cfp);
|
1836
1846
|
VALUE rb_vm_env_local_variables(const rb_env_t *env);
|
1847
|
+
VALUE rb_vm_env_numbered_parameters(const rb_env_t *env);
|
1837
1848
|
const rb_env_t *rb_vm_env_prev_env(const rb_env_t *env);
|
1838
1849
|
const VALUE *rb_binding_add_dynavars(VALUE bindval, rb_binding_t *bind, int dyncount, const ID *dynvars);
|
1839
1850
|
void rb_vm_inc_const_missing_count(void);
|
@@ -1945,11 +1956,13 @@ rb_ec_vm_ptr(const rb_execution_context_t *ec)
|
|
1945
1956
|
}
|
1946
1957
|
}
|
1947
1958
|
|
1959
|
+
NOINLINE(struct rb_execution_context_struct *rb_current_ec_noinline(void));
|
1960
|
+
|
1948
1961
|
static inline rb_execution_context_t *
|
1949
1962
|
rb_current_execution_context(bool expect_ec)
|
1950
1963
|
{
|
1951
1964
|
#ifdef RB_THREAD_LOCAL_SPECIFIER
|
1952
|
-
#
|
1965
|
+
#if defined(__arm64__) || defined(__aarch64__)
|
1953
1966
|
rb_execution_context_t *ec = rb_current_ec();
|
1954
1967
|
#else
|
1955
1968
|
rb_execution_context_t *ec = ruby_current_ec;
|