debase-ruby_core_source 0.10.12 → 0.10.18

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 (531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/debase-ruby_core_source.gemspec +3 -3
  4. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/addr2line.h +1 -1
  5. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/build_assert/build_assert.h +40 -0
  6. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/check_type/check_type.h +63 -0
  7. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/container_of/container_of.h +142 -0
  8. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
  9. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/str/str.h +16 -0
  10. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
  11. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
  12. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/dln.h +10 -9
  13. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
  14. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
  15. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/gc.h +27 -10
  16. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
  17. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
  18. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
  19. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
  20. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
  21. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
  22. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/known_errors.inc +16 -1
  23. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
  24. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node.h +115 -79
  25. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node_name.inc +12 -22
  26. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
  27. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
  28. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/optunifs.inc +28 -83
  29. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/parse.h +74 -60
  30. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
  31. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
  32. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regint.h +299 -211
  33. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regparse.h +45 -37
  34. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
  35. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
  36. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/ruby_atomic.h +84 -26
  37. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/siphash.h +1 -1
  38. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
  39. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_pthread.h +14 -11
  40. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_win32.h +2 -6
  41. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
  42. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/transcode_data.h +34 -12
  43. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
  44. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
  45. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
  46. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
  47. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550/debug.h → ruby-2.5.4-p155/vm_debug.h} +4 -8
  48. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_exec.h +38 -30
  49. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
  50. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_opts.h +14 -9
  51. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
  52. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/addr2line.h +20 -0
  53. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/builtin.h +84 -0
  54. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/build_assert/build_assert.h +40 -0
  55. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/check_type/check_type.h +63 -0
  56. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/container_of/container_of.h +142 -0
  57. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/list/list.h +788 -0
  58. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ccan/str/str.h +16 -0
  59. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/constant.h +55 -0
  60. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/darray.h +198 -0
  61. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/debug_counter.h +469 -0
  62. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/dln.h +31 -0
  63. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/encindex.h +70 -0
  64. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/eval_intern.h +335 -0
  65. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/gc.h +141 -0
  66. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/hrtime.h +168 -0
  67. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/id.h +293 -0
  68. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/id_table.h +36 -0
  69. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/insns.inc +249 -0
  70. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/insns_info.inc +9063 -0
  71. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/array.h +113 -0
  72. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/bignum.h +246 -0
  73. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/bits.h +565 -0
  74. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/class.h +196 -0
  75. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/compar.h +49 -0
  76. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/compile.h +35 -0
  77. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/compilers.h +107 -0
  78. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/complex.h +29 -0
  79. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/cont.h +24 -0
  80. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/dir.h +16 -0
  81. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/enc.h +19 -0
  82. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/encoding.h +30 -0
  83. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/enum.h +18 -0
  84. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/enumerator.h +21 -0
  85. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/error.h +191 -0
  86. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/eval.h +32 -0
  87. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/file.h +38 -0
  88. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/fixnum.h +184 -0
  89. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/gc.h +186 -0
  90. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/hash.h +243 -0
  91. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/imemo.h +243 -0
  92. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/inits.h +50 -0
  93. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/io.h +38 -0
  94. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/load.h +18 -0
  95. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/loadpath.h +16 -0
  96. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/math.h +23 -0
  97. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/missing.h +18 -0
  98. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/numeric.h +271 -0
  99. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/object.h +83 -0
  100. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/parse.h +23 -0
  101. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/proc.h +32 -0
  102. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/process.h +137 -0
  103. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/random.h +16 -0
  104. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/range.h +40 -0
  105. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/rational.h +72 -0
  106. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/re.h +30 -0
  107. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/sanitizers.h +190 -0
  108. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/serial.h +23 -0
  109. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/signal.h +21 -0
  110. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/static_assert.h +16 -0
  111. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/string.h +141 -0
  112. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/struct.h +153 -0
  113. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/symbol.h +41 -0
  114. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/thread.h +53 -0
  115. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/time.h +34 -0
  116. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/transcode.h +20 -0
  117. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/util.h +27 -0
  118. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/variable.h +83 -0
  119. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/vm.h +133 -0
  120. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal/warnings.h +16 -0
  121. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/internal.h +109 -0
  122. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/iseq.h +322 -0
  123. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/known_errors.inc +791 -0
  124. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/method.h +253 -0
  125. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/mjit.h +231 -0
  126. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/mjit_compile.inc +8322 -0
  127. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/node.h +510 -0
  128. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/node_name.inc +208 -0
  129. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/opt_sc.inc +109 -0
  130. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/optinsn.inc +128 -0
  131. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/optunifs.inc +43 -0
  132. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/parse.h +214 -0
  133. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/probes_helper.h +44 -0
  134. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ractor_core.h +346 -0
  135. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/regenc.h +254 -0
  136. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/regint.h +942 -0
  137. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/regparse.h +370 -0
  138. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/revision.h +2 -0
  139. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ruby_assert.h +14 -0
  140. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/ruby_atomic.h +23 -0
  141. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/siphash.h +48 -0
  142. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/symbol.h +119 -0
  143. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/thread_pthread.h +115 -0
  144. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/thread_win32.h +61 -0
  145. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/timev.h +57 -0
  146. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/transcode_data.h +138 -0
  147. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/transient_heap.h +65 -0
  148. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/variable.h +21 -0
  149. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/version.h +88 -0
  150. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm.inc +5470 -0
  151. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_call_iseq_optimized.inc +244 -0
  152. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_callinfo.h +487 -0
  153. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_core.h +2107 -0
  154. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_debug.h +124 -0
  155. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_exec.h +197 -0
  156. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_insnhelper.h +265 -0
  157. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_opts.h +73 -0
  158. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vm_sync.h +137 -0
  159. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/vmtc.inc +243 -0
  160. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/yjit.h +73 -0
  161. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/yjit_asm.h +408 -0
  162. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/yjit_codegen.h +23 -0
  163. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/yjit_core.h +307 -0
  164. data/lib/debase/ruby_core_source/ruby-3.1.0-p0/yjit_iface.h +38 -0
  165. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/addr2line.h +20 -0
  166. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/builtin.h +84 -0
  167. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/build_assert/build_assert.h +40 -0
  168. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/check_type/check_type.h +63 -0
  169. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/container_of/container_of.h +142 -0
  170. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/list/list.h +789 -0
  171. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/str/str.h +17 -0
  172. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/constant.h +55 -0
  173. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/darray.h +226 -0
  174. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/debug_counter.h +469 -0
  175. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/dln.h +31 -0
  176. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/encindex.h +70 -0
  177. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/eval_intern.h +339 -0
  178. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/gc.h +143 -0
  179. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/hrtime.h +216 -0
  180. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id.h +295 -0
  181. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/id_table.h +36 -0
  182. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns.inc +249 -0
  183. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns_info.inc +9064 -0
  184. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/array.h +113 -0
  185. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bignum.h +246 -0
  186. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/bits.h +565 -0
  187. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/class.h +211 -0
  188. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cmdlineopt.h +61 -0
  189. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compar.h +49 -0
  190. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compile.h +35 -0
  191. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compilers.h +107 -0
  192. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/complex.h +29 -0
  193. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cont.h +24 -0
  194. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/dir.h +16 -0
  195. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enc.h +19 -0
  196. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/encoding.h +30 -0
  197. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enum.h +18 -0
  198. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/enumerator.h +21 -0
  199. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/error.h +191 -0
  200. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/eval.h +32 -0
  201. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/file.h +38 -0
  202. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/fixnum.h +184 -0
  203. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/gc.h +188 -0
  204. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/hash.h +243 -0
  205. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/imemo.h +243 -0
  206. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/inits.h +50 -0
  207. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/io.h +38 -0
  208. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/load.h +18 -0
  209. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/loadpath.h +16 -0
  210. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/math.h +23 -0
  211. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/missing.h +18 -0
  212. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/numeric.h +271 -0
  213. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/object.h +83 -0
  214. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/parse.h +23 -0
  215. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/proc.h +32 -0
  216. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/process.h +137 -0
  217. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/ractor.h +6 -0
  218. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/random.h +16 -0
  219. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/range.h +40 -0
  220. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/rational.h +72 -0
  221. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/re.h +30 -0
  222. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/sanitizers.h +190 -0
  223. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/serial.h +23 -0
  224. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/signal.h +21 -0
  225. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/static_assert.h +16 -0
  226. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/string.h +141 -0
  227. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/struct.h +153 -0
  228. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/symbol.h +41 -0
  229. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/thread.h +53 -0
  230. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/time.h +34 -0
  231. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/transcode.h +20 -0
  232. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/util.h +27 -0
  233. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/variable.h +83 -0
  234. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/vm.h +134 -0
  235. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/warnings.h +16 -0
  236. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal.h +109 -0
  237. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/iseq.h +325 -0
  238. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/known_errors.inc +791 -0
  239. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/method.h +254 -0
  240. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit.h +231 -0
  241. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit_compile.inc +8333 -0
  242. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node.h +510 -0
  243. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node_name.inc +208 -0
  244. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/opt_sc.inc +109 -0
  245. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optinsn.inc +128 -0
  246. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optunifs.inc +43 -0
  247. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/parse.h +214 -0
  248. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/probes_helper.h +44 -0
  249. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ractor_core.h +346 -0
  250. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regenc.h +255 -0
  251. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regint.h +957 -0
  252. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regparse.h +370 -0
  253. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/revision.h +2 -0
  254. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_assert.h +14 -0
  255. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ruby_atomic.h +23 -0
  256. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/siphash.h +48 -0
  257. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/symbol.h +119 -0
  258. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_none.h +17 -0
  259. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_pthread.h +115 -0
  260. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_win32.h +61 -0
  261. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/timev.h +57 -0
  262. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transcode_data.h +138 -0
  263. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transient_heap.h +65 -0
  264. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/variable.h +21 -0
  265. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/version.h +91 -0
  266. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm.inc +5481 -0
  267. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_call_iseq_optimized.inc +244 -0
  268. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_callinfo.h +502 -0
  269. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_core.h +2089 -0
  270. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_debug.h +113 -0
  271. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_exec.h +197 -0
  272. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_insnhelper.h +262 -0
  273. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_opts.h +73 -0
  274. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_sync.h +137 -0
  275. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vmtc.inc +243 -0
  276. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit.h +73 -0
  277. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_asm.h +408 -0
  278. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_codegen.h +23 -0
  279. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_core.h +307 -0
  280. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_iface.h +38 -0
  281. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/addr2line.h +20 -0
  282. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/builtin.h +121 -0
  283. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/build_assert/build_assert.h +40 -0
  284. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/check_type/check_type.h +63 -0
  285. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/container_of/container_of.h +142 -0
  286. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/list/list.h +789 -0
  287. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/str/str.h +17 -0
  288. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/constant.h +55 -0
  289. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/darray.h +179 -0
  290. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/debug_counter.h +469 -0
  291. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/dln.h +31 -0
  292. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/encindex.h +70 -0
  293. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/eval_intern.h +339 -0
  294. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/gc.h +143 -0
  295. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/hrtime.h +226 -0
  296. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id.h +295 -0
  297. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id_table.h +36 -0
  298. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/insns.inc +249 -0
  299. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/insns_info.inc +9061 -0
  300. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/array.h +162 -0
  301. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bignum.h +246 -0
  302. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bits.h +565 -0
  303. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/class.h +212 -0
  304. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cmdlineopt.h +58 -0
  305. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compar.h +49 -0
  306. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compile.h +35 -0
  307. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compilers.h +107 -0
  308. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/complex.h +29 -0
  309. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cont.h +26 -0
  310. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/dir.h +16 -0
  311. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enc.h +19 -0
  312. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/encoding.h +30 -0
  313. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enum.h +18 -0
  314. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enumerator.h +21 -0
  315. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/error.h +191 -0
  316. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/eval.h +32 -0
  317. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/file.h +38 -0
  318. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/fixnum.h +184 -0
  319. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/gc.h +188 -0
  320. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/hash.h +243 -0
  321. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/imemo.h +242 -0
  322. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/inits.h +50 -0
  323. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/io.h +38 -0
  324. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/load.h +18 -0
  325. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/loadpath.h +16 -0
  326. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/math.h +23 -0
  327. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/missing.h +18 -0
  328. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/numeric.h +271 -0
  329. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/object.h +83 -0
  330. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/parse.h +23 -0
  331. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/proc.h +32 -0
  332. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/process.h +137 -0
  333. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/ractor.h +6 -0
  334. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/random.h +16 -0
  335. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/range.h +40 -0
  336. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/rational.h +72 -0
  337. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/re.h +30 -0
  338. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/sanitizers.h +190 -0
  339. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/serial.h +23 -0
  340. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/signal.h +21 -0
  341. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/static_assert.h +16 -0
  342. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/string.h +146 -0
  343. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/struct.h +153 -0
  344. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/symbol.h +42 -0
  345. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/thread.h +54 -0
  346. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/time.h +34 -0
  347. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/transcode.h +20 -0
  348. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/util.h +27 -0
  349. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/variable.h +83 -0
  350. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/vm.h +134 -0
  351. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/warnings.h +16 -0
  352. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal.h +113 -0
  353. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/iseq.h +328 -0
  354. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/known_errors.inc +791 -0
  355. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/method.h +253 -0
  356. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit.h +136 -0
  357. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_compile_attr.inc +430 -0
  358. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_compiler.h +58 -0
  359. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_unit.h +29 -0
  360. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node.h +510 -0
  361. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node_name.inc +208 -0
  362. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/opt_sc.inc +109 -0
  363. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optinsn.inc +128 -0
  364. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optunifs.inc +43 -0
  365. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/parse.h +214 -0
  366. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/probes_helper.h +44 -0
  367. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ractor_core.h +341 -0
  368. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regenc.h +255 -0
  369. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regint.h +957 -0
  370. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regparse.h +370 -0
  371. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/revision.h +2 -0
  372. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_assert.h +14 -0
  373. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_atomic.h +23 -0
  374. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/siphash.h +48 -0
  375. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/symbol.h +119 -0
  376. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_none.h +20 -0
  377. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_pthread.h +132 -0
  378. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_win32.h +63 -0
  379. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/timev.h +57 -0
  380. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transcode_data.h +138 -0
  381. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transient_heap.h +65 -0
  382. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/variable.h +21 -0
  383. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/version.h +68 -0
  384. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm.inc +5476 -0
  385. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_call_iseq_optimized.inc +244 -0
  386. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_callinfo.h +522 -0
  387. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_core.h +2130 -0
  388. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_debug.h +122 -0
  389. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_exec.h +197 -0
  390. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_insnhelper.h +269 -0
  391. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_opts.h +73 -0
  392. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_sync.h +137 -0
  393. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vmtc.inc +243 -0
  394. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/yjit.h +72 -0
  395. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/addr2line.h +20 -0
  396. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/builtin.h +121 -0
  397. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/build_assert/build_assert.h +40 -0
  398. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/check_type/check_type.h +63 -0
  399. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/container_of/container_of.h +142 -0
  400. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/list/list.h +789 -0
  401. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/str/str.h +17 -0
  402. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/constant.h +55 -0
  403. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/darray.h +179 -0
  404. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/debug_counter.h +468 -0
  405. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/dln.h +31 -0
  406. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/encindex.h +70 -0
  407. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/eval_intern.h +339 -0
  408. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/gc.h +147 -0
  409. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/hrtime.h +227 -0
  410. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/id.h +295 -0
  411. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/id_table.h +36 -0
  412. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/insns.inc +249 -0
  413. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/insns_info.inc +9061 -0
  414. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/array.h +163 -0
  415. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/bignum.h +246 -0
  416. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/bits.h +565 -0
  417. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/class.h +181 -0
  418. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/cmdlineopt.h +61 -0
  419. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compar.h +49 -0
  420. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compile.h +35 -0
  421. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compilers.h +107 -0
  422. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/complex.h +29 -0
  423. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/cont.h +29 -0
  424. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/dir.h +16 -0
  425. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enc.h +19 -0
  426. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/encoding.h +29 -0
  427. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enum.h +18 -0
  428. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enumerator.h +21 -0
  429. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/error.h +191 -0
  430. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/eval.h +32 -0
  431. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/file.h +38 -0
  432. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/fixnum.h +184 -0
  433. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/gc.h +191 -0
  434. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/hash.h +243 -0
  435. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/imemo.h +242 -0
  436. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/inits.h +50 -0
  437. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/io.h +38 -0
  438. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/load.h +18 -0
  439. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/loadpath.h +16 -0
  440. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/math.h +23 -0
  441. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/missing.h +18 -0
  442. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/numeric.h +275 -0
  443. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/object.h +61 -0
  444. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/parse.h +24 -0
  445. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/proc.h +32 -0
  446. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/process.h +137 -0
  447. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/ractor.h +6 -0
  448. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/random.h +16 -0
  449. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/range.h +40 -0
  450. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/rational.h +72 -0
  451. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/re.h +30 -0
  452. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/sanitizers.h +190 -0
  453. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/serial.h +23 -0
  454. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/signal.h +21 -0
  455. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/static_assert.h +16 -0
  456. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/string.h +147 -0
  457. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/struct.h +153 -0
  458. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/symbol.h +42 -0
  459. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/thread.h +55 -0
  460. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/time.h +34 -0
  461. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/transcode.h +20 -0
  462. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/util.h +27 -0
  463. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/variable.h +88 -0
  464. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/vm.h +134 -0
  465. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/warnings.h +16 -0
  466. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal.h +113 -0
  467. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/iseq.h +329 -0
  468. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/known_errors.inc +791 -0
  469. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/method.h +254 -0
  470. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit.h +132 -0
  471. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit_compile_attr.inc +430 -0
  472. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit_compiler.h +58 -0
  473. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit_unit.h +29 -0
  474. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/node.h +511 -0
  475. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/node_name.inc +210 -0
  476. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/opt_sc.inc +109 -0
  477. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/optinsn.inc +128 -0
  478. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/optunifs.inc +43 -0
  479. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/parse.h +215 -0
  480. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/probes_helper.h +44 -0
  481. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ractor_core.h +343 -0
  482. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/regenc.h +254 -0
  483. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/regint.h +984 -0
  484. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/regparse.h +370 -0
  485. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/revision.h +5 -0
  486. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ruby_assert.h +14 -0
  487. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ruby_atomic.h +23 -0
  488. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/shape.h +194 -0
  489. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/siphash.h +48 -0
  490. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/symbol.h +119 -0
  491. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/thread_none.h +20 -0
  492. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/thread_pthread.h +132 -0
  493. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/thread_win32.h +63 -0
  494. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/timev.h +57 -0
  495. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/transcode_data.h +138 -0
  496. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/transient_heap.h +65 -0
  497. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/variable.h +29 -0
  498. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/version.h +65 -0
  499. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm.inc +5476 -0
  500. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_call_iseq_optimized.inc +244 -0
  501. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_callinfo.h +550 -0
  502. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_core.h +2137 -0
  503. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_debug.h +122 -0
  504. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_exec.h +197 -0
  505. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_insnhelper.h +266 -0
  506. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_opts.h +73 -0
  507. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_sync.h +137 -0
  508. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vmtc.inc +243 -0
  509. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/yjit.h +72 -0
  510. data/lib/debase/ruby_core_source/version.rb +1 -1
  511. metadata +513 -45
  512. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/constant.h +0 -34
  513. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/encdb.h +0 -167
  514. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/eval_intern.h +0 -234
  515. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/id.h +0 -177
  516. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns.inc +0 -179
  517. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns_info.inc +0 -695
  518. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/internal.h +0 -242
  519. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/iseq.h +0 -126
  520. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/method.h +0 -105
  521. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/opt_sc.inc +0 -670
  522. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optinsn.inc +0 -30
  523. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regenc.h +0 -219
  524. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/revision.h +0 -1
  525. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/timev.h +0 -21
  526. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transdb.h +0 -189
  527. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/version.h +0 -52
  528. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm.inc +0 -3054
  529. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_core.h +0 -763
  530. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_insnhelper.h +0 -220
  531. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vmtc.inc +0 -97
@@ -0,0 +1,984 @@
1
+ #ifndef ONIGMO_REGINT_H
2
+ #define ONIGMO_REGINT_H
3
+ /**********************************************************************
4
+ regint.h - Onigmo (Oniguruma-mod) (regular expression library)
5
+ **********************************************************************/
6
+ /*-
7
+ * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>
8
+ * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp>
9
+ * All rights reserved.
10
+ *
11
+ * Redistribution and use in source and binary forms, with or without
12
+ * modification, are permitted provided that the following conditions
13
+ * are met:
14
+ * 1. Redistributions of source code must retain the above copyright
15
+ * notice, this list of conditions and the following disclaimer.
16
+ * 2. Redistributions in binary form must reproduce the above copyright
17
+ * notice, this list of conditions and the following disclaimer in the
18
+ * documentation and/or other materials provided with the distribution.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
+ * SUCH DAMAGE.
31
+ */
32
+
33
+ /* for debug */
34
+ /* #define ONIG_DEBUG_PARSE_TREE */
35
+ /* #define ONIG_DEBUG_COMPILE */
36
+ /* #define ONIG_DEBUG_SEARCH */
37
+ /* #define ONIG_DEBUG_MATCH */
38
+ /* #define ONIG_DEBUG_MEMLEAK */
39
+ /* #define ONIG_DONT_OPTIMIZE */
40
+
41
+ /* for byte-code statistical data. */
42
+ /* #define ONIG_DEBUG_STATISTICS */
43
+
44
+ /* enable matching optimization by using cache. */
45
+ #define USE_CACHE_MATCH_OPT
46
+
47
+ #ifdef USE_CACHE_MATCH_OPT
48
+ # define NUM_CACHE_OPCODE_FAIL -1
49
+ # define NUM_CACHE_OPCODE_UNINIT -2
50
+ #endif
51
+
52
+ #if defined(ONIG_DEBUG_PARSE_TREE) || defined(ONIG_DEBUG_MATCH) || \
53
+ defined(ONIG_DEBUG_SEARCH) || defined(ONIG_DEBUG_COMPILE) || \
54
+ defined(ONIG_DEBUG_STATISTICS) || defined(ONIG_DEBUG_MEMLEAK)
55
+ # ifndef ONIG_DEBUG
56
+ # define ONIG_DEBUG
57
+ # endif
58
+ #endif
59
+
60
+ /* __POWERPC__ added to accommodate Darwin case. */
61
+ #ifndef UNALIGNED_WORD_ACCESS
62
+ # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
63
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
64
+ defined(__powerpc64__) || defined(__POWERPC__) || defined(__aarch64__) || \
65
+ defined(__mc68020__)
66
+ # define UNALIGNED_WORD_ACCESS 1
67
+ # else
68
+ # define UNALIGNED_WORD_ACCESS 0
69
+ # endif
70
+ #endif
71
+
72
+ #if UNALIGNED_WORD_ACCESS
73
+ # define PLATFORM_UNALIGNED_WORD_ACCESS
74
+ #endif
75
+
76
+ /* config */
77
+ /* spec. config */
78
+ #define USE_NAMED_GROUP
79
+ #define USE_SUBEXP_CALL
80
+ #define USE_PERL_SUBEXP_CALL
81
+ #define USE_CAPITAL_P_NAMED_GROUP
82
+ #define USE_BACKREF_WITH_LEVEL /* \k<name+n>, \k<name-n> */
83
+ #define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT /* /(?:()|())*\2/ */
84
+ #define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE /* /\n$/ =~ "\n" */
85
+ #define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
86
+ /* !!! moved to regenc.h. */ /* #define USE_CRNL_AS_LINE_TERMINATOR */
87
+ #define USE_NO_INVALID_QUANTIFIER
88
+
89
+ /* internal config */
90
+ /* #define USE_OP_PUSH_OR_JUMP_EXACT */
91
+ #define USE_QTFR_PEEK_NEXT
92
+ #define USE_ST_LIBRARY
93
+ #define USE_SUNDAY_QUICK_SEARCH
94
+
95
+ #define INIT_MATCH_STACK_SIZE 160
96
+ #define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */
97
+ #define DEFAULT_PARSE_DEPTH_LIMIT 4096
98
+
99
+ #define OPT_EXACT_MAXLEN 24
100
+
101
+ /* check config */
102
+ #if defined(USE_PERL_SUBEXP_CALL) || defined(USE_CAPITAL_P_NAMED_GROUP)
103
+ # if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL)
104
+ # error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined.
105
+ # endif
106
+ #endif
107
+
108
+ #if defined(__GNUC__)
109
+ # define ARG_UNUSED __attribute__ ((unused))
110
+ #else
111
+ # define ARG_UNUSED
112
+ #endif
113
+
114
+ #if !defined(RUBY) && defined(RUBY_EXPORT)
115
+ # define RUBY
116
+ #endif
117
+ #ifdef RUBY
118
+ # ifndef RUBY_DEFINES_H
119
+ # include "ruby/ruby.h"
120
+ # undef xmalloc
121
+ # undef xrealloc
122
+ # undef xcalloc
123
+ # undef xfree
124
+ # endif
125
+ #else /* RUBY */
126
+ # include "config.h"
127
+ # if SIZEOF_LONG_LONG > 0
128
+ # define LONG_LONG long long
129
+ # endif
130
+ #endif /* RUBY */
131
+
132
+ #include <stdarg.h>
133
+
134
+ /* */
135
+ /* escape other system UChar definition */
136
+ #ifdef ONIG_ESCAPE_UCHAR_COLLISION
137
+ # undef ONIG_ESCAPE_UCHAR_COLLISION
138
+ #endif
139
+
140
+ #define USE_WORD_BEGIN_END /* "\<": word-begin, "\>": word-end */
141
+ #ifdef RUBY
142
+ # undef USE_CAPTURE_HISTORY
143
+ #else
144
+ # define USE_CAPTURE_HISTORY
145
+ #endif
146
+ #define USE_VARIABLE_META_CHARS
147
+ #define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
148
+ /* #define USE_COMBINATION_EXPLOSION_CHECK */ /* (X*)* */
149
+
150
+
151
+ #ifndef xmalloc
152
+ # define xmalloc malloc
153
+ # define xrealloc realloc
154
+ # define xcalloc calloc
155
+ # define xfree free
156
+ #endif
157
+
158
+ #ifdef RUBY
159
+
160
+ # define CHECK_INTERRUPT_IN_MATCH_AT do { \
161
+ msa->counter++; \
162
+ if (msa->counter >= 128) { \
163
+ msa->counter = 0; \
164
+ rb_reg_check_timeout(reg, &msa->end_time); \
165
+ rb_thread_check_ints(); \
166
+ } \
167
+ } while(0)
168
+ # define onig_st_init_table st_init_table
169
+ # define onig_st_init_table_with_size st_init_table_with_size
170
+ # define onig_st_init_numtable st_init_numtable
171
+ # define onig_st_init_numtable_with_size st_init_numtable_with_size
172
+ # define onig_st_init_strtable st_init_strtable
173
+ # define onig_st_init_strtable_with_size st_init_strtable_with_size
174
+ # define onig_st_delete st_delete
175
+ # define onig_st_delete_safe st_delete_safe
176
+ # define onig_st_insert st_insert
177
+ # define onig_st_lookup st_lookup
178
+ # define onig_st_foreach st_foreach
179
+ # define onig_st_add_direct st_add_direct
180
+ # define onig_st_free_table st_free_table
181
+ # define onig_st_cleanup_safe st_cleanup_safe
182
+ # define onig_st_copy st_copy
183
+ # define onig_st_nothing_key_clone st_nothing_key_clone
184
+ # define onig_st_nothing_key_free st_nothing_key_free
185
+ # define onig_st_is_member st_is_member
186
+
187
+ # define USE_UPPER_CASE_TABLE
188
+ #else /* RUBY */
189
+
190
+ # define CHECK_INTERRUPT_IN_MATCH_AT
191
+
192
+ # define st_init_table onig_st_init_table
193
+ # define st_init_table_with_size onig_st_init_table_with_size
194
+ # define st_init_numtable onig_st_init_numtable
195
+ # define st_init_numtable_with_size onig_st_init_numtable_with_size
196
+ # define st_init_strtable onig_st_init_strtable
197
+ # define st_init_strtable_with_size onig_st_init_strtable_with_size
198
+ # define st_delete onig_st_delete
199
+ # define st_delete_safe onig_st_delete_safe
200
+ # define st_insert onig_st_insert
201
+ # define st_lookup onig_st_lookup
202
+ # define st_foreach onig_st_foreach
203
+ # define st_add_direct onig_st_add_direct
204
+ # define st_free_table onig_st_free_table
205
+ # define st_cleanup_safe onig_st_cleanup_safe
206
+ # define st_copy onig_st_copy
207
+ # define st_nothing_key_clone onig_st_nothing_key_clone
208
+ # define st_nothing_key_free onig_st_nothing_key_free
209
+ /* */
210
+ # define onig_st_is_member st_is_member
211
+
212
+ #endif /* RUBY */
213
+
214
+ #define STATE_CHECK_STRING_THRESHOLD_LEN 7
215
+ #define STATE_CHECK_BUFF_MAX_SIZE 0x4000
216
+
217
+ #define xmemset memset
218
+ #define xmemcpy memcpy
219
+ #define xmemmove memmove
220
+
221
+ #if ((defined(RUBY_MSVCRT_VERSION) && RUBY_MSVCRT_VERSION >= 90) \
222
+ || (!defined(RUBY_MSVCRT_VERSION) && defined(_WIN32))) \
223
+ && !defined(__GNUC__)
224
+ # define xalloca _alloca
225
+ # define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
226
+ # define xsnprintf sprintf_s
227
+ # define xstrcat(dest,src,size) strcat_s(dest,size,src)
228
+ #else
229
+ # define xalloca alloca
230
+ # define xvsnprintf vsnprintf
231
+ # define xsnprintf snprintf
232
+ # define xstrcat(dest,src,size) strcat(dest,src)
233
+ #endif
234
+
235
+ #if defined(ONIG_DEBUG_MEMLEAK) && defined(_MSC_VER)
236
+ # define _CRTDBG_MAP_ALLOC
237
+ # include <malloc.h>
238
+ # include <crtdbg.h>
239
+ #endif
240
+
241
+ #include <stdlib.h>
242
+
243
+ #if defined(HAVE_ALLOCA_H) && (defined(_AIX) || !defined(__GNUC__))
244
+ # include <alloca.h>
245
+ #endif
246
+
247
+ #include <string.h>
248
+
249
+ #include <ctype.h>
250
+ #ifdef HAVE_SYS_TYPES_H
251
+ # include <sys/types.h>
252
+ #endif
253
+
254
+ #ifdef HAVE_STDINT_H
255
+ # include <stdint.h>
256
+ #endif
257
+
258
+ #ifdef HAVE_INTTYPES_H
259
+ # include <inttypes.h>
260
+ #endif
261
+
262
+ #include <stddef.h>
263
+
264
+ #ifdef _WIN32
265
+ # include <malloc.h> /* for alloca() */
266
+ #endif
267
+
268
+ #ifdef ONIG_DEBUG
269
+ # include <stdio.h>
270
+ #endif
271
+
272
+ #ifdef _WIN32
273
+ # if defined(_MSC_VER) && (_MSC_VER < 1300)
274
+ # ifndef _INTPTR_T_DEFINED
275
+ # define _INTPTR_T_DEFINED
276
+ typedef int intptr_t;
277
+ # endif
278
+ # ifndef _UINTPTR_T_DEFINED
279
+ # define _UINTPTR_T_DEFINED
280
+ typedef unsigned int uintptr_t;
281
+ # endif
282
+ # endif
283
+ #endif /* _WIN32 */
284
+
285
+ #ifndef PRIdPTR
286
+ # ifdef _WIN64
287
+ # define PRIdPTR "I64d"
288
+ # define PRIuPTR "I64u"
289
+ # define PRIxPTR "I64x"
290
+ # else
291
+ # define PRIdPTR "ld"
292
+ # define PRIuPTR "lu"
293
+ # define PRIxPTR "lx"
294
+ # endif
295
+ #endif
296
+
297
+ #ifndef PRIdPTRDIFF
298
+ # define PRIdPTRDIFF PRIdPTR
299
+ #endif
300
+
301
+ #include "regenc.h"
302
+
303
+ RUBY_SYMBOL_EXPORT_BEGIN
304
+
305
+ #ifdef MIN
306
+ # undef MIN
307
+ #endif
308
+ #ifdef MAX
309
+ # undef MAX
310
+ #endif
311
+ #define MIN(a,b) (((a)>(b))?(b):(a))
312
+ #define MAX(a,b) (((a)<(b))?(b):(a))
313
+
314
+ #define IS_NULL(p) (((void*)(p)) == (void*)0)
315
+ #define IS_NOT_NULL(p) (((void*)(p)) != (void*)0)
316
+ #define CHECK_NULL_RETURN(p) if (IS_NULL(p)) return NULL
317
+ #define CHECK_NULL_RETURN_MEMERR(p) if (IS_NULL(p)) return ONIGERR_MEMORY
318
+ #define NULL_UCHARP ((UChar* )0)
319
+
320
+ #define ONIG_LAST_CODE_POINT (~((OnigCodePoint )0))
321
+
322
+ #ifdef PLATFORM_UNALIGNED_WORD_ACCESS
323
+
324
+ # define PLATFORM_GET_INC(val,p,type) do{\
325
+ val = *(type* )p;\
326
+ (p) += sizeof(type);\
327
+ } while(0)
328
+
329
+ #else
330
+
331
+ # define PLATFORM_GET_INC(val,p,type) do{\
332
+ xmemcpy(&val, (p), sizeof(type));\
333
+ (p) += sizeof(type);\
334
+ } while(0)
335
+
336
+ /* sizeof(OnigCodePoint) */
337
+ # define WORD_ALIGNMENT_SIZE SIZEOF_LONG
338
+
339
+ # define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
340
+ (pad_size) = WORD_ALIGNMENT_SIZE \
341
+ - ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
342
+ if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
343
+ } while (0)
344
+
345
+ # define ALIGNMENT_RIGHT(addr) do {\
346
+ (addr) += (WORD_ALIGNMENT_SIZE - 1);\
347
+ (addr) -= ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
348
+ } while (0)
349
+
350
+ #endif /* PLATFORM_UNALIGNED_WORD_ACCESS */
351
+
352
+ /* stack pop level */
353
+ #define STACK_POP_LEVEL_FREE 0
354
+ #define STACK_POP_LEVEL_MEM_START 1
355
+ #define STACK_POP_LEVEL_ALL 2
356
+
357
+ /* optimize flags */
358
+ #define ONIG_OPTIMIZE_NONE 0
359
+ #define ONIG_OPTIMIZE_EXACT 1 /* Slow Search */
360
+ #define ONIG_OPTIMIZE_EXACT_BM 2 /* Boyer Moore Search */
361
+ #define ONIG_OPTIMIZE_EXACT_BM_NOT_REV 3 /* BM (applied to a multibyte string) */
362
+ #define ONIG_OPTIMIZE_EXACT_IC 4 /* Slow Search (ignore case) */
363
+ #define ONIG_OPTIMIZE_MAP 5 /* char map */
364
+ #define ONIG_OPTIMIZE_EXACT_BM_IC 6 /* BM (ignore case) */
365
+ #define ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC 7 /* BM (applied to a multibyte string) (ignore case) */
366
+
367
+ /* bit status */
368
+ typedef unsigned int BitStatusType;
369
+
370
+ #define BIT_STATUS_BITS_NUM (sizeof(BitStatusType) * 8)
371
+ #define BIT_STATUS_CLEAR(stats) (stats) = 0
372
+ #define BIT_STATUS_ON_ALL(stats) (stats) = ~((BitStatusType )0)
373
+ #define BIT_STATUS_AT(stats,n) \
374
+ ((n) < (int )BIT_STATUS_BITS_NUM ? ((stats) & ((BitStatusType )1 << n)) : ((stats) & 1))
375
+
376
+ #define BIT_STATUS_ON_AT(stats,n) do {\
377
+ if ((n) < (int )BIT_STATUS_BITS_NUM)\
378
+ (stats) |= (1 << (n));\
379
+ else\
380
+ (stats) |= 1;\
381
+ } while (0)
382
+
383
+ #define BIT_STATUS_ON_AT_SIMPLE(stats,n) do {\
384
+ if ((n) < (int )BIT_STATUS_BITS_NUM)\
385
+ (stats) |= (1 << (n));\
386
+ } while (0)
387
+
388
+
389
+ #define INT_MAX_LIMIT ((1UL << (SIZEOF_INT * 8 - 1)) - 1)
390
+ #define LONG_MAX_LIMIT ((1UL << (SIZEOF_LONG * 8 - 1)) - 1)
391
+
392
+ #define DIGITVAL(code) ((code) - '0')
393
+ #define ODIGITVAL(code) DIGITVAL(code)
394
+ #define XDIGITVAL(enc,code) \
395
+ (ONIGENC_IS_CODE_DIGIT(enc,code) ? DIGITVAL(code) \
396
+ : (ONIGENC_IS_CODE_UPPER(enc,code) ? (code) - 'A' + 10 : (code) - 'a' + 10))
397
+
398
+ #define IS_SINGLELINE(option) ((option) & ONIG_OPTION_SINGLELINE)
399
+ #define IS_MULTILINE(option) ((option) & ONIG_OPTION_MULTILINE)
400
+ #define IS_IGNORECASE(option) ((option) & ONIG_OPTION_IGNORECASE)
401
+ #define IS_EXTEND(option) ((option) & ONIG_OPTION_EXTEND)
402
+ #define IS_FIND_LONGEST(option) ((option) & ONIG_OPTION_FIND_LONGEST)
403
+ #define IS_FIND_NOT_EMPTY(option) ((option) & ONIG_OPTION_FIND_NOT_EMPTY)
404
+ #define IS_FIND_CONDITION(option) ((option) & \
405
+ (ONIG_OPTION_FIND_LONGEST | ONIG_OPTION_FIND_NOT_EMPTY))
406
+ #define IS_NOTBOL(option) ((option) & ONIG_OPTION_NOTBOL)
407
+ #define IS_NOTEOL(option) ((option) & ONIG_OPTION_NOTEOL)
408
+ #define IS_NOTBOS(option) ((option) & ONIG_OPTION_NOTBOS)
409
+ #define IS_NOTEOS(option) ((option) & ONIG_OPTION_NOTEOS)
410
+ #define IS_ASCII_RANGE(option) ((option) & ONIG_OPTION_ASCII_RANGE)
411
+ #define IS_POSIX_BRACKET_ALL_RANGE(option) ((option) & ONIG_OPTION_POSIX_BRACKET_ALL_RANGE)
412
+ #define IS_WORD_BOUND_ALL_RANGE(option) ((option) & ONIG_OPTION_WORD_BOUND_ALL_RANGE)
413
+ #define IS_NEWLINE_CRLF(option) ((option) & ONIG_OPTION_NEWLINE_CRLF)
414
+
415
+ /* OP_SET_OPTION is required for these options.
416
+ #define IS_DYNAMIC_OPTION(option) \
417
+ (((option) & (ONIG_OPTION_MULTILINE | ONIG_OPTION_IGNORECASE)) != 0)
418
+ */
419
+ /* ignore-case and multibyte status are included in compiled code. */
420
+ #define IS_DYNAMIC_OPTION(option) 0
421
+
422
+ #define DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag) \
423
+ ((case_fold_flag) & ~INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR)
424
+
425
+ #define REPEAT_INFINITE -1
426
+ #define IS_REPEAT_INFINITE(n) ((n) == REPEAT_INFINITE)
427
+
428
+ /* bitset */
429
+ #define BITS_PER_BYTE 8
430
+ #define SINGLE_BYTE_SIZE (1 << BITS_PER_BYTE)
431
+ #define BITS_IN_ROOM ((int )sizeof(Bits) * BITS_PER_BYTE)
432
+ #define BITSET_SIZE (SINGLE_BYTE_SIZE / BITS_IN_ROOM)
433
+
434
+ #ifdef PLATFORM_UNALIGNED_WORD_ACCESS
435
+ typedef unsigned int Bits;
436
+ #else
437
+ typedef unsigned char Bits;
438
+ #endif
439
+ typedef Bits BitSet[BITSET_SIZE];
440
+ typedef Bits* BitSetRef;
441
+
442
+ #define SIZE_BITSET (int )sizeof(BitSet)
443
+
444
+ #define BITSET_CLEAR(bs) do {\
445
+ int i;\
446
+ for (i = 0; i < BITSET_SIZE; i++) { (bs)[i] = 0; } \
447
+ } while (0)
448
+
449
+ #define BS_ROOM(bs,pos) (bs)[(int )(pos) / BITS_IN_ROOM]
450
+ #define BS_BIT(pos) (1U << ((int )(pos) % BITS_IN_ROOM))
451
+
452
+ #define BITSET_AT(bs, pos) (BS_ROOM(bs,pos) & BS_BIT(pos))
453
+ #define BITSET_SET_BIT(bs, pos) BS_ROOM(bs,pos) |= BS_BIT(pos)
454
+ #define BITSET_CLEAR_BIT(bs, pos) BS_ROOM(bs,pos) &= ~(BS_BIT(pos))
455
+ #define BITSET_INVERT_BIT(bs, pos) BS_ROOM(bs,pos) ^= BS_BIT(pos)
456
+
457
+ /* bytes buffer */
458
+ typedef struct _BBuf {
459
+ UChar* p;
460
+ unsigned int used;
461
+ unsigned int alloc;
462
+ } BBuf;
463
+
464
+ #define BBUF_INIT(buf,size) onig_bbuf_init((BBuf* )(buf), (size))
465
+
466
+ #define BBUF_SIZE_INC(buf,inc) do{\
467
+ UChar *tmp;\
468
+ (buf)->alloc += (inc);\
469
+ tmp = (UChar* )xrealloc((buf)->p, (buf)->alloc);\
470
+ if (IS_NULL(tmp)) return(ONIGERR_MEMORY);\
471
+ (buf)->p = tmp;\
472
+ } while (0)
473
+
474
+ #define BBUF_EXPAND(buf,low) do{\
475
+ UChar *tmp;\
476
+ do { (buf)->alloc *= 2; } while ((buf)->alloc < (unsigned int )low);\
477
+ tmp = (UChar* )xrealloc((buf)->p, (buf)->alloc);\
478
+ if (IS_NULL(tmp)) return(ONIGERR_MEMORY);\
479
+ (buf)->p = tmp;\
480
+ } while (0)
481
+
482
+ #define BBUF_ENSURE_SIZE(buf,size) do{\
483
+ unsigned int new_alloc = (buf)->alloc;\
484
+ while (new_alloc < (unsigned int )(size)) { new_alloc *= 2; }\
485
+ if ((buf)->alloc != new_alloc) {\
486
+ UChar *tmp;\
487
+ tmp = (UChar* )xrealloc((buf)->p, new_alloc);\
488
+ if (IS_NULL(tmp)) return(ONIGERR_MEMORY);\
489
+ (buf)->p = tmp;\
490
+ (buf)->alloc = new_alloc;\
491
+ }\
492
+ } while (0)
493
+
494
+ #define BBUF_WRITE(buf,pos,bytes,n) do{\
495
+ int used = (pos) + (int )(n);\
496
+ if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
497
+ xmemcpy((buf)->p + (pos), (bytes), (n));\
498
+ if ((buf)->used < (unsigned int )used) (buf)->used = used;\
499
+ } while (0)
500
+
501
+ #define BBUF_WRITE1(buf,pos,byte) do{\
502
+ int used = (pos) + 1;\
503
+ if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
504
+ (buf)->p[(pos)] = (UChar )(byte);\
505
+ if ((buf)->used < (unsigned int )used) (buf)->used = used;\
506
+ } while (0)
507
+
508
+ #define BBUF_ADD(buf,bytes,n) BBUF_WRITE((buf),(buf)->used,(bytes),(n))
509
+ #define BBUF_ADD1(buf,byte) BBUF_WRITE1((buf),(buf)->used,(byte))
510
+ #define BBUF_GET_ADD_ADDRESS(buf) ((buf)->p + (buf)->used)
511
+ #define BBUF_GET_OFFSET_POS(buf) ((buf)->used)
512
+
513
+ /* from < to */
514
+ #define BBUF_MOVE_RIGHT(buf,from,to,n) do {\
515
+ if ((unsigned int )((to)+(n)) > (buf)->alloc) BBUF_EXPAND((buf),(to) + (n));\
516
+ xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
517
+ if ((unsigned int )((to)+(n)) > (buf)->used) (buf)->used = (to) + (n);\
518
+ } while (0)
519
+
520
+ /* from > to */
521
+ #define BBUF_MOVE_LEFT(buf,from,to,n) do {\
522
+ xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
523
+ } while (0)
524
+
525
+ /* from > to */
526
+ #define BBUF_MOVE_LEFT_REDUCE(buf,from,to) do {\
527
+ xmemmove((buf)->p + (to), (buf)->p + (from), (buf)->used - (from));\
528
+ (buf)->used -= (from - to);\
529
+ } while (0)
530
+
531
+ #define BBUF_INSERT(buf,pos,bytes,n) do {\
532
+ if (pos >= (buf)->used) {\
533
+ BBUF_WRITE(buf,pos,bytes,n);\
534
+ }\
535
+ else {\
536
+ BBUF_MOVE_RIGHT((buf),(pos),(pos) + (n),((buf)->used - (pos)));\
537
+ xmemcpy((buf)->p + (pos), (bytes), (n));\
538
+ }\
539
+ } while (0)
540
+
541
+ #define BBUF_GET_BYTE(buf, pos) (buf)->p[(pos)]
542
+
543
+
544
+ #define ANCHOR_BEGIN_BUF (1<<0)
545
+ #define ANCHOR_BEGIN_LINE (1<<1)
546
+ #define ANCHOR_BEGIN_POSITION (1<<2)
547
+ #define ANCHOR_END_BUF (1<<3)
548
+ #define ANCHOR_SEMI_END_BUF (1<<4)
549
+ #define ANCHOR_END_LINE (1<<5)
550
+
551
+ #define ANCHOR_WORD_BOUND (1<<6)
552
+ #define ANCHOR_NOT_WORD_BOUND (1<<7)
553
+ #define ANCHOR_WORD_BEGIN (1<<8)
554
+ #define ANCHOR_WORD_END (1<<9)
555
+ #define ANCHOR_PREC_READ (1<<10)
556
+ #define ANCHOR_PREC_READ_NOT (1<<11)
557
+ #define ANCHOR_LOOK_BEHIND (1<<12)
558
+ #define ANCHOR_LOOK_BEHIND_NOT (1<<13)
559
+
560
+ #define ANCHOR_ANYCHAR_STAR (1<<14) /* ".*" optimize info */
561
+ #define ANCHOR_ANYCHAR_STAR_ML (1<<15) /* ".*" optimize info (multi-line) */
562
+
563
+ #define ANCHOR_KEEP (1<<16)
564
+
565
+ /* operation code */
566
+ enum OpCode {
567
+ OP_FINISH = 0, /* matching process terminator (no more alternative) */
568
+ OP_END = 1, /* pattern code terminator (success end) */
569
+
570
+ OP_EXACT1 = 2, /* single byte, N = 1 */
571
+ OP_EXACT2, /* single byte, N = 2 */
572
+ OP_EXACT3, /* single byte, N = 3 */
573
+ OP_EXACT4, /* single byte, N = 4 */
574
+ OP_EXACT5, /* single byte, N = 5 */
575
+ OP_EXACTN, /* single byte */
576
+ OP_EXACTMB2N1, /* mb-length = 2 N = 1 */
577
+ OP_EXACTMB2N2, /* mb-length = 2 N = 2 */
578
+ OP_EXACTMB2N3, /* mb-length = 2 N = 3 */
579
+ OP_EXACTMB2N, /* mb-length = 2 */
580
+ OP_EXACTMB3N, /* mb-length = 3 */
581
+ OP_EXACTMBN, /* other length */
582
+
583
+ OP_EXACT1_IC, /* single byte, N = 1, ignore case */
584
+ OP_EXACTN_IC, /* single byte, ignore case */
585
+
586
+ OP_CCLASS,
587
+ OP_CCLASS_MB,
588
+ OP_CCLASS_MIX,
589
+ OP_CCLASS_NOT,
590
+ OP_CCLASS_MB_NOT,
591
+ OP_CCLASS_MIX_NOT,
592
+
593
+ OP_ANYCHAR, /* "." */
594
+ OP_ANYCHAR_ML, /* "." multi-line */
595
+ OP_ANYCHAR_STAR, /* ".*" */
596
+ OP_ANYCHAR_ML_STAR, /* ".*" multi-line */
597
+ OP_ANYCHAR_STAR_PEEK_NEXT,
598
+ OP_ANYCHAR_ML_STAR_PEEK_NEXT,
599
+
600
+ OP_WORD,
601
+ OP_NOT_WORD,
602
+ OP_WORD_BOUND,
603
+ OP_NOT_WORD_BOUND,
604
+ OP_WORD_BEGIN,
605
+ OP_WORD_END,
606
+
607
+ OP_ASCII_WORD,
608
+ OP_NOT_ASCII_WORD,
609
+ OP_ASCII_WORD_BOUND,
610
+ OP_NOT_ASCII_WORD_BOUND,
611
+ OP_ASCII_WORD_BEGIN,
612
+ OP_ASCII_WORD_END,
613
+
614
+ OP_BEGIN_BUF,
615
+ OP_END_BUF,
616
+ OP_BEGIN_LINE,
617
+ OP_END_LINE,
618
+ OP_SEMI_END_BUF,
619
+ OP_BEGIN_POSITION,
620
+
621
+ OP_BACKREF1,
622
+ OP_BACKREF2,
623
+ OP_BACKREFN,
624
+ OP_BACKREFN_IC,
625
+ OP_BACKREF_MULTI,
626
+ OP_BACKREF_MULTI_IC,
627
+ OP_BACKREF_WITH_LEVEL, /* \k<xxx+n>, \k<xxx-n> */
628
+
629
+ OP_MEMORY_START,
630
+ OP_MEMORY_START_PUSH, /* push back-tracker to stack */
631
+ OP_MEMORY_END_PUSH, /* push back-tracker to stack */
632
+ OP_MEMORY_END_PUSH_REC, /* push back-tracker to stack */
633
+ OP_MEMORY_END,
634
+ OP_MEMORY_END_REC, /* push marker to stack */
635
+
636
+ OP_KEEP,
637
+
638
+ OP_FAIL, /* pop stack and move */
639
+ OP_JUMP,
640
+ OP_PUSH,
641
+ OP_POP,
642
+ OP_PUSH_OR_JUMP_EXACT1, /* if match exact then push, else jump. */
643
+ OP_PUSH_IF_PEEK_NEXT, /* if match exact then push, else none. */
644
+ OP_REPEAT, /* {n,m} */
645
+ OP_REPEAT_NG, /* {n,m}? (non greedy) */
646
+ OP_REPEAT_INC,
647
+ OP_REPEAT_INC_NG, /* non greedy */
648
+ OP_REPEAT_INC_SG, /* search and get in stack */
649
+ OP_REPEAT_INC_NG_SG, /* search and get in stack (non greedy) */
650
+ OP_NULL_CHECK_START, /* null loop checker start */
651
+ OP_NULL_CHECK_END, /* null loop checker end */
652
+ OP_NULL_CHECK_END_MEMST, /* null loop checker end (with capture status) */
653
+ OP_NULL_CHECK_END_MEMST_PUSH, /* with capture status and push check-end */
654
+
655
+ OP_PUSH_POS, /* (?=...) start */
656
+ OP_POP_POS, /* (?=...) end */
657
+ OP_PUSH_POS_NOT, /* (?!...) start */
658
+ OP_FAIL_POS, /* (?!...) end */
659
+ OP_PUSH_STOP_BT, /* (?>...) start */
660
+ OP_POP_STOP_BT, /* (?>...) end */
661
+ OP_LOOK_BEHIND, /* (?<=...) start (no needs end opcode) */
662
+ OP_PUSH_LOOK_BEHIND_NOT, /* (?<!...) start */
663
+ OP_FAIL_LOOK_BEHIND_NOT, /* (?<!...) end */
664
+ OP_PUSH_ABSENT_POS, /* (?~...) start */
665
+ OP_ABSENT, /* (?~...) start of inner loop */
666
+ OP_ABSENT_END, /* (?~...) end */
667
+
668
+ OP_CALL, /* \g<name> */
669
+ OP_RETURN,
670
+
671
+ OP_CONDITION,
672
+
673
+ OP_STATE_CHECK_PUSH, /* combination explosion check and push */
674
+ OP_STATE_CHECK_PUSH_OR_JUMP, /* check ok -> push, else jump */
675
+ OP_STATE_CHECK, /* check only */
676
+ OP_STATE_CHECK_ANYCHAR_STAR,
677
+ OP_STATE_CHECK_ANYCHAR_ML_STAR,
678
+
679
+ /* no need: IS_DYNAMIC_OPTION() == 0 */
680
+ OP_SET_OPTION_PUSH, /* set option and push recover option */
681
+ OP_SET_OPTION /* set option */
682
+ };
683
+
684
+ typedef int RelAddrType;
685
+ typedef int AbsAddrType;
686
+ typedef int LengthType;
687
+ typedef int RepeatNumType;
688
+ typedef short int MemNumType;
689
+ typedef short int StateCheckNumType;
690
+ typedef void* PointerType;
691
+
692
+ #define SIZE_OPCODE 1
693
+ #define SIZE_RELADDR (int )sizeof(RelAddrType)
694
+ #define SIZE_ABSADDR (int )sizeof(AbsAddrType)
695
+ #define SIZE_LENGTH (int )sizeof(LengthType)
696
+ #define SIZE_MEMNUM (int )sizeof(MemNumType)
697
+ #define SIZE_STATE_CHECK_NUM (int )sizeof(StateCheckNumType)
698
+ #define SIZE_REPEATNUM (int )sizeof(RepeatNumType)
699
+ #define SIZE_OPTION (int )sizeof(OnigOptionType)
700
+ #define SIZE_CODE_POINT (int )sizeof(OnigCodePoint)
701
+ #define SIZE_POINTER (int )sizeof(PointerType)
702
+
703
+
704
+ #define GET_RELADDR_INC(addr,p) PLATFORM_GET_INC(addr, p, RelAddrType)
705
+ #define GET_ABSADDR_INC(addr,p) PLATFORM_GET_INC(addr, p, AbsAddrType)
706
+ #define GET_LENGTH_INC(len,p) PLATFORM_GET_INC(len, p, LengthType)
707
+ #define GET_MEMNUM_INC(num,p) PLATFORM_GET_INC(num, p, MemNumType)
708
+ #define GET_REPEATNUM_INC(num,p) PLATFORM_GET_INC(num, p, RepeatNumType)
709
+ #define GET_OPTION_INC(option,p) PLATFORM_GET_INC(option, p, OnigOptionType)
710
+ #define GET_POINTER_INC(ptr,p) PLATFORM_GET_INC(ptr, p, PointerType)
711
+ #define GET_STATE_CHECK_NUM_INC(num,p) PLATFORM_GET_INC(num, p, StateCheckNumType)
712
+
713
+ /* code point's address must be aligned address. */
714
+ #define GET_CODE_POINT(code,p) code = *((OnigCodePoint* )(p))
715
+ #define GET_BYTE_INC(byte,p) do{\
716
+ byte = *(p);\
717
+ (p)++;\
718
+ } while(0)
719
+
720
+
721
+ /* op-code + arg size */
722
+ #define SIZE_OP_ANYCHAR_STAR SIZE_OPCODE
723
+ #define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT (SIZE_OPCODE + 1)
724
+ #define SIZE_OP_JUMP (SIZE_OPCODE + SIZE_RELADDR)
725
+ #define SIZE_OP_PUSH (SIZE_OPCODE + SIZE_RELADDR)
726
+ #define SIZE_OP_POP SIZE_OPCODE
727
+ #define SIZE_OP_PUSH_OR_JUMP_EXACT1 (SIZE_OPCODE + SIZE_RELADDR + 1)
728
+ #define SIZE_OP_PUSH_IF_PEEK_NEXT (SIZE_OPCODE + SIZE_RELADDR + 1)
729
+ #define SIZE_OP_REPEAT_INC (SIZE_OPCODE + SIZE_MEMNUM)
730
+ #define SIZE_OP_REPEAT_INC_NG (SIZE_OPCODE + SIZE_MEMNUM)
731
+ #define SIZE_OP_PUSH_POS SIZE_OPCODE
732
+ #define SIZE_OP_PUSH_POS_NOT (SIZE_OPCODE + SIZE_RELADDR)
733
+ #define SIZE_OP_POP_POS SIZE_OPCODE
734
+ #define SIZE_OP_FAIL_POS SIZE_OPCODE
735
+ #define SIZE_OP_SET_OPTION (SIZE_OPCODE + SIZE_OPTION)
736
+ #define SIZE_OP_SET_OPTION_PUSH (SIZE_OPCODE + SIZE_OPTION)
737
+ #define SIZE_OP_FAIL SIZE_OPCODE
738
+ #define SIZE_OP_MEMORY_START (SIZE_OPCODE + SIZE_MEMNUM)
739
+ #define SIZE_OP_MEMORY_START_PUSH (SIZE_OPCODE + SIZE_MEMNUM)
740
+ #define SIZE_OP_MEMORY_END_PUSH (SIZE_OPCODE + SIZE_MEMNUM)
741
+ #define SIZE_OP_MEMORY_END_PUSH_REC (SIZE_OPCODE + SIZE_MEMNUM)
742
+ #define SIZE_OP_MEMORY_END (SIZE_OPCODE + SIZE_MEMNUM)
743
+ #define SIZE_OP_MEMORY_END_REC (SIZE_OPCODE + SIZE_MEMNUM)
744
+ #define SIZE_OP_PUSH_STOP_BT SIZE_OPCODE
745
+ #define SIZE_OP_POP_STOP_BT SIZE_OPCODE
746
+ #define SIZE_OP_NULL_CHECK_START (SIZE_OPCODE + SIZE_MEMNUM)
747
+ #define SIZE_OP_NULL_CHECK_END (SIZE_OPCODE + SIZE_MEMNUM)
748
+ #define SIZE_OP_LOOK_BEHIND (SIZE_OPCODE + SIZE_LENGTH)
749
+ #define SIZE_OP_PUSH_LOOK_BEHIND_NOT (SIZE_OPCODE + SIZE_RELADDR + SIZE_LENGTH)
750
+ #define SIZE_OP_FAIL_LOOK_BEHIND_NOT SIZE_OPCODE
751
+ #define SIZE_OP_CALL (SIZE_OPCODE + SIZE_ABSADDR)
752
+ #define SIZE_OP_RETURN SIZE_OPCODE
753
+ #define SIZE_OP_CONDITION (SIZE_OPCODE + SIZE_MEMNUM + SIZE_RELADDR)
754
+ #define SIZE_OP_PUSH_ABSENT_POS SIZE_OPCODE
755
+ #define SIZE_OP_ABSENT (SIZE_OPCODE + SIZE_RELADDR)
756
+ #define SIZE_OP_ABSENT_END SIZE_OPCODE
757
+
758
+ #ifdef USE_COMBINATION_EXPLOSION_CHECK
759
+ # define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
760
+ # define SIZE_OP_STATE_CHECK_PUSH (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
761
+ # define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)
762
+ # define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)
763
+ #endif
764
+
765
+ #define MC_ESC(syn) (syn)->meta_char_table.esc
766
+ #define MC_ANYCHAR(syn) (syn)->meta_char_table.anychar
767
+ #define MC_ANYTIME(syn) (syn)->meta_char_table.anytime
768
+ #define MC_ZERO_OR_ONE_TIME(syn) (syn)->meta_char_table.zero_or_one_time
769
+ #define MC_ONE_OR_MORE_TIME(syn) (syn)->meta_char_table.one_or_more_time
770
+ #define MC_ANYCHAR_ANYTIME(syn) (syn)->meta_char_table.anychar_anytime
771
+
772
+ #define IS_MC_ESC_CODE(code, syn) \
773
+ ((code) == MC_ESC(syn) && \
774
+ !IS_SYNTAX_OP2((syn), ONIG_SYN_OP2_INEFFECTIVE_ESCAPE))
775
+
776
+
777
+ #define SYN_POSIX_COMMON_OP \
778
+ ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_POSIX_BRACKET | \
779
+ ONIG_SYN_OP_DECIMAL_BACKREF | \
780
+ ONIG_SYN_OP_BRACKET_CC | ONIG_SYN_OP_ASTERISK_ZERO_INF | \
781
+ ONIG_SYN_OP_LINE_ANCHOR | \
782
+ ONIG_SYN_OP_ESC_CONTROL_CHARS )
783
+
784
+ #define SYN_GNU_REGEX_OP \
785
+ ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC | \
786
+ ONIG_SYN_OP_POSIX_BRACKET | ONIG_SYN_OP_DECIMAL_BACKREF | \
787
+ ONIG_SYN_OP_BRACE_INTERVAL | ONIG_SYN_OP_LPAREN_SUBEXP | \
788
+ ONIG_SYN_OP_VBAR_ALT | \
789
+ ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF | \
790
+ ONIG_SYN_OP_QMARK_ZERO_ONE | \
791
+ ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR | ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR | \
792
+ ONIG_SYN_OP_ESC_W_WORD | \
793
+ ONIG_SYN_OP_ESC_B_WORD_BOUND | ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END | \
794
+ ONIG_SYN_OP_ESC_S_WHITE_SPACE | ONIG_SYN_OP_ESC_D_DIGIT | \
795
+ ONIG_SYN_OP_LINE_ANCHOR )
796
+
797
+ #define SYN_GNU_REGEX_BV \
798
+ ( ONIG_SYN_CONTEXT_INDEP_ANCHORS | ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS | \
799
+ ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS | ONIG_SYN_ALLOW_INVALID_INTERVAL | \
800
+ ONIG_SYN_BACKSLASH_ESCAPE_IN_CC | ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC )
801
+
802
+
803
+ #define NCCLASS_FLAGS(cc) ((cc)->flags)
804
+ #define NCCLASS_FLAG_SET(cc,flag) (NCCLASS_FLAGS(cc) |= (flag))
805
+ #define NCCLASS_FLAG_CLEAR(cc,flag) (NCCLASS_FLAGS(cc) &= ~(flag))
806
+ #define IS_NCCLASS_FLAG_ON(cc,flag) ((NCCLASS_FLAGS(cc) & (flag)) != 0)
807
+
808
+ /* cclass node */
809
+ #define FLAG_NCCLASS_NOT (1<<0)
810
+
811
+ #define NCCLASS_SET_NOT(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT)
812
+ #define NCCLASS_CLEAR_NOT(nd) NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT)
813
+ #define IS_NCCLASS_NOT(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT)
814
+
815
+ typedef struct {
816
+ int type;
817
+ /* struct _Node* next; */
818
+ /* unsigned int flags; */
819
+ } NodeBase;
820
+
821
+ typedef struct {
822
+ NodeBase base;
823
+ unsigned int flags;
824
+ BitSet bs;
825
+ BBuf* mbuf; /* multi-byte info or NULL */
826
+ } CClassNode;
827
+
828
+ typedef intptr_t OnigStackIndex;
829
+
830
+ typedef struct _OnigStackType {
831
+ unsigned int type;
832
+ OnigStackIndex null_check;
833
+ union {
834
+ struct {
835
+ UChar *pcode; /* byte code position */
836
+ UChar *pstr; /* string position */
837
+ UChar *pstr_prev; /* previous char position of pstr */
838
+ #ifdef USE_COMBINATION_EXPLOSION_CHECK
839
+ unsigned int state_check;
840
+ #endif
841
+ UChar *pkeep; /* keep pattern position */
842
+ } state;
843
+ struct {
844
+ int count; /* for OP_REPEAT_INC, OP_REPEAT_INC_NG */
845
+ UChar *pcode; /* byte code position (head of repeated target) */
846
+ int num; /* repeat id */
847
+ } repeat;
848
+ struct {
849
+ OnigStackIndex si; /* index of stack */
850
+ } repeat_inc;
851
+ struct {
852
+ int num; /* memory num */
853
+ UChar *pstr; /* start/end position */
854
+ /* Following information is set, if this stack type is MEM-START */
855
+ OnigStackIndex start; /* prev. info (for backtrack "(...)*" ) */
856
+ OnigStackIndex end; /* prev. info (for backtrack "(...)*" ) */
857
+ } mem;
858
+ struct {
859
+ int num; /* null check id */
860
+ UChar *pstr; /* start position */
861
+ } null_check;
862
+ #ifdef USE_SUBEXP_CALL
863
+ struct {
864
+ UChar *ret_addr; /* byte code position */
865
+ int num; /* null check id */
866
+ UChar *pstr; /* string position */
867
+ } call_frame;
868
+ #endif
869
+ struct {
870
+ UChar *abs_pstr; /* absent start position */
871
+ const UChar *end_pstr; /* end position */
872
+ } absent_pos;
873
+ } u;
874
+ } OnigStackType;
875
+
876
+ #ifdef USE_CACHE_MATCH_OPT
877
+ typedef struct {
878
+ UChar *addr;
879
+ long num;
880
+ int outer_repeat;
881
+ } OnigCacheIndex;
882
+ #endif
883
+
884
+ typedef struct {
885
+ void* stack_p;
886
+ size_t stack_n;
887
+ OnigOptionType options;
888
+ OnigRegion* region;
889
+ const UChar* start; /* search start position */
890
+ const UChar* gpos; /* global position (for \G: BEGIN_POSITION) */
891
+ #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
892
+ OnigPosition best_len; /* for ONIG_OPTION_FIND_LONGEST */
893
+ UChar* best_s;
894
+ #endif
895
+ #ifdef USE_COMBINATION_EXPLOSION_CHECK
896
+ void* state_check_buff;
897
+ int state_check_buff_size;
898
+ #endif
899
+ int counter;
900
+ /* rb_hrtime_t from hrtime.h */
901
+ #ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
902
+ int128_t end_time;
903
+ #else
904
+ uint64_t end_time;
905
+ #endif
906
+ #ifdef USE_CACHE_MATCH_OPT
907
+ long num_fail;
908
+ int enable_cache_match_opt;
909
+ long num_cache_opcode;
910
+ long num_cache_table;
911
+ OnigCacheIndex* cache_index_table;
912
+ uint8_t* match_cache;
913
+ #endif
914
+ } OnigMatchArg;
915
+
916
+
917
+ #define IS_CODE_SB_WORD(enc,code) \
918
+ (ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_WORD(enc,code))
919
+
920
+ typedef struct OnigEndCallListItem {
921
+ struct OnigEndCallListItem* next;
922
+ void (*func)(void);
923
+ } OnigEndCallListItemType;
924
+
925
+ extern void onig_add_end_call(void (*func)(void));
926
+
927
+
928
+ #ifdef ONIG_DEBUG
929
+
930
+ typedef struct {
931
+ short int opcode;
932
+ const char* name;
933
+ short int arg_type;
934
+ } OnigOpInfoType;
935
+
936
+ extern OnigOpInfoType OnigOpInfo[];
937
+
938
+
939
+ extern void onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, OnigEncoding enc);
940
+
941
+ # ifdef ONIG_DEBUG_STATISTICS
942
+ extern void onig_statistics_init(void);
943
+ extern void onig_print_statistics(FILE* f);
944
+ # endif
945
+ #endif
946
+
947
+ #ifndef PRINTF_ARGS
948
+ #define PRINTF_ARGS(func, fmt, vargs) func
949
+ #endif
950
+
951
+ extern UChar* onig_error_code_to_format(OnigPosition code);
952
+ PRINTF_ARGS(extern void onig_vsnprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const char *fmt, va_list args), 6, 0);
953
+ PRINTF_ARGS(extern void onig_snprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const char *fmt, ...), 6, 7);
954
+ extern int onig_bbuf_init(BBuf* buf, OnigDistance size);
955
+ extern int onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo);
956
+ #ifdef RUBY
957
+ extern int onig_compile_ruby(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo, const char *sourcefile, int sourceline);
958
+ #endif
959
+ extern void onig_transfer(regex_t* to, regex_t* from);
960
+ extern int onig_is_code_in_cc(OnigEncoding enc, OnigCodePoint code, CClassNode* cc);
961
+ extern int onig_is_code_in_cc_len(int enclen, OnigCodePoint code, CClassNode* cc);
962
+
963
+ /* strend hash */
964
+ typedef void hash_table_type;
965
+ #ifdef RUBY
966
+ # include "ruby/st.h"
967
+ #else
968
+ # include "st.h"
969
+ #endif
970
+ typedef st_data_t hash_data_type;
971
+
972
+ extern hash_table_type* onig_st_init_strend_table_with_size(st_index_t size);
973
+ extern int onig_st_lookup_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value);
974
+ extern int onig_st_insert_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value);
975
+
976
+ #ifdef RUBY
977
+ extern size_t onig_memsize(const regex_t *reg);
978
+ extern size_t onig_region_memsize(const struct re_registers *regs);
979
+ void rb_reg_check_timeout(regex_t *reg, void *end_time);
980
+ #endif
981
+
982
+ RUBY_SYMBOL_EXPORT_END
983
+
984
+ #endif /* ONIGMO_REGINT_H */