debase-ruby_core_source 3.3.6 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +6 -0
  4. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/builtin.h +7 -1
  5. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/darray.h +1 -3
  6. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/id.h +5 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns.inc +2 -0
  8. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/insns_info.inc +310 -175
  9. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/basic_operators.h +1 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/bits.h +82 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/encoding.h +2 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/error.h +26 -0
  13. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/fixnum.h +1 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/gc.h +14 -6
  15. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/imemo.h +6 -1
  16. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/io.h +1 -1
  17. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/parse.h +2 -1
  18. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/proc.h +1 -0
  19. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/ractor.h +4 -0
  20. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/sanitizers.h +31 -39
  21. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/string.h +22 -10
  22. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/thread.h +23 -0
  23. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/vm.h +1 -1
  24. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/method.h +1 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/optunifs.inc +1 -1
  26. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/parse.h +2 -2
  27. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/ast.h +427 -3
  28. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/defines.h +8 -7
  29. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/diagnostic.h +1 -0
  30. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/extension.h +1 -1
  31. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prism.h +47 -11
  32. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/version.h +2 -2
  33. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism_compile.h +5 -5
  34. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/ractor_core.h +6 -6
  35. data/lib/debase/ruby_core_source/ruby-3.4.0/revision.h +5 -0
  36. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/rubyparser.h +3 -2
  37. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/thread_pthread.h +0 -1
  38. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/version.h +1 -1
  39. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm.inc +151 -88
  40. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_core.h +40 -12
  41. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_sync.h +3 -3
  42. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vmtc.inc +2 -0
  43. data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/yjit.h +1 -0
  44. data/lib/debase/ruby_core_source/version.rb +1 -1
  45. metadata +147 -293
  46. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  47. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  48. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  49. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  50. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  51. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  52. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  53. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  54. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  55. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  56. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  57. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  58. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  59. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  60. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  61. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  62. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  63. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +0 -6
  64. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  65. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  66. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  67. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  68. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  69. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +0 -255
  70. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  71. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  72. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  73. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  74. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  75. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  76. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  77. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  78. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  79. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  80. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  81. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  82. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  83. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  84. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  85. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  86. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  87. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  88. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  89. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  90. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  91. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  92. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  93. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  94. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  95. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  96. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  97. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  98. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  99. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  100. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  101. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  102. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  103. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  104. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  105. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  106. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  107. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  108. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  109. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  110. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  111. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  112. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  113. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  114. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  115. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  116. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  117. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  118. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  119. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  120. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  121. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  122. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  123. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  124. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  125. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  126. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  127. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  128. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  129. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  130. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  131. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  132. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  133. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  134. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  135. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  136. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  137. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  138. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  139. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  140. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  141. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  142. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  143. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  149. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  150. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  151. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  152. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  153. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  154. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  155. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  156. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  157. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  158. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  159. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  160. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  161. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  162. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  163. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  164. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  165. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  166. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  167. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  168. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  169. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  170. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  171. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  172. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  173. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  174. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  175. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  176. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  177. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  178. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  179. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  180. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  181. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  182. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  183. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  184. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  185. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  186. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  187. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  188. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  189. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  190. data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  191. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/addr2line.h +0 -0
  192. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/build_assert/build_assert.h +0 -0
  193. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/check_type/check_type.h +0 -0
  194. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/container_of/container_of.h +0 -0
  195. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/list/list.h +0 -0
  196. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ccan/str/str.h +0 -0
  197. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/constant.h +0 -0
  198. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/debug_counter.h +0 -0
  199. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/dln.h +0 -0
  200. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/encindex.h +0 -0
  201. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/eval_intern.h +0 -0
  202. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/hrtime.h +0 -0
  203. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/id_table.h +0 -0
  204. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/array.h +0 -0
  205. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/bignum.h +0 -0
  206. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/class.h +0 -0
  207. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cmdlineopt.h +0 -0
  208. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compar.h +0 -0
  209. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compile.h +0 -0
  210. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/compilers.h +0 -0
  211. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/complex.h +0 -0
  212. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/cont.h +0 -0
  213. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/dir.h +0 -0
  214. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enc.h +0 -0
  215. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enum.h +0 -0
  216. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/enumerator.h +0 -0
  217. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/eval.h +0 -0
  218. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/file.h +0 -0
  219. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/internal/hash.h +0 -0
  220. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/inits.h +0 -0
  221. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/load.h +0 -0
  222. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/loadpath.h +0 -0
  223. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/math.h +0 -0
  224. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/missing.h +0 -0
  225. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/numeric.h +0 -0
  226. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/object.h +0 -0
  227. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/process.h +0 -0
  228. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/random.h +0 -0
  229. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/range.h +0 -0
  230. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/rational.h +0 -0
  231. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/re.h +0 -0
  232. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/ruby_parser.h +0 -0
  233. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/serial.h +0 -0
  234. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/signal.h +0 -0
  235. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/st.h +0 -0
  236. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/static_assert.h +0 -0
  237. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/struct.h +0 -0
  238. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/symbol.h +0 -0
  239. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/time.h +0 -0
  240. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/transcode.h +0 -0
  241. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/util.h +0 -0
  242. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/variable.h +0 -0
  243. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal/warnings.h +0 -0
  244. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/internal.h +0 -0
  245. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/iseq.h +0 -0
  246. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/known_errors.inc +0 -0
  247. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node.h +0 -0
  248. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/node_name.inc +0 -0
  249. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/optinsn.inc +0 -0
  250. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_bits.h +0 -0
  251. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_node.h +0 -0
  252. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_st.h +0 -0
  253. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/parser_value.h +0 -0
  254. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/encoding.h +0 -0
  255. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/node.h +0 -0
  256. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/options.h +0 -0
  257. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/pack.h +0 -0
  258. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/parser.h +0 -0
  259. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/prettyprint.h +0 -0
  260. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/regexp.h +0 -0
  261. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/static_literals.h +0 -0
  262. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_buffer.h +0 -0
  263. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_char.h +0 -0
  264. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_constant_pool.h +0 -0
  265. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_integer.h +0 -0
  266. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_list.h +0 -0
  267. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_memchr.h +0 -0
  268. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_newline_list.h +0 -0
  269. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/prism/util/pm_string.h +0 -0
  270. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strncasecmp.h +0 -0
  271. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/prism/util/pm_strpbrk.h +0 -0
  272. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/probes_helper.h +0 -0
  273. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regenc.h +0 -0
  274. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/regint.h +0 -0
  275. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/regparse.h +0 -0
  276. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit.h +0 -0
  277. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/rjit_c.h +0 -0
  278. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_assert.h +0 -0
  279. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/ruby_atomic.h +0 -0
  280. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/shape.h +0 -0
  281. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/siphash.h +0 -0
  282. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/symbol.h +0 -0
  283. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_none.h +0 -0
  284. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/thread_win32.h +0 -0
  285. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/timev.h +0 -0
  286. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/transcode_data.h +0 -0
  287. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/variable.h +0 -0
  288. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_call_iseq_optimized.inc +0 -0
  289. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_callinfo.h +0 -0
  290. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_debug.h +0 -0
  291. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_exec.h +0 -0
  292. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0}/vm_insnhelper.h +0 -0
  293. /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0}/vm_opts.h +0 -0
@@ -1,17 +0,0 @@
1
- /* CC0 (Public domain) - see ccan/licenses/CC0 file for details */
2
- #ifndef CCAN_STR_H
3
- #define CCAN_STR_H
4
- /**
5
- * ccan_stringify - Turn expression into a string literal
6
- * @expr: any C expression
7
- *
8
- * Example:
9
- * #define PRINT_COND_IF_FALSE(cond) \
10
- * ((cond) || printf("%s is false!", ccan_stringify(cond)))
11
- */
12
- #define stringify(expr) ccan_stringify_1(expr)
13
- #define ccan_stringify(expr) ccan_stringify_1(expr)
14
- /* Double-indirection required to stringify expansions */
15
- #define ccan_stringify_1(expr) #expr
16
-
17
- #endif /* CCAN_STR_H */
@@ -1,53 +0,0 @@
1
- #ifndef CONSTANT_H
2
- #define CONSTANT_H
3
- /**********************************************************************
4
-
5
- constant.h -
6
-
7
- $Author$
8
- created at: Sun Nov 15 00:09:33 2009
9
-
10
- Copyright (C) 2009 Yusuke Endoh
11
-
12
- **********************************************************************/
13
- #include "ruby/ruby.h"
14
- #include "id_table.h"
15
-
16
- typedef enum {
17
- CONST_DEPRECATED = 0x100,
18
-
19
- CONST_VISIBILITY_MASK = 0xff,
20
- CONST_PUBLIC = 0x00,
21
- CONST_PRIVATE,
22
- CONST_VISIBILITY_MAX
23
- } rb_const_flag_t;
24
-
25
- #define RB_CONST_PRIVATE_P(ce) \
26
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PRIVATE)
27
- #define RB_CONST_PUBLIC_P(ce) \
28
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PUBLIC)
29
-
30
- #define RB_CONST_DEPRECATED_P(ce) \
31
- ((ce)->flag & CONST_DEPRECATED)
32
-
33
- typedef struct rb_const_entry_struct {
34
- rb_const_flag_t flag;
35
- int line;
36
- VALUE value; /* should be mark */
37
- VALUE file; /* should be mark */
38
- } rb_const_entry_t;
39
-
40
- VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
41
- VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
42
- VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);
43
- void rb_free_const_table(struct rb_id_table *tbl);
44
- VALUE rb_const_source_location(VALUE, ID);
45
-
46
- int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);
47
- rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);
48
- VALUE rb_public_const_get_at(VALUE klass, ID id);
49
- VALUE rb_public_const_get_from(VALUE klass, ID id);
50
- int rb_public_const_defined_from(VALUE klass, ID id);
51
- VALUE rb_const_source_location_at(VALUE, ID);
52
-
53
- #endif /* CONSTANT_H */
@@ -1,70 +0,0 @@
1
- #ifndef RUBY_ENCINDEX_H
2
- #define RUBY_ENCINDEX_H 1
3
- /**********************************************************************
4
-
5
- encindex.h -
6
-
7
- $Author$
8
- created at: Tue Sep 15 13:21:14 JST 2015
9
-
10
- Copyright (C) 2015 Yukihiro Matsumoto
11
-
12
- **********************************************************************/
13
-
14
- #include "ruby/encoding.h" /* rb_ascii8bit_encindex etc. */
15
- #if defined(__cplusplus)
16
- extern "C" {
17
- #if 0
18
- } /* satisfy cc-mode */
19
- #endif
20
- #endif
21
-
22
- enum ruby_preserved_encindex {
23
- RUBY_ENCINDEX_ASCII_8BIT,
24
- RUBY_ENCINDEX_UTF_8,
25
- RUBY_ENCINDEX_US_ASCII,
26
-
27
- /* preserved indexes */
28
- RUBY_ENCINDEX_UTF_16BE,
29
- RUBY_ENCINDEX_UTF_16LE,
30
- RUBY_ENCINDEX_UTF_32BE,
31
- RUBY_ENCINDEX_UTF_32LE,
32
- RUBY_ENCINDEX_UTF_16,
33
- RUBY_ENCINDEX_UTF_32,
34
- RUBY_ENCINDEX_UTF8_MAC,
35
-
36
- /* for old options of regexp */
37
- RUBY_ENCINDEX_EUC_JP,
38
- RUBY_ENCINDEX_Windows_31J,
39
-
40
- RUBY_ENCINDEX_BUILTIN_MAX
41
- };
42
-
43
- #define ENCINDEX_ASCII_8BIT RUBY_ENCINDEX_ASCII_8BIT
44
- #define ENCINDEX_UTF_8 RUBY_ENCINDEX_UTF_8
45
- #define ENCINDEX_US_ASCII RUBY_ENCINDEX_US_ASCII
46
- #define ENCINDEX_UTF_16BE RUBY_ENCINDEX_UTF_16BE
47
- #define ENCINDEX_UTF_16LE RUBY_ENCINDEX_UTF_16LE
48
- #define ENCINDEX_UTF_32BE RUBY_ENCINDEX_UTF_32BE
49
- #define ENCINDEX_UTF_32LE RUBY_ENCINDEX_UTF_32LE
50
- #define ENCINDEX_UTF_16 RUBY_ENCINDEX_UTF_16
51
- #define ENCINDEX_UTF_32 RUBY_ENCINDEX_UTF_32
52
- #define ENCINDEX_UTF8_MAC RUBY_ENCINDEX_UTF8_MAC
53
- #define ENCINDEX_EUC_JP RUBY_ENCINDEX_EUC_JP
54
- #define ENCINDEX_Windows_31J RUBY_ENCINDEX_Windows_31J
55
- #define ENCINDEX_BUILTIN_MAX RUBY_ENCINDEX_BUILTIN_MAX
56
-
57
- #define rb_ascii8bit_encindex() RUBY_ENCINDEX_ASCII_8BIT
58
- #define rb_utf8_encindex() RUBY_ENCINDEX_UTF_8
59
- #define rb_usascii_encindex() RUBY_ENCINDEX_US_ASCII
60
-
61
- int rb_enc_find_index2(const char *name, long len);
62
-
63
- #if defined(__cplusplus)
64
- #if 0
65
- { /* satisfy cc-mode */
66
- #endif
67
- } /* extern "C" { */
68
- #endif
69
-
70
- #endif /* RUBY_ENCINDEX_H */
@@ -1,324 +0,0 @@
1
- #ifndef RUBY_EVAL_INTERN_H
2
- #define RUBY_EVAL_INTERN_H
3
-
4
- #include "ruby/ruby.h"
5
- #include "vm_core.h"
6
-
7
- static inline void
8
- vm_passed_block_handler_set(rb_execution_context_t *ec, VALUE block_handler)
9
- {
10
- vm_block_handler_verify(block_handler);
11
- ec->passed_block_handler = block_handler;
12
- }
13
-
14
- static inline void
15
- pass_passed_block_handler(rb_execution_context_t *ec)
16
- {
17
- VALUE block_handler = rb_vm_frame_block_handler(ec->cfp);
18
- vm_passed_block_handler_set(ec, block_handler);
19
- VM_ENV_FLAGS_SET(ec->cfp->ep, VM_FRAME_FLAG_PASSED);
20
- }
21
-
22
- #define PASS_PASSED_BLOCK_HANDLER_EC(ec) pass_passed_block_handler(ec)
23
- #define PASS_PASSED_BLOCK_HANDLER() pass_passed_block_handler(GET_EC())
24
-
25
- #ifdef HAVE_STDLIB_H
26
- #include <stdlib.h>
27
- #endif
28
- #ifndef EXIT_SUCCESS
29
- #define EXIT_SUCCESS 0
30
- #endif
31
- #ifndef EXIT_FAILURE
32
- #define EXIT_FAILURE 1
33
- #endif
34
-
35
- #include <stdio.h>
36
- #if defined(__wasm__) && !defined(__EMSCRIPTEN__)
37
- # include "wasm/setjmp.h"
38
- #else
39
- # include <setjmp.h>
40
- #endif
41
-
42
- #ifdef __APPLE__
43
- # ifdef HAVE_CRT_EXTERNS_H
44
- # include <crt_externs.h>
45
- # else
46
- # include "missing/crt_externs.h"
47
- # endif
48
- #endif
49
-
50
- #ifndef HAVE_STRING_H
51
- char *strrchr(const char *, const char);
52
- #endif
53
-
54
- #ifdef HAVE_UNISTD_H
55
- #include <unistd.h>
56
- #endif
57
-
58
- #ifdef HAVE_NET_SOCKET_H
59
- #include <net/socket.h>
60
- #endif
61
-
62
- #define ruby_setjmp(env) RUBY_SETJMP(env)
63
- #define ruby_longjmp(env,val) RUBY_LONGJMP((env),(val))
64
- #ifdef __CYGWIN__
65
- # ifndef _setjmp
66
- int _setjmp(jmp_buf);
67
- # endif
68
- # ifndef _longjmp
69
- NORETURN(void _longjmp(jmp_buf, int));
70
- # endif
71
- #endif
72
-
73
- #include <sys/types.h>
74
- #include <signal.h>
75
- #include <errno.h>
76
-
77
- #ifdef HAVE_SYS_SELECT_H
78
- #include <sys/select.h>
79
- #endif
80
-
81
- /*
82
- Solaris sys/select.h switches select to select_large_fdset to support larger
83
- file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment.
84
- But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically.
85
- So following definition is required to use select_large_fdset.
86
- */
87
- #ifdef HAVE_SELECT_LARGE_FDSET
88
- #define select(n, r, w, e, t) select_large_fdset((n), (r), (w), (e), (t))
89
- extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval *);
90
- #endif
91
-
92
- #ifdef HAVE_SYS_PARAM_H
93
- #include <sys/param.h>
94
- #endif
95
-
96
- #include <sys/stat.h>
97
-
98
- #define EC_PUSH_TAG(ec) do { \
99
- rb_execution_context_t * const _ec = (ec); \
100
- struct rb_vm_tag _tag; \
101
- _tag.state = TAG_NONE; \
102
- _tag.tag = Qundef; \
103
- _tag.prev = _ec->tag; \
104
- _tag.lock_rec = rb_ec_vm_lock_rec(_ec); \
105
- rb_vm_tag_jmpbuf_init(&_tag.buf); \
106
-
107
- #define EC_POP_TAG() \
108
- _ec->tag = _tag.prev; \
109
- rb_vm_tag_jmpbuf_deinit(&_tag.buf); \
110
- } while (0)
111
-
112
- #define EC_TMPPOP_TAG() \
113
- _ec->tag = _tag.prev
114
-
115
- #define EC_REPUSH_TAG() (void)(_ec->tag = &_tag)
116
-
117
- #if defined __GNUC__ && __GNUC__ == 4 && (__GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8) || defined __clang__
118
- /* This macro prevents GCC 4.6--4.8 from emitting maybe-uninitialized warnings.
119
- * This macro also prevents Clang from dumping core in EC_EXEC_TAG().
120
- * (I confirmed Clang 4.0.1 and 5.0.0.)
121
- */
122
- # define VAR_FROM_MEMORY(var) __extension__(*(__typeof__(var) volatile *)&(var))
123
- # define VAR_INITIALIZED(var) ((var) = VAR_FROM_MEMORY(var))
124
- # define VAR_NOCLOBBERED(var) volatile var
125
- #else
126
- # define VAR_FROM_MEMORY(var) (var)
127
- # define VAR_INITIALIZED(var) ((void)&(var))
128
- # define VAR_NOCLOBBERED(var) var
129
- #endif
130
-
131
- static inline void
132
- rb_ec_vm_lock_rec_check(const rb_execution_context_t *ec, unsigned int recorded_lock_rec)
133
- {
134
- unsigned int current_lock_rec = rb_ec_vm_lock_rec(ec);
135
- if (current_lock_rec != recorded_lock_rec) {
136
- rb_ec_vm_lock_rec_release(ec, recorded_lock_rec, current_lock_rec);
137
- }
138
- }
139
-
140
- /* clear ec->tag->state, and return the value */
141
- static inline int
142
- rb_ec_tag_state(const rb_execution_context_t *ec)
143
- {
144
- struct rb_vm_tag *tag = ec->tag;
145
- enum ruby_tag_type state = tag->state;
146
- tag->state = TAG_NONE;
147
- rb_ec_vm_lock_rec_check(ec, tag->lock_rec);
148
- RBIMPL_ASSUME(state > TAG_NONE);
149
- RBIMPL_ASSUME(state <= TAG_FATAL);
150
- return state;
151
- }
152
-
153
- NORETURN(static inline void rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st));
154
- static inline void
155
- rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st)
156
- {
157
- RUBY_ASSERT(st > TAG_NONE && st <= TAG_FATAL, ": Invalid tag jump: %d", (int)st);
158
- ec->tag->state = st;
159
- ruby_longjmp(RB_VM_TAG_JMPBUF_GET(ec->tag->buf), 1);
160
- }
161
-
162
- /*
163
- setjmp() in assignment expression rhs is undefined behavior
164
- [ISO/IEC 9899:1999] 7.13.1.1
165
- */
166
- #define EC_EXEC_TAG() \
167
- (UNLIKELY(ruby_setjmp(RB_VM_TAG_JMPBUF_GET(_tag.buf))) ? rb_ec_tag_state(VAR_FROM_MEMORY(_ec)) : (EC_REPUSH_TAG(), 0))
168
-
169
- #define EC_JUMP_TAG(ec, st) rb_ec_tag_jump(ec, st)
170
-
171
- #define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
172
-
173
- /* CREF operators */
174
-
175
- #define CREF_FL_PUSHED_BY_EVAL IMEMO_FL_USER1
176
- #define CREF_FL_OMOD_SHARED IMEMO_FL_USER2
177
- #define CREF_FL_SINGLETON IMEMO_FL_USER3
178
-
179
- static inline int CREF_SINGLETON(const rb_cref_t *cref);
180
-
181
- static inline VALUE
182
- CREF_CLASS(const rb_cref_t *cref)
183
- {
184
- if (CREF_SINGLETON(cref)) {
185
- return CLASS_OF(cref->klass_or_self);
186
- }
187
- else {
188
- return cref->klass_or_self;
189
- }
190
- }
191
-
192
- static inline VALUE
193
- CREF_CLASS_FOR_DEFINITION(const rb_cref_t *cref)
194
- {
195
- if (CREF_SINGLETON(cref)) {
196
- return rb_singleton_class(cref->klass_or_self);
197
- }
198
- else {
199
- return cref->klass_or_self;
200
- }
201
- }
202
-
203
- static inline rb_cref_t *
204
- CREF_NEXT(const rb_cref_t *cref)
205
- {
206
- return cref->next;
207
- }
208
-
209
- static inline const rb_scope_visibility_t *
210
- CREF_SCOPE_VISI(const rb_cref_t *cref)
211
- {
212
- return &cref->scope_visi;
213
- }
214
-
215
- static inline VALUE
216
- CREF_REFINEMENTS(const rb_cref_t *cref)
217
- {
218
- return cref->refinements;
219
- }
220
-
221
- static inline void
222
- CREF_REFINEMENTS_SET(rb_cref_t *cref, VALUE refs)
223
- {
224
- RB_OBJ_WRITE(cref, &cref->refinements, refs);
225
- }
226
-
227
- static inline int
228
- CREF_PUSHED_BY_EVAL(const rb_cref_t *cref)
229
- {
230
- return cref->flags & CREF_FL_PUSHED_BY_EVAL;
231
- }
232
-
233
- static inline void
234
- CREF_PUSHED_BY_EVAL_SET(rb_cref_t *cref)
235
- {
236
- cref->flags |= CREF_FL_PUSHED_BY_EVAL;
237
- }
238
-
239
- static inline int
240
- CREF_SINGLETON(const rb_cref_t *cref)
241
- {
242
- return cref->flags & CREF_FL_SINGLETON;
243
- }
244
-
245
- static inline void
246
- CREF_SINGLETON_SET(rb_cref_t *cref)
247
- {
248
- cref->flags |= CREF_FL_SINGLETON;
249
- }
250
-
251
- static inline int
252
- CREF_OMOD_SHARED(const rb_cref_t *cref)
253
- {
254
- return cref->flags & CREF_FL_OMOD_SHARED;
255
- }
256
-
257
- static inline void
258
- CREF_OMOD_SHARED_SET(rb_cref_t *cref)
259
- {
260
- cref->flags |= CREF_FL_OMOD_SHARED;
261
- }
262
-
263
- static inline void
264
- CREF_OMOD_SHARED_UNSET(rb_cref_t *cref)
265
- {
266
- cref->flags &= ~CREF_FL_OMOD_SHARED;
267
- }
268
-
269
- enum {
270
- RAISED_EXCEPTION = 1,
271
- RAISED_STACKOVERFLOW = 2,
272
- RAISED_NOMEMORY = 4
273
- };
274
- #define rb_ec_raised_set(ec, f) ((ec)->raised_flag |= (f))
275
- #define rb_ec_raised_reset(ec, f) ((ec)->raised_flag &= ~(f))
276
- #define rb_ec_raised_p(ec, f) (((ec)->raised_flag & (f)) != 0)
277
- #define rb_ec_raised_clear(ec) ((ec)->raised_flag = 0)
278
- int rb_ec_set_raised(rb_execution_context_t *ec);
279
- int rb_ec_reset_raised(rb_execution_context_t *ec);
280
- int rb_ec_stack_check(rb_execution_context_t *ec);
281
-
282
- VALUE rb_f_eval(int argc, const VALUE *argv, VALUE self);
283
- VALUE rb_make_exception(int argc, const VALUE *argv);
284
-
285
- NORETURN(void rb_method_name_error(VALUE, VALUE));
286
-
287
- NORETURN(void rb_fiber_start(rb_fiber_t*));
288
-
289
- NORETURN(void rb_print_undef(VALUE, ID, rb_method_visibility_t));
290
- NORETURN(void rb_print_undef_str(VALUE, VALUE));
291
- NORETURN(void rb_print_inaccessible(VALUE, ID, rb_method_visibility_t));
292
- NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
293
- NORETURN(void rb_vm_jump_tag_but_local_jump(enum ruby_tag_type));
294
-
295
- VALUE rb_vm_make_jump_tag_but_local_jump(enum ruby_tag_type state, VALUE val);
296
- rb_cref_t *rb_vm_cref(void);
297
- rb_cref_t *rb_vm_cref_replace_with_duplicated_cref(void);
298
- VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, VALUE block_handler, VALUE filename);
299
- void rb_vm_set_progname(VALUE filename);
300
- VALUE rb_vm_cbase(void);
301
-
302
- /* vm_backtrace.c */
303
- VALUE rb_ec_backtrace_object(const rb_execution_context_t *ec);
304
- VALUE rb_ec_backtrace_str_ary(const rb_execution_context_t *ec, long lev, long n);
305
- VALUE rb_ec_backtrace_location_ary(const rb_execution_context_t *ec, long lev, long n, bool skip_internal);
306
-
307
- #ifndef CharNext /* defined as CharNext[AW] on Windows. */
308
- # ifdef HAVE_MBLEN
309
- # define CharNext(p) rb_char_next(p)
310
- static inline char *
311
- rb_char_next(const char *p)
312
- {
313
- if (p) {
314
- int len = mblen(p, RUBY_MBCHAR_MAXSIZE);
315
- p += len > 0 ? len : 1;
316
- }
317
- return (char *)p;
318
- }
319
- # else
320
- # define CharNext(p) ((p) + 1)
321
- # endif
322
- #endif
323
-
324
- #endif /* RUBY_EVAL_INTERN_H */
@@ -1,237 +0,0 @@
1
- #ifndef RB_HRTIME_H
2
- #define RB_HRTIME_H
3
- #include "ruby/ruby.h"
4
- #include <time.h>
5
- #if defined(HAVE_SYS_TIME_H)
6
- # include <sys/time.h>
7
- #endif
8
-
9
- #include "internal/compilers.h"
10
-
11
- /*
12
- * Hi-res monotonic clock. It is currently nsec resolution, which has over
13
- * 500 years of range (with an unsigned 64-bit integer). Developers
14
- * targeting small systems may try 32-bit and low-resolution (milliseconds).
15
- *
16
- * TBD: Is nsec even necessary? usec resolution seems enough for userspace
17
- * and it'll be suitable for use with devices lasting over 500,000 years
18
- * (maybe some devices designed for long-term space travel)
19
- *
20
- * Current API:
21
- *
22
- * * rb_hrtime_now - current clock value (monotonic if available)
23
- * * rb_hrtime_mul - multiply with overflow check
24
- * * rb_hrtime_add - add with overflow check
25
- * * rb_timeval2hrtime - convert from timeval
26
- * * rb_timespec2hrtime - convert from timespec
27
- * * rb_msec2hrtime - convert from millisecond
28
- * * rb_sec2hrtime - convert from time_t (seconds)
29
- * * rb_hrtime2timeval - convert to timeval
30
- * * rb_hrtime2timespec - convert to timespec
31
- *
32
- * Note: no conversion to milliseconds is provided here because different
33
- * functions have different limits (e.g. epoll_wait vs w32_wait_events).
34
- * So we provide RB_HRTIME_PER_MSEC and similar macros for implementing
35
- * this for each use case.
36
- */
37
- #define RB_HRTIME_PER_USEC ((rb_hrtime_t)1000)
38
- #define RB_HRTIME_PER_MSEC (RB_HRTIME_PER_USEC * (rb_hrtime_t)1000)
39
- #define RB_HRTIME_PER_SEC (RB_HRTIME_PER_MSEC * (rb_hrtime_t)1000)
40
- #define RB_HRTIME_MAX UINT64_MAX
41
- #define RB_HRTIME_MIN ((rb_hrtime_t)0)
42
-
43
- /*
44
- * Lets try to support time travelers. Lets assume anybody with a time machine
45
- * also has access to a modern gcc or clang with 128-bit int support
46
- */
47
- #ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
48
- typedef int128_t rb_hrtime_t;
49
- #else
50
- typedef uint64_t rb_hrtime_t;
51
- #endif
52
-
53
- /* thread.c */
54
- /* returns the value of the monotonic clock (if available) */
55
- rb_hrtime_t rb_hrtime_now(void);
56
-
57
- /*
58
- * multiply @a and @b with overflow check and return the
59
- * (clamped to RB_HRTIME_MAX) result.
60
- */
61
- static inline rb_hrtime_t
62
- rb_hrtime_mul(rb_hrtime_t a, rb_hrtime_t b)
63
- {
64
- rb_hrtime_t c;
65
-
66
- #ifdef ckd_mul
67
- if (ckd_mul(&c, a, b))
68
- return RB_HRTIME_MAX;
69
-
70
- #elif __has_builtin(__builtin_mul_overflow)
71
- if (__builtin_mul_overflow(a, b, &c))
72
- return RB_HRTIME_MAX;
73
- #else
74
- if (b != 0 && a > RB_HRTIME_MAX / b) /* overflow */
75
- return RB_HRTIME_MAX;
76
- c = a * b;
77
- #endif
78
- return c;
79
- }
80
-
81
- /*
82
- * add @a and @b with overflow check and return the
83
- * (clamped to RB_HRTIME_MAX) result.
84
- */
85
- static inline rb_hrtime_t
86
- rb_hrtime_add(rb_hrtime_t a, rb_hrtime_t b)
87
- {
88
- rb_hrtime_t c;
89
-
90
- #ifdef ckd_add
91
- if (ckd_add(&c, a, b))
92
- return RB_HRTIME_MAX;
93
-
94
- #elif __has_builtin(__builtin_add_overflow)
95
- if (__builtin_add_overflow(a, b, &c))
96
- return RB_HRTIME_MAX;
97
- #else
98
- c = a + b;
99
- if (c < a) /* overflow */
100
- return RB_HRTIME_MAX;
101
- #endif
102
- return c;
103
- }
104
-
105
- static inline rb_hrtime_t
106
- rb_hrtime_sub(rb_hrtime_t a, rb_hrtime_t b)
107
- {
108
- if (a < b) {
109
- return RB_HRTIME_MIN;
110
- }
111
- return a - b;
112
- }
113
-
114
- /*
115
- * convert a timeval struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
116
- */
117
- static inline rb_hrtime_t
118
- rb_timeval2hrtime(const struct timeval *tv)
119
- {
120
- rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)tv->tv_sec, RB_HRTIME_PER_SEC);
121
- rb_hrtime_t u = rb_hrtime_mul((rb_hrtime_t)tv->tv_usec, RB_HRTIME_PER_USEC);
122
-
123
- return rb_hrtime_add(s, u);
124
- }
125
-
126
- /*
127
- * convert a timespec struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
128
- */
129
- static inline rb_hrtime_t
130
- rb_timespec2hrtime(const struct timespec *ts)
131
- {
132
- rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)ts->tv_sec, RB_HRTIME_PER_SEC);
133
-
134
- return rb_hrtime_add(s, (rb_hrtime_t)ts->tv_nsec);
135
- }
136
-
137
- /*
138
- * convert a millisecond value to rb_hrtime_t, clamping at RB_HRTIME_MAX
139
- */
140
- static inline rb_hrtime_t
141
- rb_msec2hrtime(unsigned long msec)
142
- {
143
- return rb_hrtime_mul((rb_hrtime_t)msec, RB_HRTIME_PER_MSEC);
144
- }
145
-
146
- /*
147
- * convert a time_t value to rb_hrtime_t, clamping at RB_HRTIME_MAX
148
- * Negative values will be clamped at 0.
149
- */
150
- static inline rb_hrtime_t
151
- rb_sec2hrtime(time_t sec)
152
- {
153
- if (sec <= 0) return 0;
154
-
155
- return rb_hrtime_mul((rb_hrtime_t)sec, RB_HRTIME_PER_SEC);
156
- }
157
-
158
- /*
159
- * convert a rb_hrtime_t value to a timespec, suitable for calling
160
- * functions like ppoll(2) or kevent(2)
161
- */
162
- static inline struct timespec *
163
- rb_hrtime2timespec(struct timespec *ts, const rb_hrtime_t *hrt)
164
- {
165
- if (hrt) {
166
- ts->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
167
- ts->tv_nsec = (int32_t)(*hrt % RB_HRTIME_PER_SEC);
168
- return ts;
169
- }
170
- return 0;
171
- }
172
-
173
- /*
174
- * convert a rb_hrtime_t value to a timeval, suitable for calling
175
- * functions like select(2)
176
- */
177
- static inline struct timeval *
178
- rb_hrtime2timeval(struct timeval *tv, const rb_hrtime_t *hrt)
179
- {
180
- if (hrt) {
181
- tv->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
182
- tv->tv_usec = (int32_t)((*hrt % RB_HRTIME_PER_SEC)/RB_HRTIME_PER_USEC);
183
-
184
- return tv;
185
- }
186
- return 0;
187
- }
188
-
189
- #include "internal/warnings.h"
190
- #include "internal/time.h"
191
-
192
- /*
193
- * Back when we used "struct timeval", not all platforms implemented
194
- * tv_sec as time_t. Nowadays we use "struct timespec" and tv_sec
195
- * seems to be implemented more consistently across platforms.
196
- * At least other parts of our code hasn't had to deal with non-time_t
197
- * tv_sec in timespec...
198
- */
199
- #define TIMESPEC_SEC_MAX TIMET_MAX
200
- #define TIMESPEC_SEC_MIN TIMET_MIN
201
-
202
- COMPILER_WARNING_PUSH
203
- #if __has_warning("-Wimplicit-int-float-conversion")
204
- COMPILER_WARNING_IGNORED(-Wimplicit-int-float-conversion)
205
- #elif defined(_MSC_VER)
206
- /* C4305: 'initializing': truncation from '__int64' to 'const double' */
207
- COMPILER_WARNING_IGNORED(4305)
208
- #endif
209
- static const double TIMESPEC_SEC_MAX_as_double = TIMESPEC_SEC_MAX;
210
- COMPILER_WARNING_POP
211
-
212
- static inline rb_hrtime_t *
213
- double2hrtime(rb_hrtime_t *hrt, double d)
214
- {
215
- /* assume timespec.tv_sec has same signedness as time_t */
216
- const double TIMESPEC_SEC_MAX_PLUS_ONE = 2.0 * (TIMESPEC_SEC_MAX_as_double / 2.0 + 1.0);
217
-
218
- if (TIMESPEC_SEC_MAX_PLUS_ONE <= d) {
219
- *hrt = RB_HRTIME_MAX;
220
- return NULL;
221
- }
222
- else if (d <= 0) {
223
- *hrt = 0;
224
- }
225
- else {
226
- *hrt = (rb_hrtime_t)(d * (double)RB_HRTIME_PER_SEC);
227
- }
228
- return hrt;
229
- }
230
-
231
- static inline double
232
- hrtime2double(rb_hrtime_t hrt)
233
- {
234
- return (double)hrt / (double)RB_HRTIME_PER_SEC;
235
- }
236
-
237
- #endif /* RB_HRTIME_H */