debase-ruby_core_source 3.2.2 → 3.2.3

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.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/addr2line.h +3 -1
  4. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns_info.inc +60 -60
  5. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/array.h +8 -1
  6. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bits.h +6 -6
  7. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/class.h +7 -3
  8. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cmdlineopt.h +2 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/gc.h +1 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/hash.h +1 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/imemo.h +0 -1
  12. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/parse.h +7 -32
  13. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/thread.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/variable.h +1 -2
  15. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/vm.h +4 -2
  16. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/method.h +7 -6
  17. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node.h +22 -19
  18. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/node_name.inc +4 -2
  19. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parse.h +16 -5
  20. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h +32 -0
  21. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h +18 -0
  22. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ractor_core.h +7 -1
  23. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regint.h +8 -0
  24. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regparse.h +2 -1
  25. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +5 -0
  26. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h +1403 -0
  27. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/shape.h +32 -22
  28. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/symbol.h +1 -2
  29. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_none.h +1 -0
  30. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/thread_pthread.h +166 -0
  31. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/thread_win32.h +1 -1
  32. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/variable.h +9 -2
  33. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/version.h +7 -3
  34. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm.inc +170 -183
  35. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_callinfo.h +4 -0
  36. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_core.h +64 -11
  37. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/yjit.h +10 -8
  38. data/lib/debase/ruby_core_source/version.rb +1 -1
  39. metadata +120 -119
  40. data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/parser_node.h +0 -133
  41. data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/revision.h +0 -5
  42. data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/rubyparser.h +0 -628
  43. data/lib/debase/ruby_core_source/ruby-3.3.0-preview2/thread_pthread.h +0 -126
  44. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/builtin.h +0 -0
  45. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/build_assert/build_assert.h +0 -0
  46. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/check_type/check_type.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/container_of/container_of.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/list/list.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ccan/str/str.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/constant.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/darray.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/debug_counter.h +0 -0
  53. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/dln.h +0 -0
  54. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/encindex.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/eval_intern.h +0 -0
  56. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/hrtime.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id.h +0 -0
  58. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/id_table.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/insns.inc +0 -0
  60. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/basic_operators.h +0 -0
  61. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/bignum.h +0 -0
  62. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compar.h +0 -0
  63. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compile.h +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/compilers.h +0 -0
  65. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/complex.h +0 -0
  66. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/cont.h +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/dir.h +0 -0
  68. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enc.h +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/encoding.h +0 -0
  70. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enum.h +0 -0
  71. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/enumerator.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/error.h +0 -0
  73. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/eval.h +0 -0
  74. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/file.h +0 -0
  75. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/fixnum.h +0 -0
  76. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/inits.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/io.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/load.h +0 -0
  79. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/loadpath.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/math.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/missing.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/numeric.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/object.h +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/proc.h +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/process.h +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ractor.h +0 -0
  87. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/random.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/range.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/rational.h +0 -0
  90. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/re.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/ruby_parser.h +2 -2
  92. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/sanitizers.h +0 -0
  93. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/serial.h +0 -0
  94. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/signal.h +0 -0
  95. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/static_assert.h +0 -0
  96. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/string.h +0 -0
  97. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/struct.h +0 -0
  98. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/symbol.h +0 -0
  99. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/time.h +0 -0
  100. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/transcode.h +0 -0
  101. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/util.h +0 -0
  102. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal/warnings.h +0 -0
  103. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/internal.h +0 -0
  104. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/iseq.h +0 -0
  105. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/known_errors.inc +0 -0
  106. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optinsn.inc +0 -0
  107. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/optunifs.inc +0 -0
  108. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_bits.h +0 -0
  109. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_st.h +0 -0
  110. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/parser_value.h +0 -0
  111. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/probes_helper.h +0 -0
  112. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/regenc.h +0 -0
  113. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit.h +0 -0
  114. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/rjit_c.h +0 -0
  115. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_assert.h +0 -0
  116. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/ruby_atomic.h +0 -0
  117. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/siphash.h +0 -0
  118. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/timev.h +0 -0
  119. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/transcode_data.h +0 -0
  120. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_call_iseq_optimized.inc +0 -0
  121. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_debug.h +0 -0
  122. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_exec.h +0 -0
  123. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_insnhelper.h +0 -0
  124. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_opts.h +0 -0
  125. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vm_sync.h +0 -0
  126. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview2 → ruby-3.3.0-preview3}/vmtc.inc +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3f80f8cffab69100083129a38efef3346d80035b6e8a57b0809e6869ea1846c
4
- data.tar.gz: eddce4523d7a7ae783d9b2e7d0ca0926ecdd349f7a2852e519e754c2396138e7
3
+ metadata.gz: ed9e73833a6f205fcb9ae9810dfeb04d06c6de3fa27b968e3a726f3812b55950
4
+ data.tar.gz: 7e108c9dcf50ab8b5178653f1bad24ee8dc3fd85f11e0914ebd8e889fd644165
5
5
  SHA512:
6
- metadata.gz: 3697bae670caecc8ae9276ae60adf2802d64c3f2531bf0601afc528a4d21085bc9e32b1cc8a63c88d83fa6726d53badee0714b1415b6bbb6aae911692214b57f
7
- data.tar.gz: 991f262f4460a2c7ed36fe0b99336579f2f145d59e9cbb52358028bebfdfccbabb901d7401419cbcfe3b7f00020a6cb544ede897058a4e9369ed6e9dc1534691
6
+ metadata.gz: 74f631a3f2442bd859eac9583fbd304e3940f4f44b01045406d70e4fb1d689470e0331795712178ddc27a177bdcb833ecf263a3b908b522ec67eaa72b0a8e42a
7
+ data.tar.gz: 1413f978addd04640918cb452017b28e981f9ad9d5eeaef4c8594793598c55b29475f5fb83b98b2f831580d38902cefb5439426001110838edccd6d7e6e3fefe
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [3.2.3](https://github.com/ruby-debug/debase-ruby_core_source/compare/3.2.3...3.2.2)
2
+
3
+ * ruby-3.3.0-preview3 sources added
4
+ * ruby-3.3.0-preview2 sources removed
5
+
1
6
  ## [3.2.2](https://github.com/ruby-debug/debase-ruby_core_source/compare/3.2.2...3.2.1)
2
7
 
3
8
  * ruby-3.3.0-preview2 sources added
@@ -12,8 +12,10 @@
12
12
 
13
13
  #if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))
14
14
 
15
+ #include <stdio.h>
16
+
15
17
  void
16
- rb_dump_backtrace_with_lines(int num_traces, void **traces);
18
+ rb_dump_backtrace_with_lines(int num_traces, void **traces, FILE *errout);
17
19
 
18
20
  #endif /* USE_ELF */
19
21
 
@@ -2565,7 +2565,7 @@ bool
2565
2565
  attr_leaf_getconstant(MAYBE_UNUSED(ID id))
2566
2566
  {
2567
2567
  return
2568
- #line 289 "insns.def"
2568
+ #line 276 "insns.def"
2569
2569
  false;
2570
2570
  #line 2571 "insns_info.inc"
2571
2571
  }
@@ -2631,7 +2631,7 @@ bool
2631
2631
  attr_leaf_setconstant(MAYBE_UNUSED(ID id))
2632
2632
  {
2633
2633
  return
2634
- #line 305 "insns.def"
2634
+ #line 292 "insns.def"
2635
2635
  false;
2636
2636
  #line 2637 "insns_info.inc"
2637
2637
  }
@@ -2697,7 +2697,7 @@ bool
2697
2697
  attr_leaf_getglobal(MAYBE_UNUSED(ID gid))
2698
2698
  {
2699
2699
  return
2700
- #line 318 "insns.def"
2700
+ #line 305 "insns.def"
2701
2701
  false;
2702
2702
  #line 2703 "insns_info.inc"
2703
2703
  }
@@ -2763,7 +2763,7 @@ bool
2763
2763
  attr_leaf_setglobal(MAYBE_UNUSED(ID gid))
2764
2764
  {
2765
2765
  return
2766
- #line 329 "insns.def"
2766
+ #line 316 "insns.def"
2767
2767
  false;
2768
2768
  #line 2769 "insns_info.inc"
2769
2769
  }
@@ -3018,7 +3018,7 @@ bool
3018
3018
  attr_leaf_putspecialobject(MAYBE_UNUSED(rb_num_t value_type))
3019
3019
  {
3020
3020
  return
3021
- #line 376 "insns.def"
3021
+ #line 363 "insns.def"
3022
3022
  (value_type == VM_SPECIAL_OBJECT_VMCORE);
3023
3023
  #line 3024 "insns_info.inc"
3024
3024
  }
@@ -3147,7 +3147,7 @@ bool
3147
3147
  attr_leaf_concatstrings(MAYBE_UNUSED(rb_num_t num))
3148
3148
  {
3149
3149
  return
3150
- #line 402 "insns.def"
3150
+ #line 389 "insns.def"
3151
3151
  false;
3152
3152
  #line 3153 "insns_info.inc"
3153
3153
  }
@@ -3185,7 +3185,7 @@ rb_snum_t
3185
3185
  attr_sp_inc_concatstrings(MAYBE_UNUSED(rb_num_t num))
3186
3186
  {
3187
3187
  return
3188
- #line 403 "insns.def"
3188
+ #line 390 "insns.def"
3189
3189
  1 - (rb_snum_t)num;
3190
3190
  #line 3191 "insns_info.inc"
3191
3191
  }
@@ -3288,7 +3288,7 @@ attr_leaf_toregexp(
3288
3288
  )
3289
3289
  {
3290
3290
  return
3291
- #line 429 "insns.def"
3291
+ #line 416 "insns.def"
3292
3292
  false;
3293
3293
  #line 3294 "insns_info.inc"
3294
3294
  }
@@ -3341,7 +3341,7 @@ attr_sp_inc_toregexp(
3341
3341
  )
3342
3342
  {
3343
3343
  return
3344
- #line 430 "insns.def"
3344
+ #line 417 "insns.def"
3345
3345
  1 - (rb_snum_t)cnt;
3346
3346
  #line 3347 "insns_info.inc"
3347
3347
  }
@@ -3473,7 +3473,7 @@ rb_snum_t
3473
3473
  attr_sp_inc_newarray(MAYBE_UNUSED(rb_num_t num))
3474
3474
  {
3475
3475
  return
3476
- #line 453 "insns.def"
3476
+ #line 440 "insns.def"
3477
3477
  1 - (rb_snum_t)num;
3478
3478
  #line 3479 "insns_info.inc"
3479
3479
  }
@@ -3539,7 +3539,7 @@ rb_snum_t
3539
3539
  attr_sp_inc_newarraykwsplat(MAYBE_UNUSED(rb_num_t num))
3540
3540
  {
3541
3541
  return
3542
- #line 468 "insns.def"
3542
+ #line 455 "insns.def"
3543
3543
  1 - (rb_snum_t)num;
3544
3544
  #line 3545 "insns_info.inc"
3545
3545
  }
@@ -3705,7 +3705,7 @@ attr_leaf_expandarray(
3705
3705
  )
3706
3706
  {
3707
3707
  return
3708
- #line 514 "insns.def"
3708
+ #line 501 "insns.def"
3709
3709
  false;
3710
3710
  #line 3711 "insns_info.inc"
3711
3711
  }
@@ -3758,7 +3758,7 @@ attr_sp_inc_expandarray(
3758
3758
  )
3759
3759
  {
3760
3760
  return
3761
- #line 515 "insns.def"
3761
+ #line 502 "insns.def"
3762
3762
  (rb_snum_t)num - 1 + (flag & 1 ? 1 : 0);
3763
3763
  #line 3764 "insns_info.inc"
3764
3764
  }
@@ -3792,7 +3792,7 @@ bool
3792
3792
  attr_leaf_concatarray(void)
3793
3793
  {
3794
3794
  return
3795
- #line 526 "insns.def"
3795
+ #line 513 "insns.def"
3796
3796
  false;
3797
3797
  #line 3798 "insns_info.inc"
3798
3798
  }
@@ -3858,7 +3858,7 @@ bool
3858
3858
  attr_leaf_splatarray(MAYBE_UNUSED(VALUE flag))
3859
3859
  {
3860
3860
  return
3861
- #line 537 "insns.def"
3861
+ #line 524 "insns.def"
3862
3862
  false;
3863
3863
  #line 3864 "insns_info.inc"
3864
3864
  }
@@ -3924,7 +3924,7 @@ bool
3924
3924
  attr_leaf_newhash(MAYBE_UNUSED(rb_num_t num))
3925
3925
  {
3926
3926
  return
3927
- #line 548 "insns.def"
3927
+ #line 535 "insns.def"
3928
3928
  false;
3929
3929
  #line 3930 "insns_info.inc"
3930
3930
  }
@@ -3962,7 +3962,7 @@ rb_snum_t
3962
3962
  attr_sp_inc_newhash(MAYBE_UNUSED(rb_num_t num))
3963
3963
  {
3964
3964
  return
3965
- #line 549 "insns.def"
3965
+ #line 536 "insns.def"
3966
3966
  1 - (rb_snum_t)num;
3967
3967
  #line 3968 "insns_info.inc"
3968
3968
  }
@@ -3993,7 +3993,7 @@ bool
3993
3993
  attr_leaf_newrange(MAYBE_UNUSED(rb_num_t flag))
3994
3994
  {
3995
3995
  return
3996
- #line 569 "insns.def"
3996
+ #line 556 "insns.def"
3997
3997
  false;
3998
3998
  #line 3999 "insns_info.inc"
3999
3999
  }
@@ -4220,7 +4220,7 @@ rb_snum_t
4220
4220
  attr_sp_inc_dupn(MAYBE_UNUSED(rb_num_t n))
4221
4221
  {
4222
4222
  return
4223
- #line 605 "insns.def"
4223
+ #line 592 "insns.def"
4224
4224
  n;
4225
4225
  #line 4226 "insns_info.inc"
4226
4226
  }
@@ -4349,7 +4349,7 @@ rb_snum_t
4349
4349
  attr_sp_inc_opt_reverse(MAYBE_UNUSED(rb_num_t n))
4350
4350
  {
4351
4351
  return
4352
- #line 629 "insns.def"
4352
+ #line 616 "insns.def"
4353
4353
  0;
4354
4354
  #line 4355 "insns_info.inc"
4355
4355
  }
@@ -4415,7 +4415,7 @@ rb_snum_t
4415
4415
  attr_sp_inc_topn(MAYBE_UNUSED(rb_num_t n))
4416
4416
  {
4417
4417
  return
4418
- #line 659 "insns.def"
4418
+ #line 646 "insns.def"
4419
4419
  1;
4420
4420
  #line 4421 "insns_info.inc"
4421
4421
  }
@@ -4481,7 +4481,7 @@ rb_snum_t
4481
4481
  attr_sp_inc_setn(MAYBE_UNUSED(rb_num_t n))
4482
4482
  {
4483
4483
  return
4484
- #line 670 "insns.def"
4484
+ #line 657 "insns.def"
4485
4485
  0;
4486
4486
  #line 4487 "insns_info.inc"
4487
4487
  }
@@ -4547,7 +4547,7 @@ rb_snum_t
4547
4547
  attr_sp_inc_adjuststack(MAYBE_UNUSED(rb_num_t n))
4548
4548
  {
4549
4549
  return
4550
- #line 681 "insns.def"
4550
+ #line 668 "insns.def"
4551
4551
  -(rb_snum_t)n;
4552
4552
  #line 4553 "insns_info.inc"
4553
4553
  }
@@ -4590,7 +4590,7 @@ attr_leaf_defined(
4590
4590
  )
4591
4591
  {
4592
4592
  return
4593
- #line 696 "insns.def"
4593
+ #line 683 "insns.def"
4594
4594
  leafness_of_defined(op_type);
4595
4595
  #line 4596 "insns_info.inc"
4596
4596
  }
@@ -4692,7 +4692,7 @@ attr_leaf_definedivar(
4692
4692
  )
4693
4693
  {
4694
4694
  return
4695
- #line 710 "insns.def"
4695
+ #line 697 "insns.def"
4696
4696
  false;
4697
4697
  #line 4698 "insns_info.inc"
4698
4698
  }
@@ -4782,7 +4782,7 @@ bool
4782
4782
  attr_leaf_checkmatch(MAYBE_UNUSED(rb_num_t flag))
4783
4783
  {
4784
4784
  return
4785
- #line 730 "insns.def"
4785
+ #line 717 "insns.def"
4786
4786
  leafness_of_checkmatch(flag);
4787
4787
  #line 4788 "insns_info.inc"
4788
4788
  }
@@ -5279,7 +5279,7 @@ attr_comptime_sp_inc_send(
5279
5279
  )
5280
5280
  {
5281
5281
  return
5282
- #line 812 "insns.def"
5282
+ #line 799 "insns.def"
5283
5283
  sp_inc_of_sendish(ci);
5284
5284
  #line 5285 "insns_info.inc"
5285
5285
  }
@@ -5352,7 +5352,7 @@ attr_sp_inc_send(
5352
5352
  )
5353
5353
  {
5354
5354
  return
5355
- #line 811 "insns.def"
5355
+ #line 798 "insns.def"
5356
5356
  sp_inc_of_sendish(cd->ci);
5357
5357
  #line 5358 "insns_info.inc"
5358
5358
  }
@@ -5379,7 +5379,7 @@ rb_snum_t
5379
5379
  attr_comptime_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_INFO ci))
5380
5380
  {
5381
5381
  return
5382
- #line 832 "insns.def"
5382
+ #line 819 "insns.def"
5383
5383
  sp_inc_of_sendish(ci);
5384
5384
  #line 5385 "insns_info.inc"
5385
5385
  }
@@ -5389,7 +5389,7 @@ bool
5389
5389
  attr_handles_sp_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
5390
5390
  {
5391
5391
  return
5392
- #line 830 "insns.def"
5392
+ #line 817 "insns.def"
5393
5393
  true;
5394
5394
  #line 5395 "insns_info.inc"
5395
5395
  }
@@ -5434,7 +5434,7 @@ rb_snum_t
5434
5434
  attr_sp_inc_opt_send_without_block(MAYBE_UNUSED(CALL_DATA cd))
5435
5435
  {
5436
5436
  return
5437
- #line 831 "insns.def"
5437
+ #line 818 "insns.def"
5438
5438
  sp_inc_of_sendish(cd->ci);
5439
5439
  #line 5440 "insns_info.inc"
5440
5440
  }
@@ -5465,7 +5465,7 @@ bool
5465
5465
  attr_leaf_objtostring(MAYBE_UNUSED(CALL_DATA cd))
5466
5466
  {
5467
5467
  return
5468
- #line 850 "insns.def"
5468
+ #line 837 "insns.def"
5469
5469
  false;
5470
5470
  #line 5471 "insns_info.inc"
5471
5471
  }
@@ -5773,7 +5773,7 @@ attr_comptime_sp_inc_opt_newarray_send(
5773
5773
  )
5774
5774
  {
5775
5775
  return
5776
- #line 912 "insns.def"
5776
+ #line 899 "insns.def"
5777
5777
  1 - (rb_snum_t)num;
5778
5778
  #line 5779 "insns_info.inc"
5779
5779
  }
@@ -5796,7 +5796,7 @@ attr_leaf_opt_newarray_send(
5796
5796
  )
5797
5797
  {
5798
5798
  return
5799
- #line 910 "insns.def"
5799
+ #line 897 "insns.def"
5800
5800
  false;
5801
5801
  #line 5802 "insns_info.inc"
5802
5802
  }
@@ -5849,7 +5849,7 @@ attr_sp_inc_opt_newarray_send(
5849
5849
  )
5850
5850
  {
5851
5851
  return
5852
- #line 911 "insns.def"
5852
+ #line 898 "insns.def"
5853
5853
  1 - (rb_snum_t)num;
5854
5854
  #line 5855 "insns_info.inc"
5855
5855
  }
@@ -5882,7 +5882,7 @@ attr_comptime_sp_inc_invokesuper(
5882
5882
  )
5883
5883
  {
5884
5884
  return
5885
- #line 936 "insns.def"
5885
+ #line 923 "insns.def"
5886
5886
  sp_inc_of_sendish(ci);
5887
5887
  #line 5888 "insns_info.inc"
5888
5888
  }
@@ -5955,7 +5955,7 @@ attr_sp_inc_invokesuper(
5955
5955
  )
5956
5956
  {
5957
5957
  return
5958
- #line 935 "insns.def"
5958
+ #line 922 "insns.def"
5959
5959
  sp_inc_of_sendish(cd->ci);
5960
5960
  #line 5961 "insns_info.inc"
5961
5961
  }
@@ -5982,7 +5982,7 @@ rb_snum_t
5982
5982
  attr_comptime_sp_inc_invokeblock(MAYBE_UNUSED(CALL_INFO ci))
5983
5983
  {
5984
5984
  return
5985
- #line 956 "insns.def"
5985
+ #line 943 "insns.def"
5986
5986
  sp_inc_of_invokeblock(ci);
5987
5987
  #line 5988 "insns_info.inc"
5988
5988
  }
@@ -5992,7 +5992,7 @@ bool
5992
5992
  attr_handles_sp_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
5993
5993
  {
5994
5994
  return
5995
- #line 954 "insns.def"
5995
+ #line 941 "insns.def"
5996
5996
  true;
5997
5997
  #line 5998 "insns_info.inc"
5998
5998
  }
@@ -6037,7 +6037,7 @@ rb_snum_t
6037
6037
  attr_sp_inc_invokeblock(MAYBE_UNUSED(CALL_DATA cd))
6038
6038
  {
6039
6039
  return
6040
- #line 955 "insns.def"
6040
+ #line 942 "insns.def"
6041
6041
  sp_inc_of_invokeblock(cd->ci);
6042
6042
  #line 6043 "insns_info.inc"
6043
6043
  }
@@ -6061,7 +6061,7 @@ bool
6061
6061
  attr_handles_sp_leave(void)
6062
6062
  {
6063
6063
  return
6064
- #line 978 "insns.def"
6064
+ #line 965 "insns.def"
6065
6065
  true;
6066
6066
  #line 6067 "insns_info.inc"
6067
6067
  }
@@ -6071,7 +6071,7 @@ bool
6071
6071
  attr_leaf_leave(void)
6072
6072
  {
6073
6073
  return
6074
- #line 977 "insns.def"
6074
+ #line 964 "insns.def"
6075
6075
  false;
6076
6076
  #line 6077 "insns_info.inc"
6077
6077
  }
@@ -6137,7 +6137,7 @@ bool
6137
6137
  attr_leaf_throw(MAYBE_UNUSED(rb_num_t throw_state))
6138
6138
  {
6139
6139
  return
6140
- #line 1011 "insns.def"
6140
+ #line 998 "insns.def"
6141
6141
  false;
6142
6142
  #line 6143 "insns_info.inc"
6143
6143
  }
@@ -6203,7 +6203,7 @@ bool
6203
6203
  attr_leaf_jump(MAYBE_UNUSED(OFFSET dst))
6204
6204
  {
6205
6205
  return
6206
- #line 1029 "insns.def"
6206
+ #line 1016 "insns.def"
6207
6207
  leafness_of_check_ints;
6208
6208
  #line 6209 "insns_info.inc"
6209
6209
  }
@@ -6269,7 +6269,7 @@ bool
6269
6269
  attr_leaf_branchif(MAYBE_UNUSED(OFFSET dst))
6270
6270
  {
6271
6271
  return
6272
- #line 1042 "insns.def"
6272
+ #line 1029 "insns.def"
6273
6273
  leafness_of_check_ints;
6274
6274
  #line 6275 "insns_info.inc"
6275
6275
  }
@@ -6335,7 +6335,7 @@ bool
6335
6335
  attr_leaf_branchunless(MAYBE_UNUSED(OFFSET dst))
6336
6336
  {
6337
6337
  return
6338
- #line 1057 "insns.def"
6338
+ #line 1044 "insns.def"
6339
6339
  leafness_of_check_ints;
6340
6340
  #line 6341 "insns_info.inc"
6341
6341
  }
@@ -6401,7 +6401,7 @@ bool
6401
6401
  attr_leaf_branchnil(MAYBE_UNUSED(OFFSET dst))
6402
6402
  {
6403
6403
  return
6404
- #line 1072 "insns.def"
6404
+ #line 1059 "insns.def"
6405
6405
  leafness_of_check_ints;
6406
6406
  #line 6407 "insns_info.inc"
6407
6407
  }
@@ -6616,7 +6616,7 @@ attr_sp_inc_opt_case_dispatch(
6616
6616
  )
6617
6617
  {
6618
6618
  return
6619
- #line 1100 "insns.def"
6619
+ #line 1087 "insns.def"
6620
6620
  -1;
6621
6621
  #line 6622 "insns_info.inc"
6622
6622
  }
@@ -6839,7 +6839,7 @@ bool
6839
6839
  attr_leaf_opt_div(MAYBE_UNUSED(CALL_DATA cd))
6840
6840
  {
6841
6841
  return
6842
- #line 1161 "insns.def"
6842
+ #line 1148 "insns.def"
6843
6843
  false;
6844
6844
  #line 6845 "insns_info.inc"
6845
6845
  }
@@ -6905,7 +6905,7 @@ bool
6905
6905
  attr_leaf_opt_mod(MAYBE_UNUSED(CALL_DATA cd))
6906
6906
  {
6907
6907
  return
6908
- #line 1177 "insns.def"
6908
+ #line 1164 "insns.def"
6909
6909
  false;
6910
6910
  #line 6911 "insns_info.inc"
6911
6911
  }
@@ -7376,7 +7376,7 @@ bool
7376
7376
  attr_leaf_opt_ltlt(MAYBE_UNUSED(CALL_DATA cd))
7377
7377
  {
7378
7378
  return
7379
- #line 1279 "insns.def"
7379
+ #line 1266 "insns.def"
7380
7380
  false;
7381
7381
  #line 7382 "insns_info.inc"
7382
7382
  }
@@ -7568,7 +7568,7 @@ bool
7568
7568
  attr_leaf_opt_aref(MAYBE_UNUSED(CALL_DATA cd))
7569
7569
  {
7570
7570
  return
7571
- #line 1326 "insns.def"
7571
+ #line 1313 "insns.def"
7572
7572
  false;
7573
7573
  #line 7574 "insns_info.inc"
7574
7574
  }
@@ -7634,7 +7634,7 @@ bool
7634
7634
  attr_leaf_opt_aset(MAYBE_UNUSED(CALL_DATA cd))
7635
7635
  {
7636
7636
  return
7637
- #line 1343 "insns.def"
7637
+ #line 1330 "insns.def"
7638
7638
  false;
7639
7639
  #line 7640 "insns_info.inc"
7640
7640
  }
@@ -7709,7 +7709,7 @@ attr_leaf_opt_aset_with(
7709
7709
  )
7710
7710
  {
7711
7711
  return
7712
- #line 1359 "insns.def"
7712
+ #line 1346 "insns.def"
7713
7713
  false;
7714
7714
  #line 7715 "insns_info.inc"
7715
7715
  }
@@ -7802,7 +7802,7 @@ attr_leaf_opt_aref_with(
7802
7802
  )
7803
7803
  {
7804
7804
  return
7805
- #line 1380 "insns.def"
7805
+ #line 1367 "insns.def"
7806
7806
  false;
7807
7807
  #line 7808 "insns_info.inc"
7808
7808
  }
@@ -8201,7 +8201,7 @@ bool
8201
8201
  attr_leaf_opt_regexpmatch2(MAYBE_UNUSED(CALL_DATA cd))
8202
8202
  {
8203
8203
  return
8204
- #line 1466 "insns.def"
8204
+ #line 1453 "insns.def"
8205
8205
  false;
8206
8206
  #line 8207 "insns_info.inc"
8207
8207
  }
@@ -8267,7 +8267,7 @@ bool
8267
8267
  attr_leaf_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8268
8268
  {
8269
8269
  return
8270
- #line 1481 "insns.def"
8270
+ #line 1468 "insns.def"
8271
8271
  false;
8272
8272
  #line 8273 "insns_info.inc"
8273
8273
  }
@@ -8305,7 +8305,7 @@ rb_snum_t
8305
8305
  attr_sp_inc_invokebuiltin(MAYBE_UNUSED(RB_BUILTIN bf))
8306
8306
  {
8307
8307
  return
8308
- #line 1482 "insns.def"
8308
+ #line 1469 "insns.def"
8309
8309
  1 - bf->argc;
8310
8310
  #line 8311 "insns_info.inc"
8311
8311
  }
@@ -8345,7 +8345,7 @@ attr_leaf_opt_invokebuiltin_delegate(
8345
8345
  )
8346
8346
  {
8347
8347
  return
8348
- #line 1493 "insns.def"
8348
+ #line 1480 "insns.def"
8349
8349
  false;
8350
8350
  #line 8351 "insns_info.inc"
8351
8351
  }
@@ -8438,7 +8438,7 @@ attr_leaf_opt_invokebuiltin_delegate_leave(
8438
8438
  )
8439
8439
  {
8440
8440
  return
8441
- #line 1504 "insns.def"
8441
+ #line 1491 "insns.def"
8442
8442
  false;
8443
8443
  #line 8444 "insns_info.inc"
8444
8444
  }
@@ -136,9 +136,16 @@ RBIMPL_ATTR_ARTIFICIAL()
136
136
  static inline VALUE
137
137
  RARRAY_AREF(VALUE ary, long i)
138
138
  {
139
+ VALUE val;
139
140
  RBIMPL_ASSERT_TYPE(ary, RUBY_T_ARRAY);
140
141
 
141
- return RARRAY_CONST_PTR(ary)[i];
142
+ RBIMPL_WARNING_PUSH();
143
+ #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ == 13
144
+ RBIMPL_WARNING_IGNORED(-Warray-bounds);
145
+ #endif
146
+ val = RARRAY_CONST_PTR(ary)[i];
147
+ RBIMPL_WARNING_POP();
148
+ return val;
142
149
  }
143
150
 
144
151
  #endif /* INTERNAL_ARRAY_H */
@@ -398,9 +398,9 @@ rb_popcount32(uint32_t x)
398
398
  #else
399
399
  x = (x & 0x55555555) + (x >> 1 & 0x55555555);
400
400
  x = (x & 0x33333333) + (x >> 2 & 0x33333333);
401
- x = (x & 0x0f0f0f0f) + (x >> 4 & 0x0f0f0f0f);
402
- x = (x & 0x001f001f) + (x >> 8 & 0x001f001f);
403
- x = (x & 0x0000003f) + (x >>16 & 0x0000003f);
401
+ x = (x & 0x07070707) + (x >> 4 & 0x07070707);
402
+ x = (x & 0x000f000f) + (x >> 8 & 0x000f000f);
403
+ x = (x & 0x0000001f) + (x >>16 & 0x0000001f);
404
404
  return (unsigned int)x;
405
405
 
406
406
  #endif
@@ -428,9 +428,9 @@ rb_popcount64(uint64_t x)
428
428
  x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
429
429
  x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
430
430
  x = (x & 0x0707070707070707) + (x >> 4 & 0x0707070707070707);
431
- x = (x & 0x001f001f001f001f) + (x >> 8 & 0x001f001f001f001f);
432
- x = (x & 0x0000003f0000003f) + (x >>16 & 0x0000003f0000003f);
433
- x = (x & 0x000000000000007f) + (x >>32 & 0x000000000000007f);
431
+ x = (x & 0x000f000f000f000f) + (x >> 8 & 0x000f000f000f000f);
432
+ x = (x & 0x0000001f0000001f) + (x >>16 & 0x0000001f0000001f);
433
+ x = (x & 0x000000000000003f) + (x >>32 & 0x000000000000003f);
434
434
  return (unsigned int)x;
435
435
 
436
436
  #endif
@@ -85,7 +85,12 @@ struct RClass {
85
85
  // Assert that classes can be embedded in size_pools[2] (which has 160B slot size)
86
86
  STATIC_ASSERT(sizeof_rb_classext_t, sizeof(struct RClass) + sizeof(rb_classext_t) <= 4 * RVALUE_SIZE);
87
87
 
88
- #define RCLASS_EXT(c) ((rb_classext_t *)((char *)(c) + sizeof(struct RClass)))
88
+ struct RClass_and_rb_classext_t {
89
+ struct RClass rclass;
90
+ rb_classext_t classext;
91
+ };
92
+
93
+ #define RCLASS_EXT(c) (&((struct RClass_and_rb_classext_t*)(c))->classext)
89
94
  #define RCLASS_CONST_TBL(c) (RCLASS_EXT(c)->const_tbl)
90
95
  #define RCLASS_M_TBL(c) (RCLASS(c)->m_tbl)
91
96
  #define RCLASS_IVPTR(c) (RCLASS_EXT(c)->iv_ptr)
@@ -119,7 +124,6 @@ VALUE rb_module_s_alloc(VALUE klass);
119
124
  void rb_module_set_initialized(VALUE module);
120
125
  void rb_module_check_initializable(VALUE module);
121
126
  VALUE rb_make_metaclass(VALUE, VALUE);
122
- VALUE rb_iclass_alloc(VALUE klass);
123
127
  VALUE rb_include_class_new(VALUE, VALUE);
124
128
  void rb_class_foreach_subclass(VALUE klass, void (*f)(VALUE, VALUE), VALUE);
125
129
  void rb_class_detach_subclasses(VALUE);
@@ -206,7 +210,7 @@ RCLASS_SET_SUPER(VALUE klass, VALUE super)
206
210
  static inline void
207
211
  RCLASS_SET_CLASSPATH(VALUE klass, VALUE classpath, bool permanent)
208
212
  {
209
- assert(BUILTIN_TYPE(klass) == T_CLASS || BUILTIN_TYPE(klass) == T_MODULE || klass == rb_mRubyVMFrozenCore);
213
+ assert(BUILTIN_TYPE(klass) == T_CLASS || BUILTIN_TYPE(klass) == T_MODULE);
210
214
  assert(classpath == 0 || BUILTIN_TYPE(classpath) == T_STRING);
211
215
 
212
216
  RB_OBJ_WRITE(klass, &(RCLASS_EXT(klass)->classpath), classpath);
@@ -28,6 +28,8 @@ typedef struct ruby_cmdline_options {
28
28
  struct rb_rjit_options rjit;
29
29
  #endif
30
30
 
31
+ const char *crash_report;
32
+
31
33
  signed int sflag: 2;
32
34
  unsigned int xflag: 1;
33
35
  unsigned int warning: 1;
@@ -227,6 +227,7 @@ __attribute__((__alloc_align__(1)))
227
227
  RUBY_ATTR_MALLOC void *rb_aligned_malloc(size_t, size_t) RUBY_ATTR_ALLOC_SIZE((2));
228
228
  size_t rb_size_mul_or_raise(size_t, size_t, VALUE); /* used in compile.c */
229
229
  size_t rb_size_mul_add_or_raise(size_t, size_t, size_t, VALUE); /* used in iseq.h */
230
+ size_t rb_malloc_grow_capa(size_t current_capacity, size_t type_size);
230
231
  RUBY_ATTR_MALLOC void *rb_xmalloc_mul_add(size_t, size_t, size_t);
231
232
  RUBY_ATTR_MALLOC void *rb_xcalloc_mul_add(size_t, size_t, size_t);
232
233
  void *rb_xrealloc_mul_add(const void *, size_t, size_t, size_t);
@@ -87,6 +87,7 @@ int rb_hash_stlike_delete(VALUE hash, st_data_t *pkey, st_data_t *pval);
87
87
  int rb_hash_stlike_foreach_with_replace(VALUE hash, st_foreach_check_callback_func *func, st_update_callback_func *replace, st_data_t arg);
88
88
  int rb_hash_stlike_update(VALUE hash, st_data_t key, st_update_callback_func *func, st_data_t arg);
89
89
  VALUE rb_ident_hash_new_with_size(st_index_t size);
90
+ void rb_hash_free(VALUE hash);
90
91
 
91
92
  static inline unsigned RHASH_AR_TABLE_SIZE_RAW(VALUE h);
92
93
  static inline VALUE RHASH_IFNONE(VALUE h);
@@ -129,7 +129,6 @@ struct MEMO {
129
129
  typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t;
130
130
  rb_imemo_tmpbuf_t *rb_imemo_tmpbuf_parser_heap(void *buf, rb_imemo_tmpbuf_t *old_heap, size_t cnt);
131
131
  struct vm_ifunc *rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int max_argc);
132
- void rb_strterm_mark(VALUE obj);
133
132
  static inline enum imemo_type imemo_type(VALUE imemo);
134
133
  static inline int imemo_type_p(VALUE imemo, enum imemo_type imemo_type);
135
134
  static inline bool imemo_throw_data_p(VALUE imemo);