debase-ruby_core_source 0.10.9 → 0.10.13

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/Rakefile +6 -3
  5. data/debase-ruby_core_source.gemspec +2 -1
  6. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/addr2line.h +2 -3
  7. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/builtin.h +17 -2
  8. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/build_assert/build_assert.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/check_type/check_type.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/container_of/container_of.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/list/list.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/ccan/str/str.h +0 -0
  13. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/constant.h +10 -5
  14. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/debug_counter.h +127 -48
  15. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/dln.h +3 -18
  16. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/encindex.h +3 -2
  17. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/eval_intern.h +16 -7
  18. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/gc.h +13 -2
  19. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/hrtime.h +0 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/id.h +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/id_table.h +2 -0
  22. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns.inc +0 -4
  23. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/insns_info.inc +323 -536
  24. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/array.h +119 -0
  25. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bignum.h +246 -0
  26. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/bits.h +566 -0
  27. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/class.h +174 -0
  28. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compar.h +50 -0
  29. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compile.h +32 -0
  30. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/compilers.h +108 -0
  31. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/complex.h +29 -0
  32. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/cont.h +25 -0
  33. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/dir.h +17 -0
  34. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enc.h +20 -0
  35. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/encoding.h +28 -0
  36. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enum.h +19 -0
  37. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/enumerator.h +22 -0
  38. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/error.h +124 -0
  39. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/eval.h +33 -0
  40. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/file.h +39 -0
  41. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/fixnum.h +185 -0
  42. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/gc.h +161 -0
  43. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/hash.h +241 -0
  44. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/imemo.h +243 -0
  45. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/inits.h +51 -0
  46. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/io.h +35 -0
  47. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/load.h +19 -0
  48. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/loadpath.h +17 -0
  49. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/math.h +24 -0
  50. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/missing.h +19 -0
  51. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/numeric.h +255 -0
  52. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/object.h +83 -0
  53. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/parse.h +23 -0
  54. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/proc.h +33 -0
  55. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/process.h +136 -0
  56. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/random.h +17 -0
  57. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/range.h +41 -0
  58. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/rational.h +71 -0
  59. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/re.h +29 -0
  60. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/sanitizers.h +191 -0
  61. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/scheduler.h +44 -0
  62. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/serial.h +24 -0
  63. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/signal.h +22 -0
  64. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/static_assert.h +17 -0
  65. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/string.h +140 -0
  66. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/struct.h +154 -0
  67. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/symbol.h +41 -0
  68. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/thread.h +54 -0
  69. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/time.h +35 -0
  70. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/transcode.h +21 -0
  71. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/util.h +31 -0
  72. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/variable.h +84 -0
  73. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/vm.h +136 -0
  74. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal/warnings.h +17 -0
  75. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/internal.h +107 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/iseq.h +11 -18
  77. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/known_errors.inc +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/method.h +21 -8
  79. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/mjit.h +89 -48
  80. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/mjit_compile.inc +2746 -2288
  81. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/node.h +32 -24
  82. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/node_name.inc +2 -2
  83. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/opt_sc.inc +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optinsn.inc +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/optunifs.inc +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/parse.h +1 -0
  87. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/probes_helper.h +2 -0
  88. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ractor_core.h +343 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regenc.h +0 -0
  90. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regint.h +1 -1
  91. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/regparse.h +0 -0
  92. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/revision.h +2 -0
  93. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_assert.h +15 -0
  94. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/ruby_atomic.h +23 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/siphash.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/symbol.h +4 -4
  97. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_pthread.h +45 -5
  98. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/thread_win32.h +28 -3
  99. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/timev.h +1 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/transcode_data.h +2 -3
  101. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/transient_heap.h +6 -3
  102. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/variable.h +22 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/version.h +23 -11
  104. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm.inc +707 -671
  105. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_call_iseq_optimized.inc +93 -86
  106. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_callinfo.h +456 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_core.h +262 -194
  108. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_debug.h +116 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_exec.h +9 -6
  110. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.0.0-p0}/vm_insnhelper.h +28 -26
  111. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vm_opts.h +6 -5
  112. data/lib/debase/ruby_core_source/ruby-3.0.0-p0/vm_sync.h +136 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.0.0-p0}/vmtc.inc +0 -4
  114. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/addr2line.h +2 -3
  115. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/builtin.h +83 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/build_assert/build_assert.h +13 -13
  117. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/check_type/check_type.h +17 -17
  118. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/container_of/container_of.h +63 -63
  119. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/list/list.h +262 -262
  120. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/ccan/str/str.h +4 -4
  121. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/constant.h +10 -9
  122. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/darray.h +198 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/debug_counter.h +137 -48
  124. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/dln.h +3 -23
  125. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/encindex.h +3 -2
  126. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/eval_intern.h +34 -41
  127. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/gc.h +24 -11
  128. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/hrtime.h +9 -9
  129. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/id.h +4 -3
  130. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/id_table.h +3 -1
  131. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns.inc +6 -8
  132. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/insns_info.inc +1907 -2543
  133. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/array.h +113 -0
  134. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bignum.h +246 -0
  135. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/bits.h +565 -0
  136. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/class.h +188 -0
  137. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compar.h +49 -0
  138. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compile.h +35 -0
  139. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/compilers.h +107 -0
  140. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/complex.h +29 -0
  141. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/cont.h +24 -0
  142. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/dir.h +16 -0
  143. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enc.h +19 -0
  144. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/encoding.h +30 -0
  145. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enum.h +18 -0
  146. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/enumerator.h +21 -0
  147. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/error.h +191 -0
  148. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/eval.h +32 -0
  149. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/file.h +38 -0
  150. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/fixnum.h +184 -0
  151. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/gc.h +175 -0
  152. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/hash.h +243 -0
  153. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/imemo.h +243 -0
  154. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/inits.h +50 -0
  155. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/io.h +38 -0
  156. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/load.h +18 -0
  157. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/loadpath.h +16 -0
  158. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/math.h +23 -0
  159. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/missing.h +18 -0
  160. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/numeric.h +271 -0
  161. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/object.h +83 -0
  162. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/parse.h +23 -0
  163. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/proc.h +32 -0
  164. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/process.h +137 -0
  165. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/random.h +16 -0
  166. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/range.h +40 -0
  167. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/rational.h +72 -0
  168. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/re.h +30 -0
  169. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/sanitizers.h +190 -0
  170. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/serial.h +23 -0
  171. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/signal.h +21 -0
  172. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/static_assert.h +16 -0
  173. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/string.h +141 -0
  174. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/struct.h +153 -0
  175. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/symbol.h +40 -0
  176. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/thread.h +53 -0
  177. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/time.h +34 -0
  178. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/transcode.h +20 -0
  179. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/util.h +27 -0
  180. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/variable.h +83 -0
  181. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/vm.h +132 -0
  182. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal/warnings.h +16 -0
  183. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/internal.h +109 -0
  184. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/iseq.h +44 -35
  185. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/known_errors.inc +0 -0
  186. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/method.h +21 -4
  187. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/mjit.h +231 -0
  188. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/mjit_compile.inc +3322 -2940
  189. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/node.h +39 -23
  190. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/node_name.inc +210 -0
  191. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/opt_sc.inc +0 -2
  192. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optinsn.inc +7 -7
  193. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/optunifs.inc +1 -1
  194. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/parse.h +9 -5
  195. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/probes_helper.h +9 -7
  196. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ractor_core.h +346 -0
  197. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regenc.h +8 -8
  198. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regint.h +16 -12
  199. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/regparse.h +2 -2
  200. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/revision.h +2 -0
  201. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_assert.h +14 -0
  202. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/ruby_atomic.h +23 -0
  203. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/siphash.h +0 -0
  204. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/symbol.h +14 -14
  205. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_pthread.h +45 -5
  206. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/thread_win32.h +30 -5
  207. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/timev.h +1 -0
  208. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/transcode_data.h +49 -50
  209. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/transient_heap.h +6 -3
  210. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/variable.h +21 -0
  211. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/version.h +15 -4
  212. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm.inc +1033 -887
  213. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_call_iseq_optimized.inc +244 -0
  214. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_callinfo.h +454 -0
  215. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_core.h +508 -362
  216. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_debug.h +119 -0
  217. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_exec.h +22 -18
  218. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview3 → ruby-3.1.0-preview1}/vm_insnhelper.h +42 -32
  219. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vm_opts.h +8 -5
  220. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/vm_sync.h +137 -0
  221. data/lib/debase/ruby_core_source/{ruby-2.7.0-preview2 → ruby-3.1.0-preview1}/vmtc.inc +6 -8
  222. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit.h +63 -0
  223. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_asm.h +392 -0
  224. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_codegen.h +19 -0
  225. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_core.h +302 -0
  226. data/lib/debase/ruby_core_source/ruby-3.1.0-preview1/yjit_iface.h +38 -0
  227. data/lib/debase/ruby_core_source/version.rb +1 -1
  228. data/lib/debase/ruby_core_source.rb +0 -2
  229. metadata +240 -110
  230. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/internal.h +0 -2682
  231. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +0 -2
  232. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_assert.h +0 -15
  233. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_atomic.h +0 -244
  234. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_call_iseq_optimized.inc +0 -237
  235. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_debug.h +0 -34
  236. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/internal.h +0 -2657
  237. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/mjit.h +0 -175
  238. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/node_name.inc +0 -208
  239. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/revision.h +0 -2
  240. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_assert.h +0 -15
  241. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/ruby_atomic.h +0 -244
  242. data/lib/debase/ruby_core_source/ruby-2.7.0-preview3/vm_debug.h +0 -34
@@ -1,3 +1,5 @@
1
+ #ifndef RUBY_NODE_H
2
+ #define RUBY_NODE_H 1
1
3
  /**********************************************************************
2
4
 
3
5
  node.h -
@@ -9,9 +11,6 @@
9
11
 
10
12
  **********************************************************************/
11
13
 
12
- #ifndef RUBY_NODE_H
13
- #define RUBY_NODE_H 1
14
-
15
14
  #if defined(__cplusplus)
16
15
  extern "C" {
17
16
  #if 0
@@ -122,9 +121,9 @@ enum node_type {
122
121
  NODE_DSYM,
123
122
  NODE_ATTRASGN,
124
123
  NODE_LAMBDA,
125
- NODE_METHREF,
126
124
  NODE_ARYPTN,
127
125
  NODE_HSHPTN,
126
+ NODE_FNDPTN,
128
127
  NODE_LAST
129
128
  };
130
129
 
@@ -139,7 +138,7 @@ typedef struct rb_code_location_struct {
139
138
  } rb_code_location_t;
140
139
 
141
140
  static inline rb_code_location_t
142
- code_loc_gen(rb_code_location_t *loc1, rb_code_location_t *loc2)
141
+ code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
143
142
  {
144
143
  rb_code_location_t loc;
145
144
  loc.beg_pos = loc1->beg_pos;
@@ -165,18 +164,18 @@ typedef struct RNode {
165
164
  struct RNode *node;
166
165
  ID id;
167
166
  long state;
168
- struct rb_global_entry *entry;
169
167
  struct rb_args_info *args;
170
- struct rb_ary_pattern_info *apinfo;
168
+ struct rb_ary_pattern_info *apinfo;
169
+ struct rb_fnd_pattern_info *fpinfo;
171
170
  VALUE value;
172
171
  } u3;
173
172
  rb_code_location_t nd_loc;
174
173
  int node_id;
175
174
  } NODE;
176
175
 
177
- #define RNODE(obj) (R_CAST(RNode)(obj))
176
+ #define RNODE(obj) ((struct RNode *)(obj))
178
177
 
179
- /* FL : 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: FINALIZE, 8: TAINT, 9: UNTRUSTED, 10: EXIVAR, 11: FREEZE */
178
+ /* FL : 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: FINALIZE, 8: UNUSED, 9: UNUSED, 10: EXIVAR, 11: FREEZE */
180
179
  /* NODE_FL: 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: NODE_FL_NEWLINE,
181
180
  * 8..14: nd_type,
182
181
  * 15..: nd_line
@@ -188,6 +187,8 @@ typedef struct RNode {
188
187
 
189
188
  #define nd_type(n) ((int) (((n)->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
190
189
  #define nd_set_type(n,t) \
190
+ rb_node_set_type(n, t)
191
+ #define nd_init_type(n,t) \
191
192
  (n)->flags=(((n)->flags&~NODE_TYPEMASK)|((((unsigned long)(t))<<NODE_TYPESHIFT)&NODE_TYPEMASK))
192
193
 
193
194
  #define NODE_LSHIFT (NODE_TYPESHIFT+7)
@@ -228,7 +229,7 @@ typedef struct RNode {
228
229
 
229
230
  #define nd_stts u1.node
230
231
 
231
- #define nd_entry u3.entry
232
+ #define nd_entry u3.id
232
233
  #define nd_vid u1.id
233
234
  #define nd_cflag u2.id
234
235
  #define nd_cval u3.value
@@ -280,6 +281,8 @@ typedef struct RNode {
280
281
 
281
282
  #define nd_apinfo u3.apinfo
282
283
 
284
+ #define nd_fpinfo u3.fpinfo
285
+
283
286
  #define NEW_NODE(t,a0,a1,a2,loc) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2),loc)
284
287
  #define NEW_NODE_WITH_LOCALS(t,a1,a2,loc) node_newnode_with_locals(p, (t),(VALUE)(a1),(VALUE)(a2),loc)
285
288
 
@@ -314,7 +317,7 @@ typedef struct RNode {
314
317
  #define NEW_ZLIST(loc) NEW_NODE(NODE_ZLIST,0,0,0,loc)
315
318
  #define NEW_HASH(a,loc) NEW_NODE(NODE_HASH,a,0,0,loc)
316
319
  #define NEW_MASGN(l,r,loc) NEW_NODE(NODE_MASGN,l,0,r,loc)
317
- #define NEW_GASGN(v,val,loc) NEW_NODE(NODE_GASGN,v,val,rb_global_entry(v),loc)
320
+ #define NEW_GASGN(v,val,loc) NEW_NODE(NODE_GASGN,v,val,v,loc)
318
321
  #define NEW_LASGN(v,val,loc) NEW_NODE(NODE_LASGN,v,val,0,loc)
319
322
  #define NEW_DASGN(v,val,loc) NEW_NODE(NODE_DASGN,v,val,0,loc)
320
323
  #define NEW_DASGN_CURR(v,val,loc) NEW_NODE(NODE_DASGN_CURR,v,val,0,loc)
@@ -327,7 +330,7 @@ typedef struct RNode {
327
330
  #define NEW_OP_ASGN_OR(i,val,loc) NEW_NODE(NODE_OP_ASGN_OR,i,val,0,loc)
328
331
  #define NEW_OP_ASGN_AND(i,val,loc) NEW_NODE(NODE_OP_ASGN_AND,i,val,0,loc)
329
332
  #define NEW_OP_CDECL(v,op,val,loc) NEW_NODE(NODE_OP_CDECL,v,val,op,loc)
330
- #define NEW_GVAR(v,loc) NEW_NODE(NODE_GVAR,v,0,rb_global_entry(v),loc)
333
+ #define NEW_GVAR(v,loc) NEW_NODE(NODE_GVAR,v,0,v,loc)
331
334
  #define NEW_LVAR(v,loc) NEW_NODE(NODE_LVAR,v,0,0,loc)
332
335
  #define NEW_DVAR(v,loc) NEW_NODE(NODE_DVAR,v,0,0,loc)
333
336
  #define NEW_IVAR(v,loc) NEW_NODE(NODE_IVAR,v,0,0,loc)
@@ -378,7 +381,6 @@ typedef struct RNode {
378
381
  #define NEW_PREEXE(b,loc) NEW_SCOPE(b,loc)
379
382
  #define NEW_POSTEXE(b,loc) NEW_NODE(NODE_POSTEXE,0,b,0,loc)
380
383
  #define NEW_ATTRASGN(r,m,a,loc) NEW_NODE(NODE_ATTRASGN,r,m,a,loc)
381
- #define NEW_METHREF(r,m,loc) NEW_NODE(NODE_METHREF,r,m,0,loc)
382
384
 
383
385
  #define NODE_SPECIAL_REQUIRED_KEYWORD ((NODE *)-1)
384
386
  #define NODE_REQUIRED_KEYWORD_P(node) ((node)->nd_value == NODE_SPECIAL_REQUIRED_KEYWORD)
@@ -396,7 +398,10 @@ typedef struct node_buffer_struct node_buffer_t;
396
398
  typedef struct rb_ast_body_struct {
397
399
  const NODE *root;
398
400
  VALUE compile_option;
399
- int line_count;
401
+ VALUE script_lines;
402
+ // script_lines is either:
403
+ // - a Fixnum that represents the line count of the original source, or
404
+ // - an Array that contains the lines of the original source
400
405
  } rb_ast_body_t;
401
406
  typedef struct rb_ast_struct {
402
407
  VALUE flags;
@@ -406,6 +411,7 @@ typedef struct rb_ast_struct {
406
411
  rb_ast_t *rb_ast_new(void);
407
412
  void rb_ast_mark(rb_ast_t*);
408
413
  void rb_ast_update_references(rb_ast_t*);
414
+ void rb_ast_add_local_table(rb_ast_t*, ID *buf);
409
415
  void rb_ast_dispose(rb_ast_t*);
410
416
  void rb_ast_free(rb_ast_t*);
411
417
  size_t rb_ast_memsize(const rb_ast_t*);
@@ -416,22 +422,15 @@ void rb_ast_delete_node(rb_ast_t*, NODE *n);
416
422
  VALUE rb_parser_new(void);
417
423
  VALUE rb_parser_end_seen_p(VALUE);
418
424
  VALUE rb_parser_encoding(VALUE);
419
- VALUE rb_parser_get_yydebug(VALUE);
420
425
  VALUE rb_parser_set_yydebug(VALUE, VALUE);
421
426
  VALUE rb_parser_dump_tree(const NODE *node, int comment);
422
427
  void rb_parser_set_options(VALUE, int, int, int, int);
423
428
 
424
- rb_ast_t *rb_parser_compile_cstr(VALUE, const char*, const char*, int, int);
425
429
  rb_ast_t *rb_parser_compile_string(VALUE, const char*, VALUE, int);
426
- rb_ast_t *rb_parser_compile_file(VALUE, const char*, VALUE, int);
427
430
  rb_ast_t *rb_parser_compile_string_path(VALUE vparser, VALUE fname, VALUE src, int line);
428
431
  rb_ast_t *rb_parser_compile_file_path(VALUE vparser, VALUE fname, VALUE input, int line);
429
432
  rb_ast_t *rb_parser_compile_generic(VALUE vparser, VALUE (*lex_gets)(VALUE, int), VALUE fname, VALUE input, int line);
430
433
 
431
- rb_ast_t *rb_compile_cstr(const char*, const char*, int, int);
432
- rb_ast_t *rb_compile_string(const char*, VALUE, int);
433
- rb_ast_t *rb_compile_file(const char*, VALUE, int);
434
-
435
434
  void rb_node_init(NODE *n, enum node_type type, VALUE a0, VALUE a1, VALUE a2);
436
435
  const char *ruby_node_name(int node);
437
436
 
@@ -453,7 +452,9 @@ struct rb_args_info {
453
452
  NODE *kw_rest_arg;
454
453
 
455
454
  NODE *opt_args;
456
- int no_kwarg;
455
+ unsigned int no_kwarg: 1;
456
+ unsigned int ruby2_keywords: 1;
457
+
457
458
  VALUE imemo;
458
459
  };
459
460
 
@@ -461,7 +462,12 @@ struct rb_ary_pattern_info {
461
462
  NODE *pre_args;
462
463
  NODE *rest_arg;
463
464
  NODE *post_args;
464
- VALUE imemo;
465
+ };
466
+
467
+ struct rb_fnd_pattern_info {
468
+ NODE *pre_rest_arg;
469
+ NODE *args;
470
+ NODE *post_rest_arg;
465
471
  };
466
472
 
467
473
  struct parser_params;
@@ -470,9 +476,19 @@ void *rb_parser_realloc(struct parser_params *, void *, size_t);
470
476
  void *rb_parser_calloc(struct parser_params *, size_t, size_t);
471
477
  void rb_parser_free(struct parser_params *, void *);
472
478
  PRINTF_ARGS(void rb_parser_printf(struct parser_params *parser, const char *fmt, ...), 2, 3);
479
+ void rb_ast_node_type_change(NODE *n, enum node_type type);
473
480
 
474
481
  RUBY_SYMBOL_EXPORT_END
475
482
 
483
+ static inline VALUE
484
+ rb_node_set_type(NODE *n, enum node_type t)
485
+ {
486
+ #if RUBY_DEBUG
487
+ rb_ast_node_type_change(n, t);
488
+ #endif
489
+ return nd_init_type(n, t);
490
+ }
491
+
476
492
  #if defined(__cplusplus)
477
493
  #if 0
478
494
  { /* satisfy cc-mode */
@@ -0,0 +1,210 @@
1
+ case NODE_SCOPE:
2
+ return "NODE_SCOPE";
3
+ case NODE_BLOCK:
4
+ return "NODE_BLOCK";
5
+ case NODE_IF:
6
+ return "NODE_IF";
7
+ case NODE_UNLESS:
8
+ return "NODE_UNLESS";
9
+ case NODE_CASE:
10
+ return "NODE_CASE";
11
+ case NODE_CASE2:
12
+ return "NODE_CASE2";
13
+ case NODE_CASE3:
14
+ return "NODE_CASE3";
15
+ case NODE_WHEN:
16
+ return "NODE_WHEN";
17
+ case NODE_IN:
18
+ return "NODE_IN";
19
+ case NODE_WHILE:
20
+ return "NODE_WHILE";
21
+ case NODE_UNTIL:
22
+ return "NODE_UNTIL";
23
+ case NODE_ITER:
24
+ return "NODE_ITER";
25
+ case NODE_FOR:
26
+ return "NODE_FOR";
27
+ case NODE_FOR_MASGN:
28
+ return "NODE_FOR_MASGN";
29
+ case NODE_BREAK:
30
+ return "NODE_BREAK";
31
+ case NODE_NEXT:
32
+ return "NODE_NEXT";
33
+ case NODE_REDO:
34
+ return "NODE_REDO";
35
+ case NODE_RETRY:
36
+ return "NODE_RETRY";
37
+ case NODE_BEGIN:
38
+ return "NODE_BEGIN";
39
+ case NODE_RESCUE:
40
+ return "NODE_RESCUE";
41
+ case NODE_RESBODY:
42
+ return "NODE_RESBODY";
43
+ case NODE_ENSURE:
44
+ return "NODE_ENSURE";
45
+ case NODE_AND:
46
+ return "NODE_AND";
47
+ case NODE_OR:
48
+ return "NODE_OR";
49
+ case NODE_MASGN:
50
+ return "NODE_MASGN";
51
+ case NODE_LASGN:
52
+ return "NODE_LASGN";
53
+ case NODE_DASGN:
54
+ return "NODE_DASGN";
55
+ case NODE_DASGN_CURR:
56
+ return "NODE_DASGN_CURR";
57
+ case NODE_GASGN:
58
+ return "NODE_GASGN";
59
+ case NODE_IASGN:
60
+ return "NODE_IASGN";
61
+ case NODE_CDECL:
62
+ return "NODE_CDECL";
63
+ case NODE_CVASGN:
64
+ return "NODE_CVASGN";
65
+ case NODE_OP_ASGN1:
66
+ return "NODE_OP_ASGN1";
67
+ case NODE_OP_ASGN2:
68
+ return "NODE_OP_ASGN2";
69
+ case NODE_OP_ASGN_AND:
70
+ return "NODE_OP_ASGN_AND";
71
+ case NODE_OP_ASGN_OR:
72
+ return "NODE_OP_ASGN_OR";
73
+ case NODE_OP_CDECL:
74
+ return "NODE_OP_CDECL";
75
+ case NODE_CALL:
76
+ return "NODE_CALL";
77
+ case NODE_OPCALL:
78
+ return "NODE_OPCALL";
79
+ case NODE_FCALL:
80
+ return "NODE_FCALL";
81
+ case NODE_VCALL:
82
+ return "NODE_VCALL";
83
+ case NODE_QCALL:
84
+ return "NODE_QCALL";
85
+ case NODE_SUPER:
86
+ return "NODE_SUPER";
87
+ case NODE_ZSUPER:
88
+ return "NODE_ZSUPER";
89
+ case NODE_LIST:
90
+ return "NODE_LIST";
91
+ case NODE_ZLIST:
92
+ return "NODE_ZLIST";
93
+ case NODE_VALUES:
94
+ return "NODE_VALUES";
95
+ case NODE_HASH:
96
+ return "NODE_HASH";
97
+ case NODE_RETURN:
98
+ return "NODE_RETURN";
99
+ case NODE_YIELD:
100
+ return "NODE_YIELD";
101
+ case NODE_LVAR:
102
+ return "NODE_LVAR";
103
+ case NODE_DVAR:
104
+ return "NODE_DVAR";
105
+ case NODE_GVAR:
106
+ return "NODE_GVAR";
107
+ case NODE_IVAR:
108
+ return "NODE_IVAR";
109
+ case NODE_CONST:
110
+ return "NODE_CONST";
111
+ case NODE_CVAR:
112
+ return "NODE_CVAR";
113
+ case NODE_NTH_REF:
114
+ return "NODE_NTH_REF";
115
+ case NODE_BACK_REF:
116
+ return "NODE_BACK_REF";
117
+ case NODE_MATCH:
118
+ return "NODE_MATCH";
119
+ case NODE_MATCH2:
120
+ return "NODE_MATCH2";
121
+ case NODE_MATCH3:
122
+ return "NODE_MATCH3";
123
+ case NODE_LIT:
124
+ return "NODE_LIT";
125
+ case NODE_STR:
126
+ return "NODE_STR";
127
+ case NODE_DSTR:
128
+ return "NODE_DSTR";
129
+ case NODE_XSTR:
130
+ return "NODE_XSTR";
131
+ case NODE_DXSTR:
132
+ return "NODE_DXSTR";
133
+ case NODE_EVSTR:
134
+ return "NODE_EVSTR";
135
+ case NODE_DREGX:
136
+ return "NODE_DREGX";
137
+ case NODE_ONCE:
138
+ return "NODE_ONCE";
139
+ case NODE_ARGS:
140
+ return "NODE_ARGS";
141
+ case NODE_ARGS_AUX:
142
+ return "NODE_ARGS_AUX";
143
+ case NODE_OPT_ARG:
144
+ return "NODE_OPT_ARG";
145
+ case NODE_KW_ARG:
146
+ return "NODE_KW_ARG";
147
+ case NODE_POSTARG:
148
+ return "NODE_POSTARG";
149
+ case NODE_ARGSCAT:
150
+ return "NODE_ARGSCAT";
151
+ case NODE_ARGSPUSH:
152
+ return "NODE_ARGSPUSH";
153
+ case NODE_SPLAT:
154
+ return "NODE_SPLAT";
155
+ case NODE_BLOCK_PASS:
156
+ return "NODE_BLOCK_PASS";
157
+ case NODE_DEFN:
158
+ return "NODE_DEFN";
159
+ case NODE_DEFS:
160
+ return "NODE_DEFS";
161
+ case NODE_ALIAS:
162
+ return "NODE_ALIAS";
163
+ case NODE_VALIAS:
164
+ return "NODE_VALIAS";
165
+ case NODE_UNDEF:
166
+ return "NODE_UNDEF";
167
+ case NODE_CLASS:
168
+ return "NODE_CLASS";
169
+ case NODE_MODULE:
170
+ return "NODE_MODULE";
171
+ case NODE_SCLASS:
172
+ return "NODE_SCLASS";
173
+ case NODE_COLON2:
174
+ return "NODE_COLON2";
175
+ case NODE_COLON3:
176
+ return "NODE_COLON3";
177
+ case NODE_DOT2:
178
+ return "NODE_DOT2";
179
+ case NODE_DOT3:
180
+ return "NODE_DOT3";
181
+ case NODE_FLIP2:
182
+ return "NODE_FLIP2";
183
+ case NODE_FLIP3:
184
+ return "NODE_FLIP3";
185
+ case NODE_SELF:
186
+ return "NODE_SELF";
187
+ case NODE_NIL:
188
+ return "NODE_NIL";
189
+ case NODE_TRUE:
190
+ return "NODE_TRUE";
191
+ case NODE_FALSE:
192
+ return "NODE_FALSE";
193
+ case NODE_ERRINFO:
194
+ return "NODE_ERRINFO";
195
+ case NODE_DEFINED:
196
+ return "NODE_DEFINED";
197
+ case NODE_POSTEXE:
198
+ return "NODE_POSTEXE";
199
+ case NODE_DSYM:
200
+ return "NODE_DSYM";
201
+ case NODE_ATTRASGN:
202
+ return "NODE_ATTRASGN";
203
+ case NODE_LAMBDA:
204
+ return "NODE_LAMBDA";
205
+ case NODE_ARYPTN:
206
+ return "NODE_ARYPTN";
207
+ case NODE_HSHPTN:
208
+ return "NODE_HSHPTN";
209
+ case NODE_FNDPTN:
210
+ return "NODE_FNDPTN";
@@ -73,7 +73,6 @@ static const VALUE sc_insn_info[][SC_STATE_SIZE] = {
73
73
  NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
74
74
  NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
75
75
  NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
76
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
77
76
  #undef NO_SC
78
77
  };
79
78
 
@@ -103,7 +102,6 @@ static const VALUE sc_insn_next[] = {
103
102
  SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
104
103
  SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
105
104
  SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
106
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
107
105
  };
108
106
 
109
107
  ASSERT_VM_INSTRUCTION_SIZE(sc_insn_next);
@@ -109,19 +109,19 @@ rb_insn_unified_local_var_level(VALUE insn)
109
109
  /* optimize rule */
110
110
  switch (insn) {
111
111
  default:
112
- return -1; /* do nothing */;
112
+ return -1; /* do nothing */;
113
113
  case BIN(getlocal_WC_0):
114
- return 0;
114
+ return 0;
115
115
  case BIN(getlocal_WC_1):
116
- return 1;
116
+ return 1;
117
117
  case BIN(setlocal_WC_0):
118
- return 0;
118
+ return 0;
119
119
  case BIN(setlocal_WC_1):
120
- return 1;
120
+ return 1;
121
121
  case BIN(putobject_INT2FIX_0_):
122
- return INT2FIX(0);
122
+ return INT2FIX(0);
123
123
  case BIN(putobject_INT2FIX_1_):
124
- return INT2FIX(1);
124
+ return INT2FIX(1);
125
125
  }
126
126
  #endif
127
127
  return -1;
@@ -38,6 +38,6 @@
38
38
 
39
39
  /* Let .bss section automatically initialize this variable */
40
40
  /* cf. Section 6.7.8 of ISO/IEC 9899:1999 */
41
- static const int *const *const unified_insns_data[206];
41
+ static const int *const *const unified_insns_data[200];
42
42
 
43
43
  ASSERT_VM_INSTRUCTION_SIZE(unified_insns_data);
@@ -1,8 +1,9 @@
1
- /* A Bison parser, made by GNU Bison 3.0.4. */
1
+ /* A Bison parser, made by GNU Bison 3.5.1. */
2
2
 
3
3
  /* Bison interface for Yacc-like parsers in C
4
4
 
5
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
5
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
+ Inc.
6
7
 
7
8
  This program is free software: you can redistribute it and/or modify
8
9
  it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@
30
31
  This special exception was added by the Free Software Foundation in
31
32
  version 2.2 of Bison. */
32
33
 
34
+ /* Undocumented macros, especially those whose name start with YY_,
35
+ are private implementation details. Do not rely on them. */
36
+
33
37
  #ifndef YY_YY_Y_TAB_H_INCLUDED
34
38
  # define YY_YY_Y_TAB_H_INCLUDED
35
39
  /* Debug traces. */
@@ -135,7 +139,6 @@ extern int yydebug;
135
139
  tRSHFT = 137,
136
140
  tANDDOT = 150,
137
141
  tCOLON2 = 147,
138
- tMETHREF = 151,
139
142
  tCOLON3 = 324,
140
143
  tOP_ASGN = 325,
141
144
  tASSOC = 326,
@@ -171,7 +174,6 @@ extern int yydebug;
171
174
 
172
175
  /* Value type. */
173
176
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
174
-
175
177
  union YYSTYPE
176
178
  {
177
179
 
@@ -179,11 +181,13 @@ union YYSTYPE
179
181
  NODE *node;
180
182
  ID id;
181
183
  int num;
184
+ st_table *tbl;
182
185
  const struct vtable *vars;
183
186
  struct rb_strterm_struct *strterm;
187
+ struct lex_context ctxt;
184
188
 
185
- };
186
189
 
190
+ };
187
191
  typedef union YYSTYPE YYSTYPE;
188
192
  # define YYSTYPE_IS_TRIVIAL 1
189
193
  # define YYSTYPE_IS_DECLARED 1
@@ -12,18 +12,20 @@ struct ruby_dtrace_method_hook_args {
12
12
  volatile VALUE name;
13
13
  };
14
14
 
15
+ MJIT_SYMBOL_EXPORT_BEGIN
15
16
  NOINLINE(int rb_dtrace_setup(rb_execution_context_t *, VALUE, ID, struct ruby_dtrace_method_hook_args *));
17
+ MJIT_SYMBOL_EXPORT_END
16
18
 
17
19
  #define RUBY_DTRACE_METHOD_HOOK(name, ec, klazz, id) \
18
20
  do { \
19
21
  if (UNLIKELY(RUBY_DTRACE_##name##_ENABLED())) { \
20
- struct ruby_dtrace_method_hook_args args; \
21
- if (rb_dtrace_setup(ec, klazz, id, &args)) { \
22
- RUBY_DTRACE_##name(args.classname, \
23
- args.methodname, \
24
- args.filename, \
25
- args.line_no); \
26
- } \
22
+ struct ruby_dtrace_method_hook_args args; \
23
+ if (rb_dtrace_setup(ec, klazz, id, &args)) { \
24
+ RUBY_DTRACE_##name(args.classname, \
25
+ args.methodname, \
26
+ args.filename, \
27
+ args.line_no); \
28
+ } \
27
29
  } \
28
30
  } while (0)
29
31