debase-ruby_core_source 0.10.18 → 3.2.0

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 (860) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/addr2line.h +0 -0
  4. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/builtin.h +1 -1
  5. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ccan/build_assert/build_assert.h +0 -0
  6. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/ccan/check_type/check_type.h +0 -0
  7. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/ccan/container_of/container_of.h +0 -0
  8. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/ccan/list/list.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ccan/str/str.h +0 -0
  10. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/constant.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/darray.h +0 -0
  12. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/debug_counter.h +1 -35
  13. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/dln.h +0 -0
  14. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/encindex.h +0 -0
  15. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/eval_intern.h +0 -0
  16. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/gc.h +0 -0
  17. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/hrtime.h +0 -0
  18. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/id.h +4 -0
  19. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/id_table.h +4 -1
  20. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/insns.inc +0 -0
  21. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/insns_info.inc +0 -0
  22. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/array.h +0 -0
  23. data/lib/debase/ruby_core_source/ruby-3.2.0-p0/internal/basic_operators.h +64 -0
  24. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/bignum.h +0 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/bits.h +0 -0
  26. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/class.h +1 -0
  27. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/cmdlineopt.h +0 -0
  28. data/lib/debase/ruby_core_source/ruby-3.2.0-p0/internal/compar.h +29 -0
  29. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/compile.h +0 -0
  30. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/compilers.h +0 -0
  31. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/complex.h +0 -0
  32. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/cont.h +3 -0
  33. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/dir.h +0 -0
  34. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/enc.h +0 -0
  35. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/encoding.h +3 -0
  36. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/enum.h +0 -0
  37. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/enumerator.h +0 -0
  38. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/error.h +0 -0
  39. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/eval.h +0 -0
  40. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/file.h +0 -0
  41. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/internal/fixnum.h +0 -0
  42. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/gc.h +3 -2
  43. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/hash.h +0 -0
  44. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/internal/imemo.h +0 -0
  45. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/inits.h +0 -0
  46. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/io.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/load.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/loadpath.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/math.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/missing.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/numeric.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/object.h +0 -0
  53. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/parse.h +1 -0
  54. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/proc.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/process.h +0 -0
  56. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/ractor.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/random.h +0 -0
  58. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/range.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/rational.h +0 -0
  60. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/re.h +0 -0
  61. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/sanitizers.h +0 -0
  62. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/serial.h +0 -0
  63. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/signal.h +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/static_assert.h +0 -0
  65. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/string.h +0 -0
  66. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/struct.h +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/internal/symbol.h +0 -0
  68. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/thread.h +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/time.h +0 -0
  70. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/transcode.h +0 -0
  71. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/util.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/variable.h +2 -0
  73. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal/vm.h +0 -0
  74. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/warnings.h +0 -0
  75. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/internal.h +0 -0
  76. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/iseq.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/known_errors.inc +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/method.h +0 -0
  79. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/mjit.h +25 -16
  80. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3/mjit_compiler.h → ruby-3.2.0-p0/mjit_c.h} +48 -9
  81. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2/mjit_compile_attr.inc → ruby-3.2.0-p0/mjit_sp_inc.inc} +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/node.h +3 -0
  83. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/node_name.inc +0 -0
  84. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/opt_sc.inc +0 -0
  85. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/optinsn.inc +0 -0
  86. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/optunifs.inc +0 -0
  87. data/lib/debase/ruby_core_source/ruby-3.2.0-p0/parse.h +230 -0
  88. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/probes_helper.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/ractor_core.h +4 -3
  90. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/regenc.h +1 -1
  91. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/regint.h +0 -0
  92. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/regparse.h +0 -0
  93. data/lib/debase/ruby_core_source/ruby-3.2.0-p0/revision.h +5 -0
  94. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ruby_assert.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ruby_atomic.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/shape.h +69 -31
  97. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/siphash.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/symbol.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/thread_none.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/thread_pthread.h +18 -17
  101. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/thread_win32.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/timev.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/transcode_data.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/transient_heap.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/variable.h +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/version.h +2 -2
  107. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/vm.inc +0 -0
  108. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/vm_call_iseq_optimized.inc +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/vm_callinfo.h +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/vm_core.h +31 -62
  111. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/vm_debug.h +0 -0
  112. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/vm_exec.h +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/vm_insnhelper.h +0 -0
  114. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/vm_opts.h +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/vm_sync.h +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/vmtc.inc +0 -0
  117. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview3 → ruby-3.2.0-p0}/yjit.h +1 -3
  118. data/lib/debase/ruby_core_source/version.rb +1 -1
  119. metadata +118 -855
  120. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/addr2line.h +0 -21
  121. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/constant.h +0 -36
  122. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/dln.h +0 -50
  123. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/encdb.h +0 -169
  124. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/eval_intern.h +0 -213
  125. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/gc.h +0 -104
  126. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/id.h +0 -133
  127. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/insns.inc +0 -187
  128. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/insns_info.inc +0 -724
  129. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/internal.h +0 -378
  130. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/iseq.h +0 -139
  131. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/known_errors.inc +0 -731
  132. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/method.h +0 -138
  133. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/node.h +0 -539
  134. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/node_name.inc +0 -212
  135. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/opt_sc.inc +0 -702
  136. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/optinsn.inc +0 -83
  137. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/optunifs.inc +0 -120
  138. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/parse.h +0 -292
  139. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/probes_helper.h +0 -67
  140. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/regenc.h +0 -227
  141. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/regint.h +0 -914
  142. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/regparse.h +0 -367
  143. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/revision.h +0 -1
  144. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/ruby_atomic.h +0 -121
  145. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/siphash.h +0 -48
  146. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/thread_pthread.h +0 -56
  147. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/thread_win32.h +0 -45
  148. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/timev.h +0 -21
  149. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/transcode_data.h +0 -127
  150. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/transdb.h +0 -193
  151. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/version.h +0 -52
  152. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm.inc +0 -3199
  153. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_core.h +0 -1009
  154. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_debug.h +0 -41
  155. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_exec.h +0 -173
  156. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_insnhelper.h +0 -274
  157. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_opts.h +0 -56
  158. data/lib/debase/ruby_core_source/ruby-2.0.0-p0/vmtc.inc +0 -101
  159. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/addr2line.h +0 -21
  160. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/constant.h +0 -36
  161. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/dln.h +0 -50
  162. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/encdb.h +0 -169
  163. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/eval_intern.h +0 -213
  164. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/gc.h +0 -104
  165. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/id.h +0 -133
  166. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/insns.inc +0 -187
  167. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/insns_info.inc +0 -724
  168. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/internal.h +0 -389
  169. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/iseq.h +0 -139
  170. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/known_errors.inc +0 -731
  171. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/method.h +0 -138
  172. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/node.h +0 -539
  173. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/node_name.inc +0 -212
  174. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/opt_sc.inc +0 -702
  175. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/optinsn.inc +0 -83
  176. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/optunifs.inc +0 -120
  177. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/parse.h +0 -292
  178. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/probes_helper.h +0 -67
  179. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/regenc.h +0 -227
  180. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/regint.h +0 -915
  181. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/regparse.h +0 -367
  182. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/revision.h +0 -1
  183. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/ruby_atomic.h +0 -121
  184. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/siphash.h +0 -48
  185. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/thread_pthread.h +0 -56
  186. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/thread_win32.h +0 -45
  187. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/timev.h +0 -21
  188. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/transcode_data.h +0 -127
  189. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/transdb.h +0 -193
  190. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/version.h +0 -52
  191. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm.inc +0 -3196
  192. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_core.h +0 -1009
  193. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_debug.h +0 -41
  194. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_exec.h +0 -173
  195. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_insnhelper.h +0 -274
  196. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_opts.h +0 -56
  197. data/lib/debase/ruby_core_source/ruby-2.0.0-p195/vmtc.inc +0 -101
  198. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/addr2line.h +0 -21
  199. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/constant.h +0 -36
  200. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/dln.h +0 -50
  201. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/encdb.h +0 -169
  202. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/eval_intern.h +0 -213
  203. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/gc.h +0 -104
  204. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/id.h +0 -135
  205. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/insns.inc +0 -187
  206. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/insns_info.inc +0 -724
  207. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/internal.h +0 -389
  208. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/iseq.h +0 -139
  209. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/known_errors.inc +0 -731
  210. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/method.h +0 -138
  211. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/node.h +0 -539
  212. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/node_name.inc +0 -212
  213. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/opt_sc.inc +0 -702
  214. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/optinsn.inc +0 -83
  215. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/optunifs.inc +0 -120
  216. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/parse.h +0 -292
  217. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/probes_helper.h +0 -67
  218. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/regenc.h +0 -227
  219. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/regint.h +0 -915
  220. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/regparse.h +0 -367
  221. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/revision.h +0 -1
  222. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/ruby_atomic.h +0 -121
  223. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/siphash.h +0 -48
  224. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/thread_pthread.h +0 -56
  225. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/thread_win32.h +0 -45
  226. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/timev.h +0 -21
  227. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/transcode_data.h +0 -127
  228. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/transdb.h +0 -193
  229. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/version.h +0 -52
  230. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm.inc +0 -3196
  231. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_core.h +0 -1013
  232. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_debug.h +0 -41
  233. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_exec.h +0 -173
  234. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_insnhelper.h +0 -274
  235. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_opts.h +0 -56
  236. data/lib/debase/ruby_core_source/ruby-2.0.0-p247/vmtc.inc +0 -101
  237. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/addr2line.h +0 -21
  238. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/constant.h +0 -36
  239. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/dln.h +0 -50
  240. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/encdb.h +0 -169
  241. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/eval_intern.h +0 -213
  242. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/gc.h +0 -104
  243. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/id.h +0 -135
  244. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/insns.inc +0 -187
  245. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/insns_info.inc +0 -724
  246. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/internal.h +0 -390
  247. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/iseq.h +0 -140
  248. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/known_errors.inc +0 -731
  249. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/method.h +0 -138
  250. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/node.h +0 -539
  251. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/node_name.inc +0 -212
  252. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/opt_sc.inc +0 -702
  253. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/optinsn.inc +0 -83
  254. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/optunifs.inc +0 -120
  255. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/parse.h +0 -181
  256. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/probes_helper.h +0 -67
  257. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/regenc.h +0 -227
  258. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/regint.h +0 -915
  259. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/regparse.h +0 -367
  260. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/revision.h +0 -1
  261. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/ruby_atomic.h +0 -121
  262. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/siphash.h +0 -48
  263. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/thread_pthread.h +0 -56
  264. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/thread_win32.h +0 -45
  265. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/timev.h +0 -21
  266. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/transcode_data.h +0 -127
  267. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/transdb.h +0 -193
  268. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/version.h +0 -52
  269. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm.inc +0 -3196
  270. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_core.h +0 -1013
  271. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_debug.h +0 -41
  272. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_exec.h +0 -173
  273. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_insnhelper.h +0 -274
  274. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_opts.h +0 -56
  275. data/lib/debase/ruby_core_source/ruby-2.0.0-p353/vmtc.inc +0 -101
  276. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/addr2line.h +0 -21
  277. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/constant.h +0 -36
  278. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/dln.h +0 -50
  279. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/encdb.h +0 -169
  280. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/eval_intern.h +0 -213
  281. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/gc.h +0 -104
  282. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/id.h +0 -135
  283. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/insns.inc +0 -187
  284. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/insns_info.inc +0 -724
  285. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/internal.h +0 -392
  286. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/iseq.h +0 -140
  287. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/known_errors.inc +0 -731
  288. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/method.h +0 -138
  289. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/node.h +0 -539
  290. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/node_name.inc +0 -212
  291. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/opt_sc.inc +0 -702
  292. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/optinsn.inc +0 -83
  293. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/optunifs.inc +0 -120
  294. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/parse.h +0 -181
  295. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/probes_helper.h +0 -67
  296. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/regenc.h +0 -227
  297. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/regint.h +0 -915
  298. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/regparse.h +0 -367
  299. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/revision.h +0 -1
  300. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/ruby_atomic.h +0 -170
  301. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/siphash.h +0 -48
  302. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/thread_pthread.h +0 -56
  303. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/thread_win32.h +0 -45
  304. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/timev.h +0 -21
  305. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/transcode_data.h +0 -127
  306. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/transdb.h +0 -193
  307. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/version.h +0 -52
  308. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm.inc +0 -3196
  309. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_core.h +0 -1013
  310. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_debug.h +0 -41
  311. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_exec.h +0 -173
  312. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_insnhelper.h +0 -274
  313. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_opts.h +0 -56
  314. data/lib/debase/ruby_core_source/ruby-2.0.0-p451/vmtc.inc +0 -101
  315. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/addr2line.h +0 -21
  316. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/constant.h +0 -36
  317. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/dln.h +0 -50
  318. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/encdb.h +0 -169
  319. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/eval_intern.h +0 -213
  320. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/gc.h +0 -104
  321. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/id.h +0 -135
  322. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/insns.inc +0 -187
  323. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/insns_info.inc +0 -724
  324. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/internal.h +0 -392
  325. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/iseq.h +0 -140
  326. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/known_errors.inc +0 -731
  327. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/method.h +0 -138
  328. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/node.h +0 -541
  329. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/node_name.inc +0 -212
  330. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/opt_sc.inc +0 -702
  331. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/optinsn.inc +0 -83
  332. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/optunifs.inc +0 -120
  333. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/parse.h +0 -181
  334. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/probes_helper.h +0 -67
  335. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/regenc.h +0 -227
  336. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/regint.h +0 -915
  337. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/regparse.h +0 -367
  338. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/revision.h +0 -1
  339. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/ruby_atomic.h +0 -170
  340. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/siphash.h +0 -48
  341. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/thread_pthread.h +0 -56
  342. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/thread_win32.h +0 -45
  343. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/timev.h +0 -21
  344. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/transcode_data.h +0 -127
  345. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/transdb.h +0 -193
  346. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/version.h +0 -52
  347. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm.inc +0 -3196
  348. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_core.h +0 -1013
  349. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_debug.h +0 -41
  350. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_exec.h +0 -173
  351. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_insnhelper.h +0 -274
  352. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_opts.h +0 -56
  353. data/lib/debase/ruby_core_source/ruby-2.0.0-p481/vmtc.inc +0 -101
  354. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/addr2line.h +0 -21
  355. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/constant.h +0 -36
  356. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/dln.h +0 -50
  357. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/encdb.h +0 -169
  358. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/eval_intern.h +0 -241
  359. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/gc.h +0 -104
  360. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/id.h +0 -135
  361. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/insns.inc +0 -187
  362. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/insns_info.inc +0 -724
  363. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/internal.h +0 -395
  364. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/iseq.h +0 -140
  365. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/known_errors.inc +0 -731
  366. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/method.h +0 -138
  367. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/node.h +0 -541
  368. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/node_name.inc +0 -212
  369. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/opt_sc.inc +0 -702
  370. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/optinsn.inc +0 -83
  371. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/optunifs.inc +0 -120
  372. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/parse.h +0 -181
  373. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/probes_helper.h +0 -67
  374. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/regenc.h +0 -227
  375. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/regint.h +0 -915
  376. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/regparse.h +0 -367
  377. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/revision.h +0 -1
  378. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/ruby_atomic.h +0 -170
  379. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/siphash.h +0 -48
  380. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/thread_pthread.h +0 -56
  381. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/thread_win32.h +0 -45
  382. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/timev.h +0 -21
  383. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/transcode_data.h +0 -127
  384. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/transdb.h +0 -193
  385. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/version.h +0 -52
  386. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm.inc +0 -3196
  387. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_core.h +0 -1015
  388. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_debug.h +0 -41
  389. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_exec.h +0 -173
  390. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_insnhelper.h +0 -274
  391. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_opts.h +0 -56
  392. data/lib/debase/ruby_core_source/ruby-2.0.0-p576/vmtc.inc +0 -101
  393. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/addr2line.h +0 -21
  394. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/constant.h +0 -36
  395. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/dln.h +0 -50
  396. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/encdb.h +0 -169
  397. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/eval_intern.h +0 -241
  398. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/gc.h +0 -104
  399. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/id.h +0 -135
  400. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/insns.inc +0 -187
  401. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/insns_info.inc +0 -724
  402. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/internal.h +0 -395
  403. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/iseq.h +0 -140
  404. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/known_errors.inc +0 -731
  405. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/method.h +0 -138
  406. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/node.h +0 -541
  407. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/node_name.inc +0 -212
  408. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/opt_sc.inc +0 -702
  409. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/optinsn.inc +0 -83
  410. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/optunifs.inc +0 -120
  411. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/parse.h +0 -181
  412. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/probes_helper.h +0 -67
  413. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regenc.h +0 -227
  414. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regint.h +0 -915
  415. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regparse.h +0 -367
  416. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/revision.h +0 -1
  417. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/ruby_atomic.h +0 -170
  418. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/siphash.h +0 -48
  419. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/thread_pthread.h +0 -56
  420. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/thread_win32.h +0 -45
  421. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/timev.h +0 -21
  422. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/transcode_data.h +0 -127
  423. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/transdb.h +0 -193
  424. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/version.h +0 -52
  425. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm.inc +0 -3196
  426. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_core.h +0 -1018
  427. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_debug.h +0 -41
  428. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_exec.h +0 -173
  429. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_insnhelper.h +0 -274
  430. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_opts.h +0 -56
  431. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vmtc.inc +0 -101
  432. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/addr2line.h +0 -21
  433. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/constant.h +0 -36
  434. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/dln.h +0 -50
  435. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/encdb.h +0 -169
  436. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/eval_intern.h +0 -241
  437. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/gc.h +0 -104
  438. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/id.h +0 -135
  439. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/insns.inc +0 -187
  440. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/insns_info.inc +0 -724
  441. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/internal.h +0 -395
  442. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/iseq.h +0 -140
  443. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/known_errors.inc +0 -731
  444. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/method.h +0 -138
  445. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/node.h +0 -541
  446. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/node_name.inc +0 -212
  447. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/opt_sc.inc +0 -702
  448. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/optinsn.inc +0 -83
  449. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/optunifs.inc +0 -120
  450. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/parse.h +0 -181
  451. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/probes_helper.h +0 -67
  452. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/regenc.h +0 -227
  453. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/regint.h +0 -915
  454. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/regparse.h +0 -367
  455. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/revision.h +0 -1
  456. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/ruby_atomic.h +0 -170
  457. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/siphash.h +0 -48
  458. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/thread_pthread.h +0 -56
  459. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/thread_win32.h +0 -45
  460. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/timev.h +0 -21
  461. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/transcode_data.h +0 -127
  462. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/transdb.h +0 -193
  463. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/version.h +0 -52
  464. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm.inc +0 -3196
  465. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm_core.h +0 -1018
  466. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm_debug.h +0 -41
  467. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm_exec.h +0 -173
  468. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm_insnhelper.h +0 -274
  469. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vm_opts.h +0 -56
  470. data/lib/debase/ruby_core_source/ruby-2.0.0-p598/vmtc.inc +0 -101
  471. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/addr2line.h +0 -21
  472. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/constant.h +0 -36
  473. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/dln.h +0 -50
  474. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/encdb.h +0 -169
  475. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/eval_intern.h +0 -241
  476. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/gc.h +0 -104
  477. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/id.h +0 -135
  478. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/insns.inc +0 -187
  479. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/insns_info.inc +0 -724
  480. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/internal.h +0 -395
  481. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/iseq.h +0 -140
  482. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/known_errors.inc +0 -731
  483. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/method.h +0 -141
  484. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/node.h +0 -541
  485. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/node_name.inc +0 -212
  486. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/opt_sc.inc +0 -702
  487. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/optinsn.inc +0 -83
  488. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/optunifs.inc +0 -120
  489. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/parse.h +0 -181
  490. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/probes_helper.h +0 -67
  491. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/regenc.h +0 -227
  492. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/regint.h +0 -915
  493. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/regparse.h +0 -367
  494. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/revision.h +0 -1
  495. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/ruby_atomic.h +0 -170
  496. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/siphash.h +0 -48
  497. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/thread_pthread.h +0 -56
  498. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/thread_win32.h +0 -45
  499. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/timev.h +0 -21
  500. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/transcode_data.h +0 -127
  501. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/transdb.h +0 -193
  502. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/version.h +0 -52
  503. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm.inc +0 -3196
  504. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm_core.h +0 -1020
  505. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm_debug.h +0 -41
  506. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm_exec.h +0 -173
  507. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm_insnhelper.h +0 -274
  508. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vm_opts.h +0 -56
  509. data/lib/debase/ruby_core_source/ruby-2.0.0-p643/vmtc.inc +0 -101
  510. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/addr2line.h +0 -21
  511. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/constant.h +0 -36
  512. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/dln.h +0 -50
  513. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/encdb.h +0 -169
  514. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/eval_intern.h +0 -241
  515. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/gc.h +0 -104
  516. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/id.h +0 -135
  517. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/insns.inc +0 -187
  518. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/insns_info.inc +0 -724
  519. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/internal.h +0 -395
  520. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/iseq.h +0 -140
  521. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/known_errors.inc +0 -731
  522. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/method.h +0 -141
  523. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/node.h +0 -541
  524. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/node_name.inc +0 -212
  525. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/opt_sc.inc +0 -702
  526. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/optinsn.inc +0 -83
  527. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/optunifs.inc +0 -120
  528. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/parse.h +0 -181
  529. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/probes_helper.h +0 -67
  530. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/regenc.h +0 -227
  531. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/regint.h +0 -915
  532. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/regparse.h +0 -367
  533. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/revision.h +0 -1
  534. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/ruby_atomic.h +0 -170
  535. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/siphash.h +0 -48
  536. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/thread_pthread.h +0 -56
  537. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/thread_win32.h +0 -45
  538. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/timev.h +0 -21
  539. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/transcode_data.h +0 -127
  540. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/transdb.h +0 -193
  541. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/version.h +0 -52
  542. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm.inc +0 -3196
  543. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm_core.h +0 -1020
  544. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm_debug.h +0 -41
  545. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm_exec.h +0 -173
  546. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm_insnhelper.h +0 -274
  547. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vm_opts.h +0 -56
  548. data/lib/debase/ruby_core_source/ruby-2.0.0-p645/vmtc.inc +0 -101
  549. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/addr2line.h +0 -21
  550. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/constant.h +0 -36
  551. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/dln.h +0 -50
  552. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/encdb.h +0 -169
  553. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/eval_intern.h +0 -241
  554. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/gc.h +0 -104
  555. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/id.h +0 -135
  556. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/insns.inc +0 -187
  557. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/insns_info.inc +0 -724
  558. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/internal.h +0 -395
  559. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/iseq.h +0 -140
  560. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/known_errors.inc +0 -731
  561. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/method.h +0 -141
  562. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/node.h +0 -541
  563. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/node_name.inc +0 -212
  564. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/opt_sc.inc +0 -702
  565. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/optinsn.inc +0 -83
  566. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/optunifs.inc +0 -120
  567. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/parse.h +0 -181
  568. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/probes_helper.h +0 -67
  569. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/regenc.h +0 -227
  570. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/regint.h +0 -915
  571. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/regparse.h +0 -367
  572. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/revision.h +0 -1
  573. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/ruby_atomic.h +0 -170
  574. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/siphash.h +0 -48
  575. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/thread_pthread.h +0 -56
  576. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/thread_win32.h +0 -45
  577. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/timev.h +0 -21
  578. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/transcode_data.h +0 -127
  579. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/transdb.h +0 -193
  580. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/version.h +0 -52
  581. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm.inc +0 -3196
  582. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm_core.h +0 -1020
  583. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm_debug.h +0 -41
  584. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm_exec.h +0 -173
  585. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm_insnhelper.h +0 -274
  586. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vm_opts.h +0 -56
  587. data/lib/debase/ruby_core_source/ruby-2.0.0-p647/vmtc.inc +0 -101
  588. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/addr2line.h +0 -21
  589. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/constant.h +0 -36
  590. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/dln.h +0 -50
  591. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/encdb.h +0 -169
  592. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/eval_intern.h +0 -241
  593. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/gc.h +0 -104
  594. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/id.h +0 -135
  595. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/insns.inc +0 -187
  596. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/insns_info.inc +0 -724
  597. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/internal.h +0 -395
  598. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/iseq.h +0 -140
  599. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/known_errors.inc +0 -731
  600. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/method.h +0 -141
  601. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/node.h +0 -541
  602. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/node_name.inc +0 -212
  603. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/opt_sc.inc +0 -702
  604. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/optinsn.inc +0 -83
  605. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/optunifs.inc +0 -120
  606. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/parse.h +0 -181
  607. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/probes_helper.h +0 -67
  608. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/regenc.h +0 -227
  609. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/regint.h +0 -915
  610. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/regparse.h +0 -367
  611. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/revision.h +0 -1
  612. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/ruby_atomic.h +0 -170
  613. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/siphash.h +0 -48
  614. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/thread_pthread.h +0 -56
  615. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/thread_win32.h +0 -45
  616. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/timev.h +0 -21
  617. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/transcode_data.h +0 -127
  618. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/transdb.h +0 -193
  619. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/version.h +0 -52
  620. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm.inc +0 -3196
  621. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm_core.h +0 -1020
  622. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm_debug.h +0 -41
  623. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm_exec.h +0 -173
  624. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm_insnhelper.h +0 -274
  625. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vm_opts.h +0 -56
  626. data/lib/debase/ruby_core_source/ruby-2.0.0-p648/vmtc.inc +0 -101
  627. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/builtin.h +0 -84
  628. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/check_type/check_type.h +0 -63
  629. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/container_of/container_of.h +0 -142
  630. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ccan/list/list.h +0 -789
  631. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/darray.h +0 -226
  632. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/debug_counter.h +0 -469
  633. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/encindex.h +0 -70
  634. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/eval_intern.h +0 -339
  635. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/gc.h +0 -143
  636. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/hrtime.h +0 -216
  637. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns.inc +0 -249
  638. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns_info.inc +0 -9064
  639. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/array.h +0 -113
  640. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/class.h +0 -211
  641. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cmdlineopt.h +0 -61
  642. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compar.h +0 -49
  643. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cont.h +0 -24
  644. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/encoding.h +0 -30
  645. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/fixnum.h +0 -184
  646. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/gc.h +0 -188
  647. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/imemo.h +0 -243
  648. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/numeric.h +0 -271
  649. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/object.h +0 -83
  650. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/parse.h +0 -23
  651. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/string.h +0 -141
  652. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/symbol.h +0 -41
  653. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/thread.h +0 -53
  654. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/variable.h +0 -83
  655. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/vm.h +0 -134
  656. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal.h +0 -109
  657. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/iseq.h +0 -325
  658. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/method.h +0 -254
  659. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit.h +0 -231
  660. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit_compile.inc +0 -8333
  661. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node.h +0 -510
  662. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node_name.inc +0 -208
  663. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optinsn.inc +0 -128
  664. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/parse.h +0 -214
  665. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/probes_helper.h +0 -44
  666. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ractor_core.h +0 -346
  667. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regenc.h +0 -255
  668. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/regint.h +0 -957
  669. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/revision.h +0 -2
  670. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/symbol.h +0 -119
  671. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_none.h +0 -17
  672. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_pthread.h +0 -115
  673. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_win32.h +0 -61
  674. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transcode_data.h +0 -138
  675. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/variable.h +0 -21
  676. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/version.h +0 -91
  677. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm.inc +0 -5481
  678. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_callinfo.h +0 -502
  679. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_core.h +0 -2089
  680. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_debug.h +0 -113
  681. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_insnhelper.h +0 -262
  682. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vmtc.inc +0 -243
  683. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit.h +0 -73
  684. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_asm.h +0 -408
  685. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_codegen.h +0 -23
  686. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_core.h +0 -307
  687. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_iface.h +0 -38
  688. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/addr2line.h +0 -20
  689. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/builtin.h +0 -121
  690. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/build_assert/build_assert.h +0 -40
  691. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/check_type/check_type.h +0 -63
  692. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/container_of/container_of.h +0 -142
  693. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/list/list.h +0 -789
  694. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/str/str.h +0 -17
  695. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/constant.h +0 -55
  696. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/debug_counter.h +0 -469
  697. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/dln.h +0 -31
  698. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/gc.h +0 -143
  699. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/hrtime.h +0 -226
  700. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id.h +0 -295
  701. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id_table.h +0 -36
  702. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/array.h +0 -162
  703. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bignum.h +0 -246
  704. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bits.h +0 -565
  705. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/class.h +0 -212
  706. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cmdlineopt.h +0 -58
  707. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compar.h +0 -49
  708. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compile.h +0 -35
  709. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compilers.h +0 -107
  710. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/complex.h +0 -29
  711. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/cont.h +0 -26
  712. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/dir.h +0 -16
  713. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enc.h +0 -19
  714. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/encoding.h +0 -30
  715. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enum.h +0 -18
  716. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enumerator.h +0 -21
  717. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/error.h +0 -191
  718. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/eval.h +0 -32
  719. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/file.h +0 -38
  720. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/gc.h +0 -188
  721. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/hash.h +0 -243
  722. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/inits.h +0 -50
  723. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/io.h +0 -38
  724. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/load.h +0 -18
  725. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/loadpath.h +0 -16
  726. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/math.h +0 -23
  727. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/missing.h +0 -18
  728. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/numeric.h +0 -271
  729. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/object.h +0 -83
  730. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/parse.h +0 -23
  731. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/proc.h +0 -32
  732. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/process.h +0 -137
  733. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/ractor.h +0 -6
  734. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/random.h +0 -16
  735. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/range.h +0 -40
  736. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/rational.h +0 -72
  737. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/re.h +0 -30
  738. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/sanitizers.h +0 -190
  739. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/serial.h +0 -23
  740. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/signal.h +0 -21
  741. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/static_assert.h +0 -16
  742. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/string.h +0 -146
  743. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/struct.h +0 -153
  744. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/thread.h +0 -54
  745. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/time.h +0 -34
  746. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/transcode.h +0 -20
  747. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/util.h +0 -27
  748. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/variable.h +0 -83
  749. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/vm.h +0 -134
  750. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/warnings.h +0 -16
  751. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal.h +0 -113
  752. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/iseq.h +0 -328
  753. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/known_errors.inc +0 -791
  754. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/method.h +0 -253
  755. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_compiler.h +0 -58
  756. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_unit.h +0 -29
  757. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node.h +0 -510
  758. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node_name.inc +0 -208
  759. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/opt_sc.inc +0 -109
  760. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optunifs.inc +0 -43
  761. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/parse.h +0 -214
  762. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regenc.h +0 -255
  763. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regint.h +0 -957
  764. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regparse.h +0 -370
  765. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/revision.h +0 -2
  766. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_assert.h +0 -14
  767. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_atomic.h +0 -23
  768. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/siphash.h +0 -48
  769. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/thread_pthread.h +0 -132
  770. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/timev.h +0 -57
  771. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transient_heap.h +0 -65
  772. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/variable.h +0 -21
  773. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/version.h +0 -68
  774. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm.inc +0 -5476
  775. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_call_iseq_optimized.inc +0 -244
  776. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_callinfo.h +0 -522
  777. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_core.h +0 -2130
  778. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_exec.h +0 -197
  779. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_insnhelper.h +0 -269
  780. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_opts.h +0 -73
  781. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_sync.h +0 -137
  782. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/yjit.h +0 -72
  783. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/addr2line.h +0 -20
  784. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/build_assert/build_assert.h +0 -40
  785. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ccan/str/str.h +0 -17
  786. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/constant.h +0 -55
  787. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/darray.h +0 -179
  788. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/dln.h +0 -31
  789. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/encindex.h +0 -70
  790. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/eval_intern.h +0 -339
  791. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/id.h +0 -295
  792. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/id_table.h +0 -36
  793. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/insns.inc +0 -249
  794. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/insns_info.inc +0 -9061
  795. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/bignum.h +0 -246
  796. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/bits.h +0 -565
  797. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compar.h +0 -49
  798. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compile.h +0 -35
  799. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/compilers.h +0 -107
  800. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/complex.h +0 -29
  801. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/dir.h +0 -16
  802. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enc.h +0 -19
  803. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enum.h +0 -18
  804. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/enumerator.h +0 -21
  805. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/error.h +0 -191
  806. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/eval.h +0 -32
  807. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/file.h +0 -38
  808. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/fixnum.h +0 -184
  809. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/hash.h +0 -243
  810. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/imemo.h +0 -242
  811. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/inits.h +0 -50
  812. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/io.h +0 -38
  813. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/load.h +0 -18
  814. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/loadpath.h +0 -16
  815. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/math.h +0 -23
  816. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/missing.h +0 -18
  817. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/proc.h +0 -32
  818. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/process.h +0 -137
  819. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/ractor.h +0 -6
  820. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/random.h +0 -16
  821. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/range.h +0 -40
  822. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/rational.h +0 -72
  823. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/re.h +0 -30
  824. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/sanitizers.h +0 -190
  825. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/serial.h +0 -23
  826. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/signal.h +0 -21
  827. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/static_assert.h +0 -16
  828. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/struct.h +0 -153
  829. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/symbol.h +0 -42
  830. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/time.h +0 -34
  831. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/transcode.h +0 -20
  832. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/util.h +0 -27
  833. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/internal/warnings.h +0 -16
  834. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/known_errors.inc +0 -791
  835. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit.h +0 -132
  836. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit_compile_attr.inc +0 -430
  837. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/mjit_unit.h +0 -29
  838. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/opt_sc.inc +0 -109
  839. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/optinsn.inc +0 -128
  840. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/optunifs.inc +0 -43
  841. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/parse.h +0 -215
  842. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/probes_helper.h +0 -44
  843. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ractor_core.h +0 -343
  844. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/regparse.h +0 -370
  845. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/revision.h +0 -5
  846. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ruby_assert.h +0 -14
  847. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/ruby_atomic.h +0 -23
  848. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/siphash.h +0 -48
  849. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/symbol.h +0 -119
  850. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/thread_none.h +0 -20
  851. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/thread_win32.h +0 -63
  852. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/timev.h +0 -57
  853. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/transcode_data.h +0 -138
  854. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/transient_heap.h +0 -65
  855. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_call_iseq_optimized.inc +0 -244
  856. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_debug.h +0 -122
  857. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_exec.h +0 -197
  858. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_opts.h +0 -73
  859. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vm_sync.h +0 -137
  860. data/lib/debase/ruby_core_source/ruby-3.2.0-preview3/vmtc.inc +0 -243
@@ -1,3196 +0,0 @@
1
- /* -*-c-*- *********************************************************/
2
- /*******************************************************************/
3
- /*******************************************************************/
4
- /**
5
- This file is VM main loop.
6
-
7
- ----
8
- This file is auto generated by insns2vm.rb
9
- DO NOT TOUCH!
10
-
11
- If you want to fix something, you must edit 'insns.c'
12
- */
13
-
14
-
15
- INSN_ENTRY(nop){
16
- {
17
-
18
-
19
- DEBUG_ENTER_INSN("nop");
20
- ADD_PC(1+0);
21
- PREFETCH(GET_PC());
22
- #define CURRENT_INSN_nop 1
23
- #define INSN_IS_SC() 0
24
- #define INSN_LABEL(lab) LABEL_nop_##lab
25
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
26
- COLLECT_USAGE_INSN(BIN(nop));
27
- {
28
- #line 40 "insns.def"
29
- /* none */
30
-
31
- #line 32 "vm.inc"
32
- #undef CURRENT_INSN_nop
33
- #undef INSN_IS_SC
34
- #undef INSN_LABEL
35
- #undef LABEL_IS_SC
36
- END_INSN(nop);}}}
37
- INSN_ENTRY(getlocal){
38
- {
39
- VALUE val;
40
- rb_num_t level = (rb_num_t)GET_OPERAND(2);
41
- lindex_t idx = (lindex_t)GET_OPERAND(1);
42
-
43
- DEBUG_ENTER_INSN("getlocal");
44
- ADD_PC(1+2);
45
- PREFETCH(GET_PC());
46
- #define CURRENT_INSN_getlocal 1
47
- #define INSN_IS_SC() 0
48
- #define INSN_LABEL(lab) LABEL_getlocal_##lab
49
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
50
- COLLECT_USAGE_INSN(BIN(getlocal));
51
- COLLECT_USAGE_OPERAND(BIN(getlocal), 0, idx);
52
- COLLECT_USAGE_OPERAND(BIN(getlocal), 1, level);
53
- {
54
- #line 60 "insns.def"
55
- int i, lev = (int)level;
56
- VALUE *ep = GET_EP();
57
-
58
- for (i = 0; i < lev; i++) {
59
- ep = GET_PREV_EP(ep);
60
- }
61
- val = *(ep - idx);
62
-
63
- #line 64 "vm.inc"
64
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
65
- PUSH(val);
66
- #undef CURRENT_INSN_getlocal
67
- #undef INSN_IS_SC
68
- #undef INSN_LABEL
69
- #undef LABEL_IS_SC
70
- END_INSN(getlocal);}}}
71
- INSN_ENTRY(setlocal){
72
- {
73
- rb_num_t level = (rb_num_t)GET_OPERAND(2);
74
- lindex_t idx = (lindex_t)GET_OPERAND(1);
75
- VALUE val = TOPN(0);
76
- DEBUG_ENTER_INSN("setlocal");
77
- ADD_PC(1+2);
78
- PREFETCH(GET_PC());
79
- POPN(1);
80
- #define CURRENT_INSN_setlocal 1
81
- #define INSN_IS_SC() 0
82
- #define INSN_LABEL(lab) LABEL_setlocal_##lab
83
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
84
- COLLECT_USAGE_INSN(BIN(setlocal));
85
- COLLECT_USAGE_OPERAND(BIN(setlocal), 0, idx);
86
- COLLECT_USAGE_OPERAND(BIN(setlocal), 1, level);
87
- {
88
- #line 82 "insns.def"
89
- int i, lev = (int)level;
90
- VALUE *ep = GET_EP();
91
-
92
- for (i = 0; i < lev; i++) {
93
- ep = GET_PREV_EP(ep);
94
- }
95
- *(ep - idx) = val;
96
-
97
- #line 98 "vm.inc"
98
- #undef CURRENT_INSN_setlocal
99
- #undef INSN_IS_SC
100
- #undef INSN_LABEL
101
- #undef LABEL_IS_SC
102
- END_INSN(setlocal);}}}
103
- INSN_ENTRY(getspecial){
104
- {
105
- VALUE val;
106
- rb_num_t type = (rb_num_t)GET_OPERAND(2);
107
- rb_num_t key = (rb_num_t)GET_OPERAND(1);
108
-
109
- DEBUG_ENTER_INSN("getspecial");
110
- ADD_PC(1+2);
111
- PREFETCH(GET_PC());
112
- #define CURRENT_INSN_getspecial 1
113
- #define INSN_IS_SC() 0
114
- #define INSN_LABEL(lab) LABEL_getspecial_##lab
115
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
116
- COLLECT_USAGE_INSN(BIN(getspecial));
117
- COLLECT_USAGE_OPERAND(BIN(getspecial), 0, key);
118
- COLLECT_USAGE_OPERAND(BIN(getspecial), 1, type);
119
- {
120
- #line 102 "insns.def"
121
- val = vm_getspecial(th, GET_LEP(), key, type);
122
-
123
- #line 124 "vm.inc"
124
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
125
- PUSH(val);
126
- #undef CURRENT_INSN_getspecial
127
- #undef INSN_IS_SC
128
- #undef INSN_LABEL
129
- #undef LABEL_IS_SC
130
- END_INSN(getspecial);}}}
131
- INSN_ENTRY(setspecial){
132
- {
133
- rb_num_t key = (rb_num_t)GET_OPERAND(1);
134
- VALUE obj = TOPN(0);
135
- DEBUG_ENTER_INSN("setspecial");
136
- ADD_PC(1+1);
137
- PREFETCH(GET_PC());
138
- POPN(1);
139
- #define CURRENT_INSN_setspecial 1
140
- #define INSN_IS_SC() 0
141
- #define INSN_LABEL(lab) LABEL_setspecial_##lab
142
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
143
- COLLECT_USAGE_INSN(BIN(setspecial));
144
- COLLECT_USAGE_OPERAND(BIN(setspecial), 0, key);
145
- {
146
- #line 116 "insns.def"
147
- lep_svar_set(th, GET_LEP(), key, obj);
148
-
149
- #line 150 "vm.inc"
150
- #undef CURRENT_INSN_setspecial
151
- #undef INSN_IS_SC
152
- #undef INSN_LABEL
153
- #undef LABEL_IS_SC
154
- END_INSN(setspecial);}}}
155
- INSN_ENTRY(getinstancevariable){
156
- {
157
- VALUE val;
158
- IC ic = (IC)GET_OPERAND(2);
159
- ID id = (ID)GET_OPERAND(1);
160
-
161
- DEBUG_ENTER_INSN("getinstancevariable");
162
- ADD_PC(1+2);
163
- PREFETCH(GET_PC());
164
- #define CURRENT_INSN_getinstancevariable 1
165
- #define INSN_IS_SC() 0
166
- #define INSN_LABEL(lab) LABEL_getinstancevariable_##lab
167
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
168
- COLLECT_USAGE_INSN(BIN(getinstancevariable));
169
- COLLECT_USAGE_OPERAND(BIN(getinstancevariable), 0, id);
170
- COLLECT_USAGE_OPERAND(BIN(getinstancevariable), 1, ic);
171
- {
172
- #line 131 "insns.def"
173
- val = vm_getinstancevariable(GET_SELF(), id, ic);
174
-
175
- #line 176 "vm.inc"
176
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
177
- PUSH(val);
178
- #undef CURRENT_INSN_getinstancevariable
179
- #undef INSN_IS_SC
180
- #undef INSN_LABEL
181
- #undef LABEL_IS_SC
182
- END_INSN(getinstancevariable);}}}
183
- INSN_ENTRY(setinstancevariable){
184
- {
185
- IC ic = (IC)GET_OPERAND(2);
186
- ID id = (ID)GET_OPERAND(1);
187
- VALUE val = TOPN(0);
188
- DEBUG_ENTER_INSN("setinstancevariable");
189
- ADD_PC(1+2);
190
- PREFETCH(GET_PC());
191
- POPN(1);
192
- #define CURRENT_INSN_setinstancevariable 1
193
- #define INSN_IS_SC() 0
194
- #define INSN_LABEL(lab) LABEL_setinstancevariable_##lab
195
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
196
- COLLECT_USAGE_INSN(BIN(setinstancevariable));
197
- COLLECT_USAGE_OPERAND(BIN(setinstancevariable), 0, id);
198
- COLLECT_USAGE_OPERAND(BIN(setinstancevariable), 1, ic);
199
- {
200
- #line 146 "insns.def"
201
- vm_setinstancevariable(GET_SELF(), id, val, ic);
202
-
203
- #line 204 "vm.inc"
204
- #undef CURRENT_INSN_setinstancevariable
205
- #undef INSN_IS_SC
206
- #undef INSN_LABEL
207
- #undef LABEL_IS_SC
208
- END_INSN(setinstancevariable);}}}
209
- INSN_ENTRY(getclassvariable){
210
- {
211
- VALUE val;
212
- ID id = (ID)GET_OPERAND(1);
213
-
214
- DEBUG_ENTER_INSN("getclassvariable");
215
- ADD_PC(1+1);
216
- PREFETCH(GET_PC());
217
- #define CURRENT_INSN_getclassvariable 1
218
- #define INSN_IS_SC() 0
219
- #define INSN_LABEL(lab) LABEL_getclassvariable_##lab
220
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
221
- COLLECT_USAGE_INSN(BIN(getclassvariable));
222
- COLLECT_USAGE_OPERAND(BIN(getclassvariable), 0, id);
223
- {
224
- #line 160 "insns.def"
225
- NODE *cref = rb_vm_get_cref(GET_ISEQ(), GET_EP());
226
- val = rb_cvar_get(vm_get_cvar_base(cref, GET_CFP()), id);
227
-
228
- #line 229 "vm.inc"
229
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
230
- PUSH(val);
231
- #undef CURRENT_INSN_getclassvariable
232
- #undef INSN_IS_SC
233
- #undef INSN_LABEL
234
- #undef LABEL_IS_SC
235
- END_INSN(getclassvariable);}}}
236
- INSN_ENTRY(setclassvariable){
237
- {
238
- ID id = (ID)GET_OPERAND(1);
239
- VALUE val = TOPN(0);
240
- DEBUG_ENTER_INSN("setclassvariable");
241
- ADD_PC(1+1);
242
- PREFETCH(GET_PC());
243
- POPN(1);
244
- #define CURRENT_INSN_setclassvariable 1
245
- #define INSN_IS_SC() 0
246
- #define INSN_LABEL(lab) LABEL_setclassvariable_##lab
247
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
248
- COLLECT_USAGE_INSN(BIN(setclassvariable));
249
- COLLECT_USAGE_OPERAND(BIN(setclassvariable), 0, id);
250
- {
251
- #line 175 "insns.def"
252
- NODE *cref = rb_vm_get_cref(GET_ISEQ(), GET_EP());
253
- rb_cvar_set(vm_get_cvar_base(cref, GET_CFP()), id, val);
254
-
255
- #line 256 "vm.inc"
256
- #undef CURRENT_INSN_setclassvariable
257
- #undef INSN_IS_SC
258
- #undef INSN_LABEL
259
- #undef LABEL_IS_SC
260
- END_INSN(setclassvariable);}}}
261
- INSN_ENTRY(getconstant){
262
- {
263
- VALUE val;
264
- ID id = (ID)GET_OPERAND(1);
265
- VALUE klass = TOPN(0);
266
- DEBUG_ENTER_INSN("getconstant");
267
- ADD_PC(1+1);
268
- PREFETCH(GET_PC());
269
- POPN(1);
270
- #define CURRENT_INSN_getconstant 1
271
- #define INSN_IS_SC() 0
272
- #define INSN_LABEL(lab) LABEL_getconstant_##lab
273
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
274
- COLLECT_USAGE_INSN(BIN(getconstant));
275
- COLLECT_USAGE_OPERAND(BIN(getconstant), 0, id);
276
- {
277
- #line 197 "insns.def"
278
- val = vm_get_ev_const(th, GET_ISEQ(), klass, id, 0);
279
-
280
- #line 281 "vm.inc"
281
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
282
- PUSH(val);
283
- #undef CURRENT_INSN_getconstant
284
- #undef INSN_IS_SC
285
- #undef INSN_LABEL
286
- #undef LABEL_IS_SC
287
- END_INSN(getconstant);}}}
288
- INSN_ENTRY(setconstant){
289
- {
290
- ID id = (ID)GET_OPERAND(1);
291
- VALUE val = TOPN(1);
292
- VALUE cbase = TOPN(0);
293
- DEBUG_ENTER_INSN("setconstant");
294
- ADD_PC(1+1);
295
- PREFETCH(GET_PC());
296
- POPN(2);
297
- #define CURRENT_INSN_setconstant 1
298
- #define INSN_IS_SC() 0
299
- #define INSN_LABEL(lab) LABEL_setconstant_##lab
300
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
301
- COLLECT_USAGE_INSN(BIN(setconstant));
302
- COLLECT_USAGE_OPERAND(BIN(setconstant), 0, id);
303
- {
304
- #line 219 "insns.def"
305
- vm_check_if_namespace(cbase);
306
- rb_const_set(cbase, id, val);
307
- INC_VM_STATE_VERSION();
308
-
309
- #line 310 "vm.inc"
310
- #undef CURRENT_INSN_setconstant
311
- #undef INSN_IS_SC
312
- #undef INSN_LABEL
313
- #undef LABEL_IS_SC
314
- END_INSN(setconstant);}}}
315
- INSN_ENTRY(getglobal){
316
- {
317
- VALUE val;
318
- GENTRY entry = (GENTRY)GET_OPERAND(1);
319
-
320
- DEBUG_ENTER_INSN("getglobal");
321
- ADD_PC(1+1);
322
- PREFETCH(GET_PC());
323
- #define CURRENT_INSN_getglobal 1
324
- #define INSN_IS_SC() 0
325
- #define INSN_LABEL(lab) LABEL_getglobal_##lab
326
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
327
- COLLECT_USAGE_INSN(BIN(getglobal));
328
- COLLECT_USAGE_OPERAND(BIN(getglobal), 0, entry);
329
- {
330
- #line 235 "insns.def"
331
- val = GET_GLOBAL((VALUE)entry);
332
-
333
- #line 334 "vm.inc"
334
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
335
- PUSH(val);
336
- #undef CURRENT_INSN_getglobal
337
- #undef INSN_IS_SC
338
- #undef INSN_LABEL
339
- #undef LABEL_IS_SC
340
- END_INSN(getglobal);}}}
341
- INSN_ENTRY(setglobal){
342
- {
343
- GENTRY entry = (GENTRY)GET_OPERAND(1);
344
- VALUE val = TOPN(0);
345
- DEBUG_ENTER_INSN("setglobal");
346
- ADD_PC(1+1);
347
- PREFETCH(GET_PC());
348
- POPN(1);
349
- #define CURRENT_INSN_setglobal 1
350
- #define INSN_IS_SC() 0
351
- #define INSN_LABEL(lab) LABEL_setglobal_##lab
352
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
353
- COLLECT_USAGE_INSN(BIN(setglobal));
354
- COLLECT_USAGE_OPERAND(BIN(setglobal), 0, entry);
355
- {
356
- #line 249 "insns.def"
357
- SET_GLOBAL((VALUE)entry, val);
358
-
359
- #line 360 "vm.inc"
360
- #undef CURRENT_INSN_setglobal
361
- #undef INSN_IS_SC
362
- #undef INSN_LABEL
363
- #undef LABEL_IS_SC
364
- END_INSN(setglobal);}}}
365
- INSN_ENTRY(putnil){
366
- {
367
- VALUE val;
368
-
369
-
370
- DEBUG_ENTER_INSN("putnil");
371
- ADD_PC(1+0);
372
- PREFETCH(GET_PC());
373
- #define CURRENT_INSN_putnil 1
374
- #define INSN_IS_SC() 0
375
- #define INSN_LABEL(lab) LABEL_putnil_##lab
376
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
377
- COLLECT_USAGE_INSN(BIN(putnil));
378
- {
379
- #line 268 "insns.def"
380
- val = Qnil;
381
-
382
- #line 383 "vm.inc"
383
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
384
- PUSH(val);
385
- #undef CURRENT_INSN_putnil
386
- #undef INSN_IS_SC
387
- #undef INSN_LABEL
388
- #undef LABEL_IS_SC
389
- END_INSN(putnil);}}}
390
- INSN_ENTRY(putself){
391
- {
392
- VALUE val;
393
-
394
-
395
- DEBUG_ENTER_INSN("putself");
396
- ADD_PC(1+0);
397
- PREFETCH(GET_PC());
398
- #define CURRENT_INSN_putself 1
399
- #define INSN_IS_SC() 0
400
- #define INSN_LABEL(lab) LABEL_putself_##lab
401
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
402
- COLLECT_USAGE_INSN(BIN(putself));
403
- {
404
- #line 282 "insns.def"
405
- val = GET_SELF();
406
-
407
- #line 408 "vm.inc"
408
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
409
- PUSH(val);
410
- #undef CURRENT_INSN_putself
411
- #undef INSN_IS_SC
412
- #undef INSN_LABEL
413
- #undef LABEL_IS_SC
414
- END_INSN(putself);}}}
415
- INSN_ENTRY(putobject){
416
- {
417
- VALUE val = (VALUE)GET_OPERAND(1);
418
-
419
- DEBUG_ENTER_INSN("putobject");
420
- ADD_PC(1+1);
421
- PREFETCH(GET_PC());
422
- #define CURRENT_INSN_putobject 1
423
- #define INSN_IS_SC() 0
424
- #define INSN_LABEL(lab) LABEL_putobject_##lab
425
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
426
- COLLECT_USAGE_INSN(BIN(putobject));
427
- COLLECT_USAGE_OPERAND(BIN(putobject), 0, val);
428
- {
429
- #line 298 "insns.def"
430
- /* */
431
-
432
- #line 433 "vm.inc"
433
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
434
- PUSH(val);
435
- #undef CURRENT_INSN_putobject
436
- #undef INSN_IS_SC
437
- #undef INSN_LABEL
438
- #undef LABEL_IS_SC
439
- END_INSN(putobject);}}}
440
- INSN_ENTRY(putspecialobject){
441
- {
442
- VALUE val;
443
- rb_num_t value_type = (rb_num_t)GET_OPERAND(1);
444
-
445
- DEBUG_ENTER_INSN("putspecialobject");
446
- ADD_PC(1+1);
447
- PREFETCH(GET_PC());
448
- #define CURRENT_INSN_putspecialobject 1
449
- #define INSN_IS_SC() 0
450
- #define INSN_LABEL(lab) LABEL_putspecialobject_##lab
451
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
452
- COLLECT_USAGE_INSN(BIN(putspecialobject));
453
- COLLECT_USAGE_OPERAND(BIN(putspecialobject), 0, value_type);
454
- {
455
- #line 313 "insns.def"
456
- enum vm_special_object_type type = (enum vm_special_object_type)value_type;
457
-
458
- switch (type) {
459
- case VM_SPECIAL_OBJECT_VMCORE:
460
- val = rb_mRubyVMFrozenCore;
461
- break;
462
- case VM_SPECIAL_OBJECT_CBASE:
463
- val = vm_get_cbase(GET_ISEQ(), GET_EP());
464
- break;
465
- case VM_SPECIAL_OBJECT_CONST_BASE:
466
- val = vm_get_const_base(GET_ISEQ(), GET_EP());
467
- break;
468
- default:
469
- rb_bug("putspecialobject insn: unknown value_type");
470
- }
471
-
472
- #line 473 "vm.inc"
473
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
474
- PUSH(val);
475
- #undef CURRENT_INSN_putspecialobject
476
- #undef INSN_IS_SC
477
- #undef INSN_LABEL
478
- #undef LABEL_IS_SC
479
- END_INSN(putspecialobject);}}}
480
- INSN_ENTRY(putiseq){
481
- {
482
- VALUE ret;
483
- ISEQ iseq = (ISEQ)GET_OPERAND(1);
484
-
485
- DEBUG_ENTER_INSN("putiseq");
486
- ADD_PC(1+1);
487
- PREFETCH(GET_PC());
488
- #define CURRENT_INSN_putiseq 1
489
- #define INSN_IS_SC() 0
490
- #define INSN_LABEL(lab) LABEL_putiseq_##lab
491
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
492
- COLLECT_USAGE_INSN(BIN(putiseq));
493
- COLLECT_USAGE_OPERAND(BIN(putiseq), 0, iseq);
494
- {
495
- #line 341 "insns.def"
496
- ret = iseq->self;
497
-
498
- #line 499 "vm.inc"
499
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
500
- PUSH(ret);
501
- #undef CURRENT_INSN_putiseq
502
- #undef INSN_IS_SC
503
- #undef INSN_LABEL
504
- #undef LABEL_IS_SC
505
- END_INSN(putiseq);}}}
506
- INSN_ENTRY(putstring){
507
- {
508
- VALUE val;
509
- VALUE str = (VALUE)GET_OPERAND(1);
510
-
511
- DEBUG_ENTER_INSN("putstring");
512
- ADD_PC(1+1);
513
- PREFETCH(GET_PC());
514
- #define CURRENT_INSN_putstring 1
515
- #define INSN_IS_SC() 0
516
- #define INSN_LABEL(lab) LABEL_putstring_##lab
517
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
518
- COLLECT_USAGE_INSN(BIN(putstring));
519
- COLLECT_USAGE_OPERAND(BIN(putstring), 0, str);
520
- {
521
- #line 355 "insns.def"
522
- val = rb_str_resurrect(str);
523
-
524
- #line 525 "vm.inc"
525
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
526
- PUSH(val);
527
- #undef CURRENT_INSN_putstring
528
- #undef INSN_IS_SC
529
- #undef INSN_LABEL
530
- #undef LABEL_IS_SC
531
- END_INSN(putstring);}}}
532
- INSN_ENTRY(concatstrings){
533
- {
534
- VALUE val;
535
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
536
-
537
- DEBUG_ENTER_INSN("concatstrings");
538
- ADD_PC(1+1);
539
- PREFETCH(GET_PC());
540
- #define CURRENT_INSN_concatstrings 1
541
- #define INSN_IS_SC() 0
542
- #define INSN_LABEL(lab) LABEL_concatstrings_##lab
543
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
544
- COLLECT_USAGE_INSN(BIN(concatstrings));
545
- COLLECT_USAGE_OPERAND(BIN(concatstrings), 0, num);
546
- {
547
- #line 369 "insns.def"
548
- rb_num_t i = num - 1;
549
-
550
- val = rb_str_resurrect(TOPN(i));
551
- while (i-- > 0) {
552
- const VALUE v = TOPN(i);
553
- rb_str_append(val, v);
554
- }
555
- POPN(num);
556
-
557
- #line 558 "vm.inc"
558
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
559
- PUSH(val);
560
- #undef CURRENT_INSN_concatstrings
561
- #undef INSN_IS_SC
562
- #undef INSN_LABEL
563
- #undef LABEL_IS_SC
564
- END_INSN(concatstrings);}}}
565
- INSN_ENTRY(tostring){
566
- {
567
-
568
- VALUE val = TOPN(0);
569
- DEBUG_ENTER_INSN("tostring");
570
- ADD_PC(1+0);
571
- PREFETCH(GET_PC());
572
- POPN(1);
573
- #define CURRENT_INSN_tostring 1
574
- #define INSN_IS_SC() 0
575
- #define INSN_LABEL(lab) LABEL_tostring_##lab
576
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
577
- COLLECT_USAGE_INSN(BIN(tostring));
578
- {
579
- #line 390 "insns.def"
580
- val = rb_obj_as_string(val);
581
-
582
- #line 583 "vm.inc"
583
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
584
- PUSH(val);
585
- #undef CURRENT_INSN_tostring
586
- #undef INSN_IS_SC
587
- #undef INSN_LABEL
588
- #undef LABEL_IS_SC
589
- END_INSN(tostring);}}}
590
- INSN_ENTRY(toregexp){
591
- {
592
- VALUE val;
593
- rb_num_t cnt = (rb_num_t)GET_OPERAND(2);
594
- rb_num_t opt = (rb_num_t)GET_OPERAND(1);
595
-
596
- DEBUG_ENTER_INSN("toregexp");
597
- ADD_PC(1+2);
598
- PREFETCH(GET_PC());
599
- #define CURRENT_INSN_toregexp 1
600
- #define INSN_IS_SC() 0
601
- #define INSN_LABEL(lab) LABEL_toregexp_##lab
602
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
603
- COLLECT_USAGE_INSN(BIN(toregexp));
604
- COLLECT_USAGE_OPERAND(BIN(toregexp), 0, opt);
605
- COLLECT_USAGE_OPERAND(BIN(toregexp), 1, cnt);
606
- {
607
- #line 405 "insns.def"
608
- VALUE rb_reg_new_ary(VALUE ary, int options);
609
- rb_num_t i;
610
- const VALUE ary = rb_ary_tmp_new(cnt);
611
- for (i = 0; i < cnt; i++) {
612
- rb_ary_store(ary, cnt-i-1, TOPN(i));
613
- }
614
- POPN(cnt);
615
- val = rb_reg_new_ary(ary, (int)opt);
616
- rb_ary_clear(ary);
617
-
618
- #line 619 "vm.inc"
619
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
620
- PUSH(val);
621
- #undef CURRENT_INSN_toregexp
622
- #undef INSN_IS_SC
623
- #undef INSN_LABEL
624
- #undef LABEL_IS_SC
625
- END_INSN(toregexp);}}}
626
- INSN_ENTRY(newarray){
627
- {
628
- VALUE val;
629
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
630
-
631
- DEBUG_ENTER_INSN("newarray");
632
- ADD_PC(1+1);
633
- PREFETCH(GET_PC());
634
- #define CURRENT_INSN_newarray 1
635
- #define INSN_IS_SC() 0
636
- #define INSN_LABEL(lab) LABEL_newarray_##lab
637
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
638
- COLLECT_USAGE_INSN(BIN(newarray));
639
- COLLECT_USAGE_OPERAND(BIN(newarray), 0, num);
640
- {
641
- #line 427 "insns.def"
642
- val = rb_ary_new4((long)num, STACK_ADDR_FROM_TOP(num));
643
- POPN(num);
644
-
645
- #line 646 "vm.inc"
646
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
647
- PUSH(val);
648
- #undef CURRENT_INSN_newarray
649
- #undef INSN_IS_SC
650
- #undef INSN_LABEL
651
- #undef LABEL_IS_SC
652
- END_INSN(newarray);}}}
653
- INSN_ENTRY(duparray){
654
- {
655
- VALUE val;
656
- VALUE ary = (VALUE)GET_OPERAND(1);
657
-
658
- DEBUG_ENTER_INSN("duparray");
659
- ADD_PC(1+1);
660
- PREFETCH(GET_PC());
661
- #define CURRENT_INSN_duparray 1
662
- #define INSN_IS_SC() 0
663
- #define INSN_LABEL(lab) LABEL_duparray_##lab
664
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
665
- COLLECT_USAGE_INSN(BIN(duparray));
666
- COLLECT_USAGE_OPERAND(BIN(duparray), 0, ary);
667
- {
668
- #line 442 "insns.def"
669
- val = rb_ary_resurrect(ary);
670
-
671
- #line 672 "vm.inc"
672
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
673
- PUSH(val);
674
- #undef CURRENT_INSN_duparray
675
- #undef INSN_IS_SC
676
- #undef INSN_LABEL
677
- #undef LABEL_IS_SC
678
- END_INSN(duparray);}}}
679
- INSN_ENTRY(expandarray){
680
- {
681
- rb_num_t flag = (rb_num_t)GET_OPERAND(2);
682
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
683
- VALUE ary = TOPN(0);
684
- DEBUG_ENTER_INSN("expandarray");
685
- ADD_PC(1+2);
686
- PREFETCH(GET_PC());
687
- POPN(1);
688
- #define CURRENT_INSN_expandarray 1
689
- #define INSN_IS_SC() 0
690
- #define INSN_LABEL(lab) LABEL_expandarray_##lab
691
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
692
- COLLECT_USAGE_INSN(BIN(expandarray));
693
- COLLECT_USAGE_OPERAND(BIN(expandarray), 0, num);
694
- COLLECT_USAGE_OPERAND(BIN(expandarray), 1, flag);
695
- {
696
- #line 463 "insns.def"
697
- vm_expandarray(GET_CFP(), ary, num, (int)flag);
698
-
699
- #line 700 "vm.inc"
700
- #undef CURRENT_INSN_expandarray
701
- #undef INSN_IS_SC
702
- #undef INSN_LABEL
703
- #undef LABEL_IS_SC
704
- END_INSN(expandarray);}}}
705
- INSN_ENTRY(concatarray){
706
- {
707
- VALUE ary;
708
-
709
- VALUE ary1 = TOPN(1);
710
- VALUE ary2st = TOPN(0);
711
- DEBUG_ENTER_INSN("concatarray");
712
- ADD_PC(1+0);
713
- PREFETCH(GET_PC());
714
- POPN(2);
715
- #define CURRENT_INSN_concatarray 1
716
- #define INSN_IS_SC() 0
717
- #define INSN_LABEL(lab) LABEL_concatarray_##lab
718
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
719
- COLLECT_USAGE_INSN(BIN(concatarray));
720
- {
721
- #line 477 "insns.def"
722
- const VALUE ary2 = ary2st;
723
- VALUE tmp1 = rb_check_convert_type(ary1, T_ARRAY, "Array", "to_a");
724
- VALUE tmp2 = rb_check_convert_type(ary2, T_ARRAY, "Array", "to_a");
725
-
726
- if (NIL_P(tmp1)) {
727
- tmp1 = rb_ary_new3(1, ary1);
728
- }
729
-
730
- if (NIL_P(tmp2)) {
731
- tmp2 = rb_ary_new3(1, ary2);
732
- }
733
-
734
- if (tmp1 == ary1) {
735
- tmp1 = rb_ary_dup(ary1);
736
- }
737
- ary = rb_ary_concat(tmp1, tmp2);
738
-
739
- #line 740 "vm.inc"
740
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
741
- PUSH(ary);
742
- #undef CURRENT_INSN_concatarray
743
- #undef INSN_IS_SC
744
- #undef INSN_LABEL
745
- #undef LABEL_IS_SC
746
- END_INSN(concatarray);}}}
747
- INSN_ENTRY(splatarray){
748
- {
749
- VALUE obj;
750
- VALUE flag = (VALUE)GET_OPERAND(1);
751
- VALUE ary = TOPN(0);
752
- DEBUG_ENTER_INSN("splatarray");
753
- ADD_PC(1+1);
754
- PREFETCH(GET_PC());
755
- POPN(1);
756
- #define CURRENT_INSN_splatarray 1
757
- #define INSN_IS_SC() 0
758
- #define INSN_LABEL(lab) LABEL_splatarray_##lab
759
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
760
- COLLECT_USAGE_INSN(BIN(splatarray));
761
- COLLECT_USAGE_OPERAND(BIN(splatarray), 0, flag);
762
- {
763
- #line 506 "insns.def"
764
- VALUE tmp = rb_check_convert_type(ary, T_ARRAY, "Array", "to_a");
765
- if (NIL_P(tmp)) {
766
- tmp = rb_ary_new3(1, ary);
767
- }
768
- else if (RTEST(flag)) {
769
- tmp = rb_ary_dup(tmp);
770
- }
771
- obj = tmp;
772
-
773
- #line 774 "vm.inc"
774
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
775
- PUSH(obj);
776
- #undef CURRENT_INSN_splatarray
777
- #undef INSN_IS_SC
778
- #undef INSN_LABEL
779
- #undef LABEL_IS_SC
780
- END_INSN(splatarray);}}}
781
- INSN_ENTRY(newhash){
782
- {
783
- VALUE val;
784
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
785
-
786
- DEBUG_ENTER_INSN("newhash");
787
- ADD_PC(1+1);
788
- PREFETCH(GET_PC());
789
- #define CURRENT_INSN_newhash 1
790
- #define INSN_IS_SC() 0
791
- #define INSN_LABEL(lab) LABEL_newhash_##lab
792
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
793
- COLLECT_USAGE_INSN(BIN(newhash));
794
- COLLECT_USAGE_OPERAND(BIN(newhash), 0, num);
795
- {
796
- #line 528 "insns.def"
797
- rb_num_t i;
798
-
799
- if(RUBY_DTRACE_HASH_CREATE_ENABLED()) {
800
- RUBY_DTRACE_HASH_CREATE(num, rb_sourcefile(), rb_sourceline());
801
- }
802
-
803
- val = rb_hash_new();
804
-
805
- for (i = num; i > 0; i -= 2) {
806
- const VALUE v = TOPN(i - 2);
807
- const VALUE k = TOPN(i - 1);
808
- rb_hash_aset(val, k, v);
809
- }
810
- POPN(num);
811
-
812
- #line 813 "vm.inc"
813
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
814
- PUSH(val);
815
- #undef CURRENT_INSN_newhash
816
- #undef INSN_IS_SC
817
- #undef INSN_LABEL
818
- #undef LABEL_IS_SC
819
- END_INSN(newhash);}}}
820
- INSN_ENTRY(newrange){
821
- {
822
- VALUE val;
823
- rb_num_t flag = (rb_num_t)GET_OPERAND(1);
824
- VALUE low = TOPN(1);
825
- VALUE high = TOPN(0);
826
- DEBUG_ENTER_INSN("newrange");
827
- ADD_PC(1+1);
828
- PREFETCH(GET_PC());
829
- POPN(2);
830
- #define CURRENT_INSN_newrange 1
831
- #define INSN_IS_SC() 0
832
- #define INSN_LABEL(lab) LABEL_newrange_##lab
833
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
834
- COLLECT_USAGE_INSN(BIN(newrange));
835
- COLLECT_USAGE_OPERAND(BIN(newrange), 0, flag);
836
- {
837
- #line 555 "insns.def"
838
- val = rb_range_new(low, high, (int)flag);
839
-
840
- #line 841 "vm.inc"
841
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
842
- PUSH(val);
843
- #undef CURRENT_INSN_newrange
844
- #undef INSN_IS_SC
845
- #undef INSN_LABEL
846
- #undef LABEL_IS_SC
847
- END_INSN(newrange);}}}
848
- INSN_ENTRY(pop){
849
- {
850
-
851
- VALUE val = TOPN(0);
852
- DEBUG_ENTER_INSN("pop");
853
- ADD_PC(1+0);
854
- PREFETCH(GET_PC());
855
- POPN(1);
856
- #define CURRENT_INSN_pop 1
857
- #define INSN_IS_SC() 0
858
- #define INSN_LABEL(lab) LABEL_pop_##lab
859
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
860
- COLLECT_USAGE_INSN(BIN(pop));
861
- {
862
- #line 573 "insns.def"
863
- (void)val;
864
- /* none */
865
-
866
- #line 867 "vm.inc"
867
- #undef CURRENT_INSN_pop
868
- #undef INSN_IS_SC
869
- #undef INSN_LABEL
870
- #undef LABEL_IS_SC
871
- END_INSN(pop);}}}
872
- INSN_ENTRY(dup){
873
- {
874
- VALUE val2;
875
- VALUE val1;
876
-
877
- VALUE val = TOPN(0);
878
- DEBUG_ENTER_INSN("dup");
879
- ADD_PC(1+0);
880
- PREFETCH(GET_PC());
881
- POPN(1);
882
- #define CURRENT_INSN_dup 1
883
- #define INSN_IS_SC() 0
884
- #define INSN_LABEL(lab) LABEL_dup_##lab
885
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
886
- COLLECT_USAGE_INSN(BIN(dup));
887
- {
888
- #line 588 "insns.def"
889
- val1 = val2 = val;
890
-
891
- #line 892 "vm.inc"
892
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 2);
893
- PUSH(val1);
894
- PUSH(val2);
895
- #undef CURRENT_INSN_dup
896
- #undef INSN_IS_SC
897
- #undef INSN_LABEL
898
- #undef LABEL_IS_SC
899
- END_INSN(dup);}}}
900
- INSN_ENTRY(dupn){
901
- {
902
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
903
-
904
- DEBUG_ENTER_INSN("dupn");
905
- ADD_PC(1+1);
906
- PREFETCH(GET_PC());
907
- #define CURRENT_INSN_dupn 1
908
- #define INSN_IS_SC() 0
909
- #define INSN_LABEL(lab) LABEL_dupn_##lab
910
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
911
- COLLECT_USAGE_INSN(BIN(dupn));
912
- COLLECT_USAGE_OPERAND(BIN(dupn), 0, n);
913
- {
914
- #line 602 "insns.def"
915
- rb_num_t i;
916
- VALUE *sp = STACK_ADDR_FROM_TOP(n);
917
- for (i = 0; i < n; i++) {
918
- GET_SP()[i] = sp[i];
919
- }
920
- INC_SP(n);
921
-
922
- #line 923 "vm.inc"
923
- #undef CURRENT_INSN_dupn
924
- #undef INSN_IS_SC
925
- #undef INSN_LABEL
926
- #undef LABEL_IS_SC
927
- END_INSN(dupn);}}}
928
- INSN_ENTRY(swap){
929
- {
930
-
931
- VALUE val = TOPN(1);
932
- VALUE obj = TOPN(0);
933
- DEBUG_ENTER_INSN("swap");
934
- ADD_PC(1+0);
935
- PREFETCH(GET_PC());
936
- POPN(2);
937
- #define CURRENT_INSN_swap 1
938
- #define INSN_IS_SC() 0
939
- #define INSN_LABEL(lab) LABEL_swap_##lab
940
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
941
- COLLECT_USAGE_INSN(BIN(swap));
942
- {
943
- #line 622 "insns.def"
944
- /* none */
945
-
946
- #line 947 "vm.inc"
947
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 2);
948
- PUSH(obj);
949
- PUSH(val);
950
- #undef CURRENT_INSN_swap
951
- #undef INSN_IS_SC
952
- #undef INSN_LABEL
953
- #undef LABEL_IS_SC
954
- END_INSN(swap);}}}
955
- INSN_ENTRY(reput){
956
- {
957
-
958
- VALUE val = TOPN(0);
959
- DEBUG_ENTER_INSN("reput");
960
- ADD_PC(1+0);
961
- PREFETCH(GET_PC());
962
- POPN(1);
963
- #define CURRENT_INSN_reput 1
964
- #define INSN_IS_SC() 0
965
- #define INSN_LABEL(lab) LABEL_reput_##lab
966
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
967
- COLLECT_USAGE_INSN(BIN(reput));
968
- {
969
- #line 636 "insns.def"
970
- /* none */
971
-
972
- #line 973 "vm.inc"
973
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
974
- PUSH(val);
975
- #undef CURRENT_INSN_reput
976
- #undef INSN_IS_SC
977
- #undef INSN_LABEL
978
- #undef LABEL_IS_SC
979
- END_INSN(reput);}}}
980
- INSN_ENTRY(topn){
981
- {
982
- VALUE val;
983
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
984
-
985
- DEBUG_ENTER_INSN("topn");
986
- ADD_PC(1+1);
987
- PREFETCH(GET_PC());
988
- #define CURRENT_INSN_topn 1
989
- #define INSN_IS_SC() 0
990
- #define INSN_LABEL(lab) LABEL_topn_##lab
991
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
992
- COLLECT_USAGE_INSN(BIN(topn));
993
- COLLECT_USAGE_OPERAND(BIN(topn), 0, n);
994
- {
995
- #line 650 "insns.def"
996
- val = TOPN(n);
997
-
998
- #line 999 "vm.inc"
999
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1000
- PUSH(val);
1001
- #undef CURRENT_INSN_topn
1002
- #undef INSN_IS_SC
1003
- #undef INSN_LABEL
1004
- #undef LABEL_IS_SC
1005
- END_INSN(topn);}}}
1006
- INSN_ENTRY(setn){
1007
- {
1008
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1009
- VALUE val = TOPN(0);
1010
- DEBUG_ENTER_INSN("setn");
1011
- ADD_PC(1+1);
1012
- PREFETCH(GET_PC());
1013
- POPN(1);
1014
- #define CURRENT_INSN_setn 1
1015
- #define INSN_IS_SC() 0
1016
- #define INSN_LABEL(lab) LABEL_setn_##lab
1017
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1018
- COLLECT_USAGE_INSN(BIN(setn));
1019
- COLLECT_USAGE_OPERAND(BIN(setn), 0, n);
1020
- {
1021
- #line 664 "insns.def"
1022
- TOPN(n-1) = val;
1023
-
1024
- #line 1025 "vm.inc"
1025
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1026
- PUSH(val);
1027
- #undef CURRENT_INSN_setn
1028
- #undef INSN_IS_SC
1029
- #undef INSN_LABEL
1030
- #undef LABEL_IS_SC
1031
- END_INSN(setn);}}}
1032
- INSN_ENTRY(adjuststack){
1033
- {
1034
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1035
-
1036
- DEBUG_ENTER_INSN("adjuststack");
1037
- ADD_PC(1+1);
1038
- PREFETCH(GET_PC());
1039
- #define CURRENT_INSN_adjuststack 1
1040
- #define INSN_IS_SC() 0
1041
- #define INSN_LABEL(lab) LABEL_adjuststack_##lab
1042
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1043
- COLLECT_USAGE_INSN(BIN(adjuststack));
1044
- COLLECT_USAGE_OPERAND(BIN(adjuststack), 0, n);
1045
- {
1046
- #line 678 "insns.def"
1047
- DEC_SP(n);
1048
-
1049
- #line 1050 "vm.inc"
1050
- #undef CURRENT_INSN_adjuststack
1051
- #undef INSN_IS_SC
1052
- #undef INSN_LABEL
1053
- #undef LABEL_IS_SC
1054
- END_INSN(adjuststack);}}}
1055
- INSN_ENTRY(defined){
1056
- {
1057
- VALUE val;
1058
- VALUE needstr = (VALUE)GET_OPERAND(3);
1059
- VALUE obj = (VALUE)GET_OPERAND(2);
1060
- rb_num_t op_type = (rb_num_t)GET_OPERAND(1);
1061
- VALUE v = TOPN(0);
1062
- DEBUG_ENTER_INSN("defined");
1063
- ADD_PC(1+3);
1064
- PREFETCH(GET_PC());
1065
- POPN(1);
1066
- #define CURRENT_INSN_defined 1
1067
- #define INSN_IS_SC() 0
1068
- #define INSN_LABEL(lab) LABEL_defined_##lab
1069
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1070
- COLLECT_USAGE_INSN(BIN(defined));
1071
- COLLECT_USAGE_OPERAND(BIN(defined), 0, op_type);
1072
- COLLECT_USAGE_OPERAND(BIN(defined), 1, obj);
1073
- COLLECT_USAGE_OPERAND(BIN(defined), 2, needstr);
1074
- {
1075
- #line 697 "insns.def"
1076
- VALUE klass;
1077
- enum defined_type expr_type = 0;
1078
- enum defined_type type = (enum defined_type)op_type;
1079
-
1080
- val = Qnil;
1081
-
1082
- switch (type) {
1083
- case DEFINED_IVAR:
1084
- if (rb_ivar_defined(GET_SELF(), SYM2ID(obj))) {
1085
- expr_type = DEFINED_IVAR;
1086
- }
1087
- break;
1088
- case DEFINED_IVAR2:
1089
- klass = vm_get_cbase(GET_ISEQ(), GET_EP());
1090
- break;
1091
- case DEFINED_GVAR:
1092
- if (rb_gvar_defined(rb_global_entry(SYM2ID(obj)))) {
1093
- expr_type = DEFINED_GVAR;
1094
- }
1095
- break;
1096
- case DEFINED_CVAR: {
1097
- NODE *cref = rb_vm_get_cref(GET_ISEQ(), GET_EP());
1098
- klass = vm_get_cvar_base(cref, GET_CFP());
1099
- if (rb_cvar_defined(klass, SYM2ID(obj))) {
1100
- expr_type = DEFINED_CVAR;
1101
- }
1102
- break;
1103
- }
1104
- case DEFINED_CONST:
1105
- klass = v;
1106
- if (vm_get_ev_const(th, GET_ISEQ(), klass, SYM2ID(obj), 1)) {
1107
- expr_type = DEFINED_CONST;
1108
- }
1109
- break;
1110
- case DEFINED_FUNC:
1111
- klass = CLASS_OF(v);
1112
- if (rb_method_boundp(klass, SYM2ID(obj), 0)) {
1113
- expr_type = DEFINED_METHOD;
1114
- }
1115
- break;
1116
- case DEFINED_METHOD:{
1117
- VALUE klass = CLASS_OF(v);
1118
- const rb_method_entry_t *me = rb_method_entry(klass, SYM2ID(obj), 0);
1119
-
1120
- if (me) {
1121
- if (!(me->flag & NOEX_PRIVATE)) {
1122
- if (!((me->flag & NOEX_PROTECTED) &&
1123
- !rb_obj_is_kind_of(GET_SELF(),
1124
- rb_class_real(klass)))) {
1125
- expr_type = DEFINED_METHOD;
1126
- }
1127
- }
1128
- }
1129
- {
1130
- VALUE args[2];
1131
- VALUE r;
1132
-
1133
- args[0] = obj; args[1] = Qfalse;
1134
- r = rb_check_funcall(v, idRespond_to_missing, 2, args);
1135
- if (r != Qundef && RTEST(r))
1136
- expr_type = DEFINED_METHOD;
1137
- }
1138
- break;
1139
- }
1140
- case DEFINED_YIELD:
1141
- if (GET_BLOCK_PTR()) {
1142
- expr_type = DEFINED_YIELD;
1143
- }
1144
- break;
1145
- case DEFINED_ZSUPER:{
1146
- rb_call_info_t cit;
1147
- if (vm_search_superclass(GET_CFP(), GET_ISEQ(), Qnil, &cit) == 0) {
1148
- VALUE klass = cit.klass;
1149
- ID id = cit.mid;
1150
- if (rb_method_boundp(klass, id, 0)) {
1151
- expr_type = DEFINED_ZSUPER;
1152
- }
1153
- }
1154
- break;
1155
- }
1156
- case DEFINED_REF:{
1157
- val = vm_getspecial(th, GET_LEP(), Qfalse, FIX2INT(obj));
1158
- if (val != Qnil) {
1159
- expr_type = DEFINED_GVAR;
1160
- }
1161
- break;
1162
- }
1163
- default:
1164
- rb_bug("unimplemented defined? type (VM)");
1165
- break;
1166
- }
1167
- if (expr_type != 0) {
1168
- if (needstr != Qfalse) {
1169
- val = rb_iseq_defined_string(expr_type);
1170
- }
1171
- else {
1172
- val = Qtrue;
1173
- }
1174
- }
1175
-
1176
- #line 1177 "vm.inc"
1177
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1178
- PUSH(val);
1179
- #undef CURRENT_INSN_defined
1180
- #undef INSN_IS_SC
1181
- #undef INSN_LABEL
1182
- #undef LABEL_IS_SC
1183
- END_INSN(defined);}}}
1184
- INSN_ENTRY(checkmatch){
1185
- {
1186
- VALUE result;
1187
- rb_num_t flag = (rb_num_t)GET_OPERAND(1);
1188
- VALUE target = TOPN(1);
1189
- VALUE pattern = TOPN(0);
1190
- DEBUG_ENTER_INSN("checkmatch");
1191
- ADD_PC(1+1);
1192
- PREFETCH(GET_PC());
1193
- POPN(2);
1194
- #define CURRENT_INSN_checkmatch 1
1195
- #define INSN_IS_SC() 0
1196
- #define INSN_LABEL(lab) LABEL_checkmatch_##lab
1197
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1198
- COLLECT_USAGE_INSN(BIN(checkmatch));
1199
- COLLECT_USAGE_OPERAND(BIN(checkmatch), 0, flag);
1200
- {
1201
- #line 814 "insns.def"
1202
- enum vm_check_match_type checkmatch_type =
1203
- (enum vm_check_match_type)(flag & VM_CHECKMATCH_TYPE_MASK);
1204
- result = Qfalse;
1205
-
1206
- if (flag & VM_CHECKMATCH_ARRAY) {
1207
- int i;
1208
- for (i = 0; i < RARRAY_LEN(pattern); i++) {
1209
- if (RTEST(check_match(RARRAY_PTR(pattern)[i], target, checkmatch_type))) {
1210
- result = Qtrue;
1211
- break;
1212
- }
1213
- }
1214
- }
1215
- else {
1216
- if (RTEST(check_match(pattern, target, checkmatch_type))) {
1217
- result = Qtrue;
1218
- }
1219
- }
1220
-
1221
- #line 1222 "vm.inc"
1222
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1223
- PUSH(result);
1224
- #undef CURRENT_INSN_checkmatch
1225
- #undef INSN_IS_SC
1226
- #undef INSN_LABEL
1227
- #undef LABEL_IS_SC
1228
- END_INSN(checkmatch);}}}
1229
- INSN_ENTRY(trace){
1230
- {
1231
- rb_num_t nf = (rb_num_t)GET_OPERAND(1);
1232
-
1233
- DEBUG_ENTER_INSN("trace");
1234
- ADD_PC(1+1);
1235
- PREFETCH(GET_PC());
1236
- #define CURRENT_INSN_trace 1
1237
- #define INSN_IS_SC() 0
1238
- #define INSN_LABEL(lab) LABEL_trace_##lab
1239
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1240
- COLLECT_USAGE_INSN(BIN(trace));
1241
- COLLECT_USAGE_OPERAND(BIN(trace), 0, nf);
1242
- {
1243
- #line 845 "insns.def"
1244
- rb_event_flag_t flag = (rb_event_flag_t)nf;
1245
-
1246
- if (RUBY_DTRACE_METHOD_ENTRY_ENABLED() ||
1247
- RUBY_DTRACE_METHOD_RETURN_ENABLED() ||
1248
- RUBY_DTRACE_CMETHOD_ENTRY_ENABLED() ||
1249
- RUBY_DTRACE_CMETHOD_RETURN_ENABLED()) {
1250
-
1251
- switch(flag) {
1252
- case RUBY_EVENT_CALL:
1253
- RUBY_DTRACE_METHOD_ENTRY_HOOK(th, 0, 0);
1254
- break;
1255
- case RUBY_EVENT_C_CALL:
1256
- RUBY_DTRACE_CMETHOD_ENTRY_HOOK(th, 0, 0);
1257
- break;
1258
- case RUBY_EVENT_RETURN:
1259
- RUBY_DTRACE_METHOD_RETURN_HOOK(th, 0, 0);
1260
- break;
1261
- case RUBY_EVENT_C_RETURN:
1262
- RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, 0, 0);
1263
- break;
1264
- }
1265
- }
1266
-
1267
- EXEC_EVENT_HOOK(th, flag, GET_SELF(), 0, 0 /* id and klass are resolved at callee */,
1268
- (flag & (RUBY_EVENT_RETURN | RUBY_EVENT_B_RETURN)) ? TOPN(0) : Qundef);
1269
-
1270
- #line 1271 "vm.inc"
1271
- #undef CURRENT_INSN_trace
1272
- #undef INSN_IS_SC
1273
- #undef INSN_LABEL
1274
- #undef LABEL_IS_SC
1275
- END_INSN(trace);}}}
1276
- INSN_ENTRY(defineclass){
1277
- {
1278
- VALUE val;
1279
- rb_num_t flags = (rb_num_t)GET_OPERAND(3);
1280
- ISEQ class_iseq = (ISEQ)GET_OPERAND(2);
1281
- ID id = (ID)GET_OPERAND(1);
1282
- VALUE cbase = TOPN(1);
1283
- VALUE super = TOPN(0);
1284
- DEBUG_ENTER_INSN("defineclass");
1285
- ADD_PC(1+3);
1286
- PREFETCH(GET_PC());
1287
- POPN(2);
1288
- #define CURRENT_INSN_defineclass 1
1289
- #define INSN_IS_SC() 0
1290
- #define INSN_LABEL(lab) LABEL_defineclass_##lab
1291
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1292
- COLLECT_USAGE_INSN(BIN(defineclass));
1293
- COLLECT_USAGE_OPERAND(BIN(defineclass), 0, id);
1294
- COLLECT_USAGE_OPERAND(BIN(defineclass), 1, class_iseq);
1295
- COLLECT_USAGE_OPERAND(BIN(defineclass), 2, flags);
1296
- {
1297
- #line 891 "insns.def"
1298
- VALUE klass;
1299
- rb_vm_defineclass_type_t type = VM_DEFINECLASS_TYPE(flags);
1300
-
1301
- switch (type) {
1302
- case VM_DEFINECLASS_TYPE_CLASS:
1303
- /* val is dummy. classdef returns class scope value */
1304
-
1305
- if (VM_DEFINECLASS_HAS_SUPERCLASS_P(flags) &&
1306
- !RB_TYPE_P(super, T_CLASS)) {
1307
- rb_raise(rb_eTypeError, "superclass must be a Class (%s given)",
1308
- rb_obj_classname(super));
1309
- }
1310
-
1311
- if (super == Qnil) {
1312
- super = rb_cObject;
1313
- }
1314
-
1315
- vm_check_if_namespace(cbase);
1316
-
1317
- /* find klass */
1318
- rb_autoload_load(cbase, id);
1319
- if ((klass = vm_search_const_defined_class(cbase, id)) != 0) {
1320
- /* already exist */
1321
- klass = VM_DEFINECLASS_SCOPED_P(flags) ?
1322
- rb_public_const_get_at(klass, id) : rb_const_get_at(klass, id);
1323
- if (!RB_TYPE_P(klass, T_CLASS)) {
1324
- rb_raise(rb_eTypeError, "%s is not a class", rb_id2name(id));
1325
- }
1326
-
1327
- if (super != rb_cObject) {
1328
- VALUE tmp;
1329
- tmp = rb_class_real(RCLASS_SUPER(klass));
1330
-
1331
- if (tmp != super) {
1332
- rb_raise(rb_eTypeError, "superclass mismatch for class %s",
1333
- rb_id2name(id));
1334
- }
1335
- }
1336
- }
1337
- else {
1338
- /* new class declaration */
1339
- klass = rb_define_class_id(id, super);
1340
- rb_set_class_path_string(klass, cbase, rb_id2str(id));
1341
- rb_const_set(cbase, id, klass);
1342
- rb_class_inherited(super, klass);
1343
- }
1344
- break;
1345
- case VM_DEFINECLASS_TYPE_SINGLETON_CLASS:
1346
- /* val is dummy. classdef returns class scope value */
1347
- /* super is dummy */
1348
- klass = rb_singleton_class(cbase);
1349
- break;
1350
- case VM_DEFINECLASS_TYPE_MODULE:
1351
- /* val is dummy. classdef returns class scope value */
1352
- /* super is dummy */
1353
-
1354
- vm_check_if_namespace(cbase);
1355
-
1356
- /* find klass */
1357
- if ((klass = vm_search_const_defined_class(cbase, id)) != 0) {
1358
- klass = VM_DEFINECLASS_SCOPED_P(flags) ?
1359
- rb_public_const_get_at(klass, id) : rb_const_get_at(klass, id);
1360
- /* already exist */
1361
- if (!RB_TYPE_P(klass, T_MODULE)) {
1362
- rb_raise(rb_eTypeError, "%s is not a module", rb_id2name(id));
1363
- }
1364
- }
1365
- else {
1366
- /* new module declaration */
1367
- klass = rb_define_module_id(id);
1368
- rb_set_class_path_string(klass, cbase, rb_id2str(id));
1369
- rb_const_set(cbase, id, klass);
1370
- }
1371
- break;
1372
- default:
1373
- rb_bug("unknown defineclass type: %d", (int)type);
1374
- }
1375
-
1376
- COPY_CREF(class_iseq->cref_stack, vm_cref_push(th, klass, NOEX_PUBLIC, NULL));
1377
-
1378
- /* enter scope */
1379
- vm_push_frame(th, class_iseq, VM_FRAME_MAGIC_CLASS,
1380
- klass, 0, VM_ENVVAL_BLOCK_PTR(GET_BLOCK_PTR()),
1381
- class_iseq->iseq_encoded, GET_SP(),
1382
- class_iseq->local_size, 0);
1383
- RESTORE_REGS();
1384
-
1385
- INC_VM_STATE_VERSION();
1386
- NEXT_INSN();
1387
-
1388
- #line 1389 "vm.inc"
1389
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1390
- PUSH(val);
1391
- #undef CURRENT_INSN_defineclass
1392
- #undef INSN_IS_SC
1393
- #undef INSN_LABEL
1394
- #undef LABEL_IS_SC
1395
- END_INSN(defineclass);}}}
1396
- INSN_ENTRY(send){
1397
- {
1398
- VALUE val;
1399
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1400
-
1401
- DEBUG_ENTER_INSN("send");
1402
- ADD_PC(1+1);
1403
- PREFETCH(GET_PC());
1404
- #define CURRENT_INSN_send 1
1405
- #define INSN_IS_SC() 0
1406
- #define INSN_LABEL(lab) LABEL_send_##lab
1407
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1408
- COLLECT_USAGE_INSN(BIN(send));
1409
- COLLECT_USAGE_OPERAND(BIN(send), 0, ci);
1410
- {
1411
- #line 998 "insns.def"
1412
- ci->argc = ci->orig_argc;
1413
- ci->blockptr = 0;
1414
- vm_caller_setup_args(th, reg_cfp, ci);
1415
- vm_search_method(ci, ci->recv = TOPN(ci->argc));
1416
- CALL_METHOD(ci);
1417
-
1418
- #line 1419 "vm.inc"
1419
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1420
- PUSH(val);
1421
- #undef CURRENT_INSN_send
1422
- #undef INSN_IS_SC
1423
- #undef INSN_LABEL
1424
- #undef LABEL_IS_SC
1425
- END_INSN(send);}}}
1426
- INSN_ENTRY(opt_send_simple){
1427
- {
1428
- VALUE val;
1429
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1430
-
1431
- DEBUG_ENTER_INSN("opt_send_simple");
1432
- ADD_PC(1+1);
1433
- PREFETCH(GET_PC());
1434
- #define CURRENT_INSN_opt_send_simple 1
1435
- #define INSN_IS_SC() 0
1436
- #define INSN_LABEL(lab) LABEL_opt_send_simple_##lab
1437
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1438
- COLLECT_USAGE_INSN(BIN(opt_send_simple));
1439
- COLLECT_USAGE_OPERAND(BIN(opt_send_simple), 0, ci);
1440
- {
1441
- #line 1016 "insns.def"
1442
- vm_search_method(ci, ci->recv = TOPN(ci->argc));
1443
- CALL_METHOD(ci);
1444
-
1445
- #line 1446 "vm.inc"
1446
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1447
- PUSH(val);
1448
- #undef CURRENT_INSN_opt_send_simple
1449
- #undef INSN_IS_SC
1450
- #undef INSN_LABEL
1451
- #undef LABEL_IS_SC
1452
- END_INSN(opt_send_simple);}}}
1453
- INSN_ENTRY(invokesuper){
1454
- {
1455
- VALUE val;
1456
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1457
-
1458
- DEBUG_ENTER_INSN("invokesuper");
1459
- ADD_PC(1+1);
1460
- PREFETCH(GET_PC());
1461
- #define CURRENT_INSN_invokesuper 1
1462
- #define INSN_IS_SC() 0
1463
- #define INSN_LABEL(lab) LABEL_invokesuper_##lab
1464
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1465
- COLLECT_USAGE_INSN(BIN(invokesuper));
1466
- COLLECT_USAGE_OPERAND(BIN(invokesuper), 0, ci);
1467
- {
1468
- #line 1031 "insns.def"
1469
- ci->argc = ci->orig_argc;
1470
- ci->blockptr = !(ci->flag & VM_CALL_ARGS_BLOCKARG) ? GET_BLOCK_PTR() : 0;
1471
-
1472
- if (UNLIKELY(!(ci->flag & VM_CALL_ARGS_SKIP_SETUP))) {
1473
- vm_caller_setup_args(th, reg_cfp, ci);
1474
- }
1475
- ci->recv = GET_SELF();
1476
- vm_search_super_method(th, GET_CFP(), ci);
1477
- CALL_METHOD(ci);
1478
-
1479
- #line 1480 "vm.inc"
1480
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1481
- PUSH(val);
1482
- #undef CURRENT_INSN_invokesuper
1483
- #undef INSN_IS_SC
1484
- #undef INSN_LABEL
1485
- #undef LABEL_IS_SC
1486
- END_INSN(invokesuper);}}}
1487
- INSN_ENTRY(invokeblock){
1488
- {
1489
- VALUE val;
1490
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1491
-
1492
- DEBUG_ENTER_INSN("invokeblock");
1493
- ADD_PC(1+1);
1494
- PREFETCH(GET_PC());
1495
- #define CURRENT_INSN_invokeblock 1
1496
- #define INSN_IS_SC() 0
1497
- #define INSN_LABEL(lab) LABEL_invokeblock_##lab
1498
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1499
- COLLECT_USAGE_INSN(BIN(invokeblock));
1500
- COLLECT_USAGE_OPERAND(BIN(invokeblock), 0, ci);
1501
- {
1502
- #line 1053 "insns.def"
1503
- ci->argc = ci->orig_argc;
1504
- ci->blockptr = 0;
1505
- ci->recv = GET_SELF();
1506
- val = vm_invoke_block(th, GET_CFP(), ci);
1507
- if (val == Qundef) {
1508
- RESTORE_REGS();
1509
- NEXT_INSN();
1510
- }
1511
-
1512
- #line 1513 "vm.inc"
1513
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1514
- PUSH(val);
1515
- #undef CURRENT_INSN_invokeblock
1516
- #undef INSN_IS_SC
1517
- #undef INSN_LABEL
1518
- #undef LABEL_IS_SC
1519
- END_INSN(invokeblock);}}}
1520
- INSN_ENTRY(leave){
1521
- {
1522
-
1523
- VALUE val = TOPN(0);
1524
- DEBUG_ENTER_INSN("leave");
1525
- ADD_PC(1+0);
1526
- PREFETCH(GET_PC());
1527
- POPN(1);
1528
- #define CURRENT_INSN_leave 1
1529
- #define INSN_IS_SC() 0
1530
- #define INSN_LABEL(lab) LABEL_leave_##lab
1531
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1532
- COLLECT_USAGE_INSN(BIN(leave));
1533
- {
1534
- #line 1074 "insns.def"
1535
- if (OPT_CHECKED_RUN) {
1536
- if (reg_cfp->sp != vm_base_ptr(reg_cfp)) {
1537
- rb_bug("Stack consistency error (sp: %"PRIdPTRDIFF", bp: %"PRIdPTRDIFF")",
1538
- VM_SP_CNT(th, reg_cfp->sp), VM_SP_CNT(th, vm_base_ptr(reg_cfp)));
1539
- }
1540
- }
1541
-
1542
- RUBY_VM_CHECK_INTS(th);
1543
-
1544
- if (UNLIKELY(VM_FRAME_TYPE_FINISH_P(GET_CFP()))) {
1545
- vm_pop_frame(th);
1546
-
1547
- #if OPT_CALL_THREADED_CODE
1548
- th->retval = val;
1549
- return 0;
1550
- #else
1551
- return val;
1552
- #endif
1553
- }
1554
- else {
1555
- vm_pop_frame(th);
1556
- RESTORE_REGS();
1557
- }
1558
-
1559
- #line 1560 "vm.inc"
1560
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1561
- PUSH(val);
1562
- #undef CURRENT_INSN_leave
1563
- #undef INSN_IS_SC
1564
- #undef INSN_LABEL
1565
- #undef LABEL_IS_SC
1566
- END_INSN(leave);}}}
1567
- INSN_ENTRY(throw){
1568
- {
1569
- VALUE val;
1570
- rb_num_t throw_state = (rb_num_t)GET_OPERAND(1);
1571
- VALUE throwobj = TOPN(0);
1572
- DEBUG_ENTER_INSN("throw");
1573
- ADD_PC(1+1);
1574
- PREFETCH(GET_PC());
1575
- POPN(1);
1576
- #define CURRENT_INSN_throw 1
1577
- #define INSN_IS_SC() 0
1578
- #define INSN_LABEL(lab) LABEL_throw_##lab
1579
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1580
- COLLECT_USAGE_INSN(BIN(throw));
1581
- COLLECT_USAGE_OPERAND(BIN(throw), 0, throw_state);
1582
- {
1583
- #line 1114 "insns.def"
1584
- RUBY_VM_CHECK_INTS(th);
1585
- val = vm_throw(th, GET_CFP(), throw_state, throwobj);
1586
- THROW_EXCEPTION(val);
1587
- /* unreachable */
1588
-
1589
- #line 1590 "vm.inc"
1590
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1591
- PUSH(val);
1592
- #undef CURRENT_INSN_throw
1593
- #undef INSN_IS_SC
1594
- #undef INSN_LABEL
1595
- #undef LABEL_IS_SC
1596
- END_INSN(throw);}}}
1597
- INSN_ENTRY(jump){
1598
- {
1599
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1600
-
1601
- DEBUG_ENTER_INSN("jump");
1602
- ADD_PC(1+1);
1603
- PREFETCH(GET_PC());
1604
- #define CURRENT_INSN_jump 1
1605
- #define INSN_IS_SC() 0
1606
- #define INSN_LABEL(lab) LABEL_jump_##lab
1607
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1608
- COLLECT_USAGE_INSN(BIN(jump));
1609
- COLLECT_USAGE_OPERAND(BIN(jump), 0, dst);
1610
- {
1611
- #line 1135 "insns.def"
1612
- RUBY_VM_CHECK_INTS(th);
1613
- JUMP(dst);
1614
-
1615
- #line 1616 "vm.inc"
1616
- #undef CURRENT_INSN_jump
1617
- #undef INSN_IS_SC
1618
- #undef INSN_LABEL
1619
- #undef LABEL_IS_SC
1620
- END_INSN(jump);}}}
1621
- INSN_ENTRY(branchif){
1622
- {
1623
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1624
- VALUE val = TOPN(0);
1625
- DEBUG_ENTER_INSN("branchif");
1626
- ADD_PC(1+1);
1627
- PREFETCH(GET_PC());
1628
- POPN(1);
1629
- #define CURRENT_INSN_branchif 1
1630
- #define INSN_IS_SC() 0
1631
- #define INSN_LABEL(lab) LABEL_branchif_##lab
1632
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1633
- COLLECT_USAGE_INSN(BIN(branchif));
1634
- COLLECT_USAGE_OPERAND(BIN(branchif), 0, dst);
1635
- {
1636
- #line 1150 "insns.def"
1637
- if (RTEST(val)) {
1638
- RUBY_VM_CHECK_INTS(th);
1639
- JUMP(dst);
1640
- }
1641
-
1642
- #line 1643 "vm.inc"
1643
- #undef CURRENT_INSN_branchif
1644
- #undef INSN_IS_SC
1645
- #undef INSN_LABEL
1646
- #undef LABEL_IS_SC
1647
- END_INSN(branchif);}}}
1648
- INSN_ENTRY(branchunless){
1649
- {
1650
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1651
- VALUE val = TOPN(0);
1652
- DEBUG_ENTER_INSN("branchunless");
1653
- ADD_PC(1+1);
1654
- PREFETCH(GET_PC());
1655
- POPN(1);
1656
- #define CURRENT_INSN_branchunless 1
1657
- #define INSN_IS_SC() 0
1658
- #define INSN_LABEL(lab) LABEL_branchunless_##lab
1659
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1660
- COLLECT_USAGE_INSN(BIN(branchunless));
1661
- COLLECT_USAGE_OPERAND(BIN(branchunless), 0, dst);
1662
- {
1663
- #line 1167 "insns.def"
1664
- if (!RTEST(val)) {
1665
- RUBY_VM_CHECK_INTS(th);
1666
- JUMP(dst);
1667
- }
1668
-
1669
- #line 1670 "vm.inc"
1670
- #undef CURRENT_INSN_branchunless
1671
- #undef INSN_IS_SC
1672
- #undef INSN_LABEL
1673
- #undef LABEL_IS_SC
1674
- END_INSN(branchunless);}}}
1675
- INSN_ENTRY(getinlinecache){
1676
- {
1677
- VALUE val;
1678
- IC ic = (IC)GET_OPERAND(2);
1679
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1680
-
1681
- DEBUG_ENTER_INSN("getinlinecache");
1682
- ADD_PC(1+2);
1683
- PREFETCH(GET_PC());
1684
- #define CURRENT_INSN_getinlinecache 1
1685
- #define INSN_IS_SC() 0
1686
- #define INSN_LABEL(lab) LABEL_getinlinecache_##lab
1687
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1688
- COLLECT_USAGE_INSN(BIN(getinlinecache));
1689
- COLLECT_USAGE_OPERAND(BIN(getinlinecache), 0, dst);
1690
- COLLECT_USAGE_OPERAND(BIN(getinlinecache), 1, ic);
1691
- {
1692
- #line 1189 "insns.def"
1693
- if (ic->ic_vmstat == GET_VM_STATE_VERSION()) {
1694
- val = ic->ic_value.value;
1695
- JUMP(dst);
1696
- }
1697
- else {
1698
- /* none */
1699
- val = Qnil;
1700
- }
1701
-
1702
- #line 1703 "vm.inc"
1703
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1704
- PUSH(val);
1705
- #undef CURRENT_INSN_getinlinecache
1706
- #undef INSN_IS_SC
1707
- #undef INSN_LABEL
1708
- #undef LABEL_IS_SC
1709
- END_INSN(getinlinecache);}}}
1710
- INSN_ENTRY(onceinlinecache){
1711
- {
1712
- VALUE val;
1713
- IC ic = (IC)GET_OPERAND(2);
1714
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1715
-
1716
- DEBUG_ENTER_INSN("onceinlinecache");
1717
- ADD_PC(1+2);
1718
- PREFETCH(GET_PC());
1719
- #define CURRENT_INSN_onceinlinecache 1
1720
- #define INSN_IS_SC() 0
1721
- #define INSN_LABEL(lab) LABEL_onceinlinecache_##lab
1722
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1723
- COLLECT_USAGE_INSN(BIN(onceinlinecache));
1724
- COLLECT_USAGE_OPERAND(BIN(onceinlinecache), 0, dst);
1725
- COLLECT_USAGE_OPERAND(BIN(onceinlinecache), 1, ic);
1726
- {
1727
- #line 1210 "insns.def"
1728
- retry:
1729
- if (ic->ic_vmstat) {
1730
- val = ic->ic_value.value;
1731
- JUMP(dst);
1732
- }
1733
- else if (ic->ic_value.value == Qundef)
1734
- {
1735
- RUBY_VM_CHECK_INTS(th);
1736
- rb_thread_schedule();
1737
- goto retry;
1738
- }
1739
- else {
1740
- /* none */
1741
- ic->ic_value.value = Qundef;
1742
- val = Qnil;
1743
- }
1744
-
1745
- #line 1746 "vm.inc"
1746
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1747
- PUSH(val);
1748
- #undef CURRENT_INSN_onceinlinecache
1749
- #undef INSN_IS_SC
1750
- #undef INSN_LABEL
1751
- #undef LABEL_IS_SC
1752
- END_INSN(onceinlinecache);}}}
1753
- INSN_ENTRY(setinlinecache){
1754
- {
1755
- IC ic = (IC)GET_OPERAND(1);
1756
- VALUE val = TOPN(0);
1757
- DEBUG_ENTER_INSN("setinlinecache");
1758
- ADD_PC(1+1);
1759
- PREFETCH(GET_PC());
1760
- POPN(1);
1761
- #define CURRENT_INSN_setinlinecache 1
1762
- #define INSN_IS_SC() 0
1763
- #define INSN_LABEL(lab) LABEL_setinlinecache_##lab
1764
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1765
- COLLECT_USAGE_INSN(BIN(setinlinecache));
1766
- COLLECT_USAGE_OPERAND(BIN(setinlinecache), 0, ic);
1767
- {
1768
- #line 1239 "insns.def"
1769
- if (ic->ic_value.value == Qundef) {
1770
- rb_iseq_add_mark_object(GET_ISEQ(), val);
1771
- }
1772
- ic->ic_value.value = val;
1773
- ic->ic_vmstat = GET_VM_STATE_VERSION() - ruby_vm_const_missing_count;
1774
- ruby_vm_const_missing_count = 0;
1775
-
1776
- #line 1777 "vm.inc"
1777
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1778
- PUSH(val);
1779
- #undef CURRENT_INSN_setinlinecache
1780
- #undef INSN_IS_SC
1781
- #undef INSN_LABEL
1782
- #undef LABEL_IS_SC
1783
- END_INSN(setinlinecache);}}}
1784
- INSN_ENTRY(opt_case_dispatch){
1785
- {
1786
- OFFSET else_offset = (OFFSET)GET_OPERAND(2);
1787
- CDHASH hash = (CDHASH)GET_OPERAND(1);
1788
- VALUE key = TOPN(0);
1789
- DEBUG_ENTER_INSN("opt_case_dispatch");
1790
- ADD_PC(1+2);
1791
- PREFETCH(GET_PC());
1792
- POPN(1);
1793
- #define CURRENT_INSN_opt_case_dispatch 1
1794
- #define INSN_IS_SC() 0
1795
- #define INSN_LABEL(lab) LABEL_opt_case_dispatch_##lab
1796
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1797
- COLLECT_USAGE_INSN(BIN(opt_case_dispatch));
1798
- COLLECT_USAGE_OPERAND(BIN(opt_case_dispatch), 0, hash);
1799
- COLLECT_USAGE_OPERAND(BIN(opt_case_dispatch), 1, else_offset);
1800
- {
1801
- #line 1258 "insns.def"
1802
- switch(TYPE(key)) {
1803
- case T_FLOAT: {
1804
- double ival;
1805
- if (modf(RFLOAT_VALUE(key), &ival) == 0.0) {
1806
- key = FIXABLE(ival) ? LONG2FIX((long)ival) : rb_dbl2big(ival);
1807
- }
1808
- }
1809
- case T_SYMBOL: /* fall through */
1810
- case T_FIXNUM:
1811
- case T_BIGNUM:
1812
- case T_STRING:
1813
- if (BASIC_OP_UNREDEFINED_P(BOP_EQQ,
1814
- SYMBOL_REDEFINED_OP_FLAG |
1815
- FIXNUM_REDEFINED_OP_FLAG |
1816
- BIGNUM_REDEFINED_OP_FLAG |
1817
- STRING_REDEFINED_OP_FLAG)) {
1818
- st_data_t val;
1819
- if (st_lookup(RHASH_TBL(hash), key, &val)) {
1820
- JUMP(FIX2INT((VALUE)val));
1821
- }
1822
- else {
1823
- JUMP(else_offset);
1824
- }
1825
- break;
1826
- }
1827
- default:
1828
- break;
1829
- }
1830
-
1831
- #line 1832 "vm.inc"
1832
- #undef CURRENT_INSN_opt_case_dispatch
1833
- #undef INSN_IS_SC
1834
- #undef INSN_LABEL
1835
- #undef LABEL_IS_SC
1836
- END_INSN(opt_case_dispatch);}}}
1837
- INSN_ENTRY(opt_plus){
1838
- {
1839
- VALUE val;
1840
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1841
- VALUE recv = TOPN(1);
1842
- VALUE obj = TOPN(0);
1843
- DEBUG_ENTER_INSN("opt_plus");
1844
- ADD_PC(1+1);
1845
- PREFETCH(GET_PC());
1846
- POPN(2);
1847
- #define CURRENT_INSN_opt_plus 1
1848
- #define INSN_IS_SC() 0
1849
- #define INSN_LABEL(lab) LABEL_opt_plus_##lab
1850
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1851
- COLLECT_USAGE_INSN(BIN(opt_plus));
1852
- COLLECT_USAGE_OPERAND(BIN(opt_plus), 0, ci);
1853
- {
1854
- #line 1301 "insns.def"
1855
- if (FIXNUM_2_P(recv, obj) &&
1856
- BASIC_OP_UNREDEFINED_P(BOP_PLUS,FIXNUM_REDEFINED_OP_FLAG)) {
1857
- /* fixnum + fixnum */
1858
- #ifndef LONG_LONG_VALUE
1859
- val = (recv + (obj & (~1)));
1860
- if ((~(recv ^ obj) & (recv ^ val)) &
1861
- ((VALUE)0x01 << ((sizeof(VALUE) * CHAR_BIT) - 1))) {
1862
- val = rb_big_plus(rb_int2big(FIX2LONG(recv)),
1863
- rb_int2big(FIX2LONG(obj)));
1864
- }
1865
- #else
1866
- long a, b, c;
1867
- a = FIX2LONG(recv);
1868
- b = FIX2LONG(obj);
1869
- c = a + b;
1870
- if (FIXABLE(c)) {
1871
- val = LONG2FIX(c);
1872
- }
1873
- else {
1874
- val = rb_big_plus(rb_int2big(a), rb_int2big(b));
1875
- }
1876
- #endif
1877
- }
1878
- else if (FLONUM_2_P(recv, obj) &&
1879
- BASIC_OP_UNREDEFINED_P(BOP_PLUS, FLOAT_REDEFINED_OP_FLAG)) {
1880
- val = DBL2NUM(RFLOAT_VALUE(recv) + RFLOAT_VALUE(obj));
1881
- }
1882
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
1883
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
1884
- BASIC_OP_UNREDEFINED_P(BOP_PLUS, FLOAT_REDEFINED_OP_FLAG)) {
1885
- val = DBL2NUM(RFLOAT_VALUE(recv) + RFLOAT_VALUE(obj));
1886
- }
1887
- else if (HEAP_CLASS_OF(recv) == rb_cString && HEAP_CLASS_OF(obj) == rb_cString &&
1888
- BASIC_OP_UNREDEFINED_P(BOP_PLUS, STRING_REDEFINED_OP_FLAG)) {
1889
- val = rb_str_plus(recv, obj);
1890
- }
1891
- else if (HEAP_CLASS_OF(recv) == rb_cArray &&
1892
- BASIC_OP_UNREDEFINED_P(BOP_PLUS, ARRAY_REDEFINED_OP_FLAG)) {
1893
- val = rb_ary_plus(recv, obj);
1894
- }
1895
- else {
1896
- goto INSN_LABEL(normal_dispatch);
1897
- }
1898
- }
1899
- else {
1900
- INSN_LABEL(normal_dispatch):
1901
- PUSH(recv);
1902
- PUSH(obj);
1903
- CALL_SIMPLE_METHOD(recv);
1904
- }
1905
-
1906
- #line 1907 "vm.inc"
1907
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1908
- PUSH(val);
1909
- #undef CURRENT_INSN_opt_plus
1910
- #undef INSN_IS_SC
1911
- #undef INSN_LABEL
1912
- #undef LABEL_IS_SC
1913
- END_INSN(opt_plus);}}}
1914
- INSN_ENTRY(opt_minus){
1915
- {
1916
- VALUE val;
1917
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1918
- VALUE recv = TOPN(1);
1919
- VALUE obj = TOPN(0);
1920
- DEBUG_ENTER_INSN("opt_minus");
1921
- ADD_PC(1+1);
1922
- PREFETCH(GET_PC());
1923
- POPN(2);
1924
- #define CURRENT_INSN_opt_minus 1
1925
- #define INSN_IS_SC() 0
1926
- #define INSN_LABEL(lab) LABEL_opt_minus_##lab
1927
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1928
- COLLECT_USAGE_INSN(BIN(opt_minus));
1929
- COLLECT_USAGE_OPERAND(BIN(opt_minus), 0, ci);
1930
- {
1931
- #line 1364 "insns.def"
1932
- if (FIXNUM_2_P(recv, obj) &&
1933
- BASIC_OP_UNREDEFINED_P(BOP_MINUS, FIXNUM_REDEFINED_OP_FLAG)) {
1934
- long a, b, c;
1935
-
1936
- a = FIX2LONG(recv);
1937
- b = FIX2LONG(obj);
1938
- c = a - b;
1939
-
1940
- if (FIXABLE(c)) {
1941
- val = LONG2FIX(c);
1942
- }
1943
- else {
1944
- val = rb_big_minus(rb_int2big(a), rb_int2big(b));
1945
- }
1946
- }
1947
- else if (FLONUM_2_P(recv, obj) &&
1948
- BASIC_OP_UNREDEFINED_P(BOP_MINUS, FLOAT_REDEFINED_OP_FLAG)) {
1949
- val = DBL2NUM(RFLOAT_VALUE(recv) - RFLOAT_VALUE(obj));
1950
- }
1951
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
1952
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
1953
- BASIC_OP_UNREDEFINED_P(BOP_MINUS, FLOAT_REDEFINED_OP_FLAG)) {
1954
- val = DBL2NUM(RFLOAT_VALUE(recv) - RFLOAT_VALUE(obj));
1955
- }
1956
- else {
1957
- goto INSN_LABEL(normal_dispatch);
1958
- }
1959
- }
1960
- else {
1961
- /* other */
1962
- INSN_LABEL(normal_dispatch):
1963
- PUSH(recv);
1964
- PUSH(obj);
1965
- CALL_SIMPLE_METHOD(recv);
1966
- }
1967
-
1968
- #line 1969 "vm.inc"
1969
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
1970
- PUSH(val);
1971
- #undef CURRENT_INSN_opt_minus
1972
- #undef INSN_IS_SC
1973
- #undef INSN_LABEL
1974
- #undef LABEL_IS_SC
1975
- END_INSN(opt_minus);}}}
1976
- INSN_ENTRY(opt_mult){
1977
- {
1978
- VALUE val;
1979
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1980
- VALUE recv = TOPN(1);
1981
- VALUE obj = TOPN(0);
1982
- DEBUG_ENTER_INSN("opt_mult");
1983
- ADD_PC(1+1);
1984
- PREFETCH(GET_PC());
1985
- POPN(2);
1986
- #define CURRENT_INSN_opt_mult 1
1987
- #define INSN_IS_SC() 0
1988
- #define INSN_LABEL(lab) LABEL_opt_mult_##lab
1989
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1990
- COLLECT_USAGE_INSN(BIN(opt_mult));
1991
- COLLECT_USAGE_OPERAND(BIN(opt_mult), 0, ci);
1992
- {
1993
- #line 1412 "insns.def"
1994
- if (FIXNUM_2_P(recv, obj) &&
1995
- BASIC_OP_UNREDEFINED_P(BOP_MULT, FIXNUM_REDEFINED_OP_FLAG)) {
1996
- long a, b;
1997
-
1998
- a = FIX2LONG(recv);
1999
- if (a == 0) {
2000
- val = recv;
2001
- }
2002
- else {
2003
- b = FIX2LONG(obj);
2004
- if (MUL_OVERFLOW_FIXNUM_P(a, b)) {
2005
- val = rb_big_mul(rb_int2big(a), rb_int2big(b));
2006
- }
2007
- else {
2008
- val = LONG2FIX(a * b);
2009
- }
2010
- }
2011
- }
2012
- else if (FLONUM_2_P(recv, obj) &&
2013
- BASIC_OP_UNREDEFINED_P(BOP_MULT, FLOAT_REDEFINED_OP_FLAG)) {
2014
- val = DBL2NUM(RFLOAT_VALUE(recv) * RFLOAT_VALUE(obj));
2015
- }
2016
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
2017
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
2018
- BASIC_OP_UNREDEFINED_P(BOP_MULT, FLOAT_REDEFINED_OP_FLAG)) {
2019
- val = DBL2NUM(RFLOAT_VALUE(recv) * RFLOAT_VALUE(obj));
2020
- }
2021
- else {
2022
- goto INSN_LABEL(normal_dispatch);
2023
- }
2024
- }
2025
- else {
2026
- INSN_LABEL(normal_dispatch):
2027
- PUSH(recv);
2028
- PUSH(obj);
2029
- CALL_SIMPLE_METHOD(recv);
2030
- }
2031
-
2032
- #line 2033 "vm.inc"
2033
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2034
- PUSH(val);
2035
- #undef CURRENT_INSN_opt_mult
2036
- #undef INSN_IS_SC
2037
- #undef INSN_LABEL
2038
- #undef LABEL_IS_SC
2039
- END_INSN(opt_mult);}}}
2040
- INSN_ENTRY(opt_div){
2041
- {
2042
- VALUE val;
2043
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2044
- VALUE recv = TOPN(1);
2045
- VALUE obj = TOPN(0);
2046
- DEBUG_ENTER_INSN("opt_div");
2047
- ADD_PC(1+1);
2048
- PREFETCH(GET_PC());
2049
- POPN(2);
2050
- #define CURRENT_INSN_opt_div 1
2051
- #define INSN_IS_SC() 0
2052
- #define INSN_LABEL(lab) LABEL_opt_div_##lab
2053
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2054
- COLLECT_USAGE_INSN(BIN(opt_div));
2055
- COLLECT_USAGE_OPERAND(BIN(opt_div), 0, ci);
2056
- {
2057
- #line 1462 "insns.def"
2058
- if (FIXNUM_2_P(recv, obj) &&
2059
- BASIC_OP_UNREDEFINED_P(BOP_DIV, FIXNUM_REDEFINED_OP_FLAG)) {
2060
- long x, y, div;
2061
-
2062
- x = FIX2LONG(recv);
2063
- y = FIX2LONG(obj);
2064
- {
2065
- /* copied from numeric.c#fixdivmod */
2066
- long mod;
2067
- if (y == 0)
2068
- goto INSN_LABEL(normal_dispatch);
2069
- if (y < 0) {
2070
- if (x < 0)
2071
- div = -x / -y;
2072
- else
2073
- div = -(x / -y);
2074
- }
2075
- else {
2076
- if (x < 0)
2077
- div = -(-x / y);
2078
- else
2079
- div = x / y;
2080
- }
2081
- mod = x - div * y;
2082
- if ((mod < 0 && y > 0) || (mod > 0 && y < 0)) {
2083
- mod += y;
2084
- div -= 1;
2085
- }
2086
- }
2087
- val = LONG2NUM(div);
2088
- }
2089
- else if (FLONUM_2_P(recv, obj) &&
2090
- BASIC_OP_UNREDEFINED_P(BOP_MULT, FLOAT_REDEFINED_OP_FLAG)) {
2091
- val = DBL2NUM(RFLOAT_VALUE(recv) / RFLOAT_VALUE(obj));
2092
- }
2093
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
2094
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
2095
- BASIC_OP_UNREDEFINED_P(BOP_DIV, FLOAT_REDEFINED_OP_FLAG)) {
2096
- val = DBL2NUM(RFLOAT_VALUE(recv) / RFLOAT_VALUE(obj));
2097
- }
2098
- else {
2099
- goto INSN_LABEL(normal_dispatch);
2100
- }
2101
- }
2102
- else {
2103
- INSN_LABEL(normal_dispatch):
2104
- PUSH(recv);
2105
- PUSH(obj);
2106
- CALL_SIMPLE_METHOD(recv);
2107
- }
2108
-
2109
- #line 2110 "vm.inc"
2110
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2111
- PUSH(val);
2112
- #undef CURRENT_INSN_opt_div
2113
- #undef INSN_IS_SC
2114
- #undef INSN_LABEL
2115
- #undef LABEL_IS_SC
2116
- END_INSN(opt_div);}}}
2117
- INSN_ENTRY(opt_mod){
2118
- {
2119
- VALUE val;
2120
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2121
- VALUE recv = TOPN(1);
2122
- VALUE obj = TOPN(0);
2123
- DEBUG_ENTER_INSN("opt_mod");
2124
- ADD_PC(1+1);
2125
- PREFETCH(GET_PC());
2126
- POPN(2);
2127
- #define CURRENT_INSN_opt_mod 1
2128
- #define INSN_IS_SC() 0
2129
- #define INSN_LABEL(lab) LABEL_opt_mod_##lab
2130
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2131
- COLLECT_USAGE_INSN(BIN(opt_mod));
2132
- COLLECT_USAGE_OPERAND(BIN(opt_mod), 0, ci);
2133
- {
2134
- #line 1525 "insns.def"
2135
- if (FIXNUM_2_P(recv, obj) &&
2136
- BASIC_OP_UNREDEFINED_P(BOP_MOD, FIXNUM_REDEFINED_OP_FLAG )) {
2137
- long x, y, mod;
2138
-
2139
- x = FIX2LONG(recv);
2140
- y = FIX2LONG(obj);
2141
- {
2142
- /* copied from numeric.c#fixdivmod */
2143
- long div;
2144
-
2145
- if (y == 0)
2146
- rb_num_zerodiv();
2147
- if (y < 0) {
2148
- if (x < 0)
2149
- div = -x / -y;
2150
- else
2151
- div = -(x / -y);
2152
- }
2153
- else {
2154
- if (x < 0)
2155
- div = -(-x / y);
2156
- else
2157
- div = x / y;
2158
- }
2159
- mod = x - div * y;
2160
- if ((mod < 0 && y > 0) || (mod > 0 && y < 0)) {
2161
- mod += y;
2162
- div -= 1;
2163
- }
2164
- }
2165
- val = LONG2FIX(mod);
2166
- }
2167
- else if (FLONUM_2_P(recv, obj) &&
2168
- BASIC_OP_UNREDEFINED_P(BOP_MOD, FLOAT_REDEFINED_OP_FLAG)) {
2169
- val = DBL2NUM(ruby_float_mod(RFLOAT_VALUE(recv), RFLOAT_VALUE(obj)));
2170
- }
2171
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
2172
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
2173
- BASIC_OP_UNREDEFINED_P(BOP_MOD, FLOAT_REDEFINED_OP_FLAG)) {
2174
- val = DBL2NUM(ruby_float_mod(RFLOAT_VALUE(recv), RFLOAT_VALUE(obj)));
2175
- }
2176
- else {
2177
- goto INSN_LABEL(normal_dispatch);
2178
- }
2179
- }
2180
- else {
2181
- INSN_LABEL(normal_dispatch):
2182
- PUSH(recv);
2183
- PUSH(obj);
2184
- CALL_SIMPLE_METHOD(recv);
2185
- }
2186
-
2187
- #line 2188 "vm.inc"
2188
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2189
- PUSH(val);
2190
- #undef CURRENT_INSN_opt_mod
2191
- #undef INSN_IS_SC
2192
- #undef INSN_LABEL
2193
- #undef LABEL_IS_SC
2194
- END_INSN(opt_mod);}}}
2195
- INSN_ENTRY(opt_eq){
2196
- {
2197
- VALUE val;
2198
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2199
- VALUE recv = TOPN(1);
2200
- VALUE obj = TOPN(0);
2201
- DEBUG_ENTER_INSN("opt_eq");
2202
- ADD_PC(1+1);
2203
- PREFETCH(GET_PC());
2204
- POPN(2);
2205
- #define CURRENT_INSN_opt_eq 1
2206
- #define INSN_IS_SC() 0
2207
- #define INSN_LABEL(lab) LABEL_opt_eq_##lab
2208
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2209
- COLLECT_USAGE_INSN(BIN(opt_eq));
2210
- COLLECT_USAGE_OPERAND(BIN(opt_eq), 0, ci);
2211
- {
2212
- #line 1589 "insns.def"
2213
- val = opt_eq_func(recv, obj, ci);
2214
-
2215
- if (val == Qundef) {
2216
- /* other */
2217
- PUSH(recv);
2218
- PUSH(obj);
2219
- CALL_SIMPLE_METHOD(recv);
2220
- }
2221
-
2222
- #line 2223 "vm.inc"
2223
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2224
- PUSH(val);
2225
- #undef CURRENT_INSN_opt_eq
2226
- #undef INSN_IS_SC
2227
- #undef INSN_LABEL
2228
- #undef LABEL_IS_SC
2229
- END_INSN(opt_eq);}}}
2230
- INSN_ENTRY(opt_neq){
2231
- {
2232
- VALUE val;
2233
- CALL_INFO ci_eq = (CALL_INFO)GET_OPERAND(2);
2234
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2235
- VALUE recv = TOPN(1);
2236
- VALUE obj = TOPN(0);
2237
- DEBUG_ENTER_INSN("opt_neq");
2238
- ADD_PC(1+2);
2239
- PREFETCH(GET_PC());
2240
- POPN(2);
2241
- #define CURRENT_INSN_opt_neq 1
2242
- #define INSN_IS_SC() 0
2243
- #define INSN_LABEL(lab) LABEL_opt_neq_##lab
2244
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2245
- COLLECT_USAGE_INSN(BIN(opt_neq));
2246
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 0, ci);
2247
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 1, ci_eq);
2248
- {
2249
- #line 1610 "insns.def"
2250
- extern VALUE rb_obj_not_equal(VALUE obj1, VALUE obj2);
2251
- vm_search_method(ci, recv);
2252
- val = Qundef;
2253
-
2254
- if (check_cfunc(ci->me, rb_obj_not_equal)) {
2255
- val = opt_eq_func(recv, obj, ci_eq);
2256
-
2257
- if (val != Qundef) {
2258
- val = RTEST(val) ? Qfalse : Qtrue;
2259
- }
2260
- }
2261
-
2262
- if (val == Qundef) {
2263
- /* other */
2264
- PUSH(recv);
2265
- PUSH(obj);
2266
- CALL_SIMPLE_METHOD(recv);
2267
- }
2268
-
2269
- #line 2270 "vm.inc"
2270
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2271
- PUSH(val);
2272
- #undef CURRENT_INSN_opt_neq
2273
- #undef INSN_IS_SC
2274
- #undef INSN_LABEL
2275
- #undef LABEL_IS_SC
2276
- END_INSN(opt_neq);}}}
2277
- INSN_ENTRY(opt_lt){
2278
- {
2279
- VALUE val;
2280
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2281
- VALUE recv = TOPN(1);
2282
- VALUE obj = TOPN(0);
2283
- DEBUG_ENTER_INSN("opt_lt");
2284
- ADD_PC(1+1);
2285
- PREFETCH(GET_PC());
2286
- POPN(2);
2287
- #define CURRENT_INSN_opt_lt 1
2288
- #define INSN_IS_SC() 0
2289
- #define INSN_LABEL(lab) LABEL_opt_lt_##lab
2290
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2291
- COLLECT_USAGE_INSN(BIN(opt_lt));
2292
- COLLECT_USAGE_OPERAND(BIN(opt_lt), 0, ci);
2293
- {
2294
- #line 1641 "insns.def"
2295
- if (FIXNUM_2_P(recv, obj) &&
2296
- BASIC_OP_UNREDEFINED_P(BOP_LT, FIXNUM_REDEFINED_OP_FLAG)) {
2297
- SIGNED_VALUE a = recv, b = obj;
2298
-
2299
- if (a < b) {
2300
- val = Qtrue;
2301
- }
2302
- else {
2303
- val = Qfalse;
2304
- }
2305
- }
2306
- else if (FLONUM_2_P(recv, obj) &&
2307
- BASIC_OP_UNREDEFINED_P(BOP_LT, FLOAT_REDEFINED_OP_FLAG)) {
2308
- /* flonum is not NaN */
2309
- val = RFLOAT_VALUE(recv) < RFLOAT_VALUE(obj) ? Qtrue : Qfalse;
2310
- }
2311
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
2312
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
2313
- BASIC_OP_UNREDEFINED_P(BOP_LT, FLOAT_REDEFINED_OP_FLAG)) {
2314
- val = double_cmp_lt(RFLOAT_VALUE(recv), RFLOAT_VALUE(obj));
2315
- }
2316
- else {
2317
- goto INSN_LABEL(normal_dispatch);
2318
- }
2319
- }
2320
- else {
2321
- INSN_LABEL(normal_dispatch):
2322
- PUSH(recv);
2323
- PUSH(obj);
2324
- CALL_SIMPLE_METHOD(recv);
2325
- }
2326
-
2327
- #line 2328 "vm.inc"
2328
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2329
- PUSH(val);
2330
- #undef CURRENT_INSN_opt_lt
2331
- #undef INSN_IS_SC
2332
- #undef INSN_LABEL
2333
- #undef LABEL_IS_SC
2334
- END_INSN(opt_lt);}}}
2335
- INSN_ENTRY(opt_le){
2336
- {
2337
- VALUE val;
2338
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2339
- VALUE recv = TOPN(1);
2340
- VALUE obj = TOPN(0);
2341
- DEBUG_ENTER_INSN("opt_le");
2342
- ADD_PC(1+1);
2343
- PREFETCH(GET_PC());
2344
- POPN(2);
2345
- #define CURRENT_INSN_opt_le 1
2346
- #define INSN_IS_SC() 0
2347
- #define INSN_LABEL(lab) LABEL_opt_le_##lab
2348
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2349
- COLLECT_USAGE_INSN(BIN(opt_le));
2350
- COLLECT_USAGE_OPERAND(BIN(opt_le), 0, ci);
2351
- {
2352
- #line 1685 "insns.def"
2353
- if (FIXNUM_2_P(recv, obj) &&
2354
- BASIC_OP_UNREDEFINED_P(BOP_LE, FIXNUM_REDEFINED_OP_FLAG)) {
2355
- SIGNED_VALUE a = recv, b = obj;
2356
-
2357
- if (a <= b) {
2358
- val = Qtrue;
2359
- }
2360
- else {
2361
- val = Qfalse;
2362
- }
2363
- }
2364
- else if (FLONUM_2_P(recv, obj) &&
2365
- BASIC_OP_UNREDEFINED_P(BOP_LE, FLOAT_REDEFINED_OP_FLAG)) {
2366
- /* flonum is not NaN */
2367
- val = RFLOAT_VALUE(recv) <= RFLOAT_VALUE(obj) ? Qtrue : Qfalse;
2368
- }
2369
- else {
2370
- /* other */
2371
- PUSH(recv);
2372
- PUSH(obj);
2373
- CALL_SIMPLE_METHOD(recv);
2374
- }
2375
-
2376
- #line 2377 "vm.inc"
2377
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2378
- PUSH(val);
2379
- #undef CURRENT_INSN_opt_le
2380
- #undef INSN_IS_SC
2381
- #undef INSN_LABEL
2382
- #undef LABEL_IS_SC
2383
- END_INSN(opt_le);}}}
2384
- INSN_ENTRY(opt_gt){
2385
- {
2386
- VALUE val;
2387
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2388
- VALUE recv = TOPN(1);
2389
- VALUE obj = TOPN(0);
2390
- DEBUG_ENTER_INSN("opt_gt");
2391
- ADD_PC(1+1);
2392
- PREFETCH(GET_PC());
2393
- POPN(2);
2394
- #define CURRENT_INSN_opt_gt 1
2395
- #define INSN_IS_SC() 0
2396
- #define INSN_LABEL(lab) LABEL_opt_gt_##lab
2397
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2398
- COLLECT_USAGE_INSN(BIN(opt_gt));
2399
- COLLECT_USAGE_OPERAND(BIN(opt_gt), 0, ci);
2400
- {
2401
- #line 1720 "insns.def"
2402
- if (FIXNUM_2_P(recv, obj) &&
2403
- BASIC_OP_UNREDEFINED_P(BOP_GT, FIXNUM_REDEFINED_OP_FLAG)) {
2404
- SIGNED_VALUE a = recv, b = obj;
2405
-
2406
- if (a > b) {
2407
- val = Qtrue;
2408
- }
2409
- else {
2410
- val = Qfalse;
2411
- }
2412
- }
2413
- else if (FLONUM_2_P(recv, obj) &&
2414
- BASIC_OP_UNREDEFINED_P(BOP_GT, FLOAT_REDEFINED_OP_FLAG)) {
2415
- /* flonum is not NaN */
2416
- val = RFLOAT_VALUE(recv) > RFLOAT_VALUE(obj) ? Qtrue : Qfalse;
2417
- }
2418
- else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) {
2419
- if (HEAP_CLASS_OF(recv) == rb_cFloat && HEAP_CLASS_OF(obj) == rb_cFloat &&
2420
- BASIC_OP_UNREDEFINED_P(BOP_GT, FLOAT_REDEFINED_OP_FLAG)) {
2421
- val = double_cmp_gt(RFLOAT_VALUE(recv), RFLOAT_VALUE(obj));
2422
- }
2423
- else {
2424
- goto INSN_LABEL(normal_dispatch);
2425
- }
2426
- }
2427
- else {
2428
- INSN_LABEL(normal_dispatch):
2429
- PUSH(recv);
2430
- PUSH(obj);
2431
- CALL_SIMPLE_METHOD(recv);
2432
- }
2433
-
2434
- #line 2435 "vm.inc"
2435
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2436
- PUSH(val);
2437
- #undef CURRENT_INSN_opt_gt
2438
- #undef INSN_IS_SC
2439
- #undef INSN_LABEL
2440
- #undef LABEL_IS_SC
2441
- END_INSN(opt_gt);}}}
2442
- INSN_ENTRY(opt_ge){
2443
- {
2444
- VALUE val;
2445
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2446
- VALUE recv = TOPN(1);
2447
- VALUE obj = TOPN(0);
2448
- DEBUG_ENTER_INSN("opt_ge");
2449
- ADD_PC(1+1);
2450
- PREFETCH(GET_PC());
2451
- POPN(2);
2452
- #define CURRENT_INSN_opt_ge 1
2453
- #define INSN_IS_SC() 0
2454
- #define INSN_LABEL(lab) LABEL_opt_ge_##lab
2455
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2456
- COLLECT_USAGE_INSN(BIN(opt_ge));
2457
- COLLECT_USAGE_OPERAND(BIN(opt_ge), 0, ci);
2458
- {
2459
- #line 1764 "insns.def"
2460
- if (FIXNUM_2_P(recv, obj) &&
2461
- BASIC_OP_UNREDEFINED_P(BOP_GE, FIXNUM_REDEFINED_OP_FLAG)) {
2462
- SIGNED_VALUE a = recv, b = obj;
2463
-
2464
- if (a >= b) {
2465
- val = Qtrue;
2466
- }
2467
- else {
2468
- val = Qfalse;
2469
- }
2470
- }
2471
- else if (FLONUM_2_P(recv, obj) &&
2472
- BASIC_OP_UNREDEFINED_P(BOP_GE, FLOAT_REDEFINED_OP_FLAG)) {
2473
- /* flonum is not NaN */
2474
- val = RFLOAT_VALUE(recv) >= RFLOAT_VALUE(obj) ? Qtrue : Qfalse;
2475
- }
2476
- else {
2477
- PUSH(recv);
2478
- PUSH(obj);
2479
- CALL_SIMPLE_METHOD(recv);
2480
- }
2481
-
2482
- #line 2483 "vm.inc"
2483
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2484
- PUSH(val);
2485
- #undef CURRENT_INSN_opt_ge
2486
- #undef INSN_IS_SC
2487
- #undef INSN_LABEL
2488
- #undef LABEL_IS_SC
2489
- END_INSN(opt_ge);}}}
2490
- INSN_ENTRY(opt_ltlt){
2491
- {
2492
- VALUE val;
2493
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2494
- VALUE recv = TOPN(1);
2495
- VALUE obj = TOPN(0);
2496
- DEBUG_ENTER_INSN("opt_ltlt");
2497
- ADD_PC(1+1);
2498
- PREFETCH(GET_PC());
2499
- POPN(2);
2500
- #define CURRENT_INSN_opt_ltlt 1
2501
- #define INSN_IS_SC() 0
2502
- #define INSN_LABEL(lab) LABEL_opt_ltlt_##lab
2503
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2504
- COLLECT_USAGE_INSN(BIN(opt_ltlt));
2505
- COLLECT_USAGE_OPERAND(BIN(opt_ltlt), 0, ci);
2506
- {
2507
- #line 1798 "insns.def"
2508
- if (!SPECIAL_CONST_P(recv)) {
2509
- if (HEAP_CLASS_OF(recv) == rb_cString &&
2510
- BASIC_OP_UNREDEFINED_P(BOP_LTLT, STRING_REDEFINED_OP_FLAG)) {
2511
- val = rb_str_concat(recv, obj);
2512
- }
2513
- else if (HEAP_CLASS_OF(recv) == rb_cArray &&
2514
- BASIC_OP_UNREDEFINED_P(BOP_LTLT, ARRAY_REDEFINED_OP_FLAG)) {
2515
- val = rb_ary_push(recv, obj);
2516
- }
2517
- else {
2518
- goto INSN_LABEL(normal_dispatch);
2519
- }
2520
- }
2521
- else {
2522
- INSN_LABEL(normal_dispatch):
2523
- PUSH(recv);
2524
- PUSH(obj);
2525
- CALL_SIMPLE_METHOD(recv);
2526
- }
2527
-
2528
- #line 2529 "vm.inc"
2529
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2530
- PUSH(val);
2531
- #undef CURRENT_INSN_opt_ltlt
2532
- #undef INSN_IS_SC
2533
- #undef INSN_LABEL
2534
- #undef LABEL_IS_SC
2535
- END_INSN(opt_ltlt);}}}
2536
- INSN_ENTRY(opt_aref){
2537
- {
2538
- VALUE val;
2539
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2540
- VALUE recv = TOPN(1);
2541
- VALUE obj = TOPN(0);
2542
- DEBUG_ENTER_INSN("opt_aref");
2543
- ADD_PC(1+1);
2544
- PREFETCH(GET_PC());
2545
- POPN(2);
2546
- #define CURRENT_INSN_opt_aref 1
2547
- #define INSN_IS_SC() 0
2548
- #define INSN_LABEL(lab) LABEL_opt_aref_##lab
2549
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2550
- COLLECT_USAGE_INSN(BIN(opt_aref));
2551
- COLLECT_USAGE_OPERAND(BIN(opt_aref), 0, ci);
2552
- {
2553
- #line 1830 "insns.def"
2554
- if (!SPECIAL_CONST_P(recv)) {
2555
- if (HEAP_CLASS_OF(recv) == rb_cArray && BASIC_OP_UNREDEFINED_P(BOP_AREF, ARRAY_REDEFINED_OP_FLAG) && FIXNUM_P(obj)) {
2556
- val = rb_ary_entry(recv, FIX2LONG(obj));
2557
- }
2558
- else if (HEAP_CLASS_OF(recv) == rb_cHash && BASIC_OP_UNREDEFINED_P(BOP_AREF, HASH_REDEFINED_OP_FLAG)) {
2559
- val = rb_hash_aref(recv, obj);
2560
- }
2561
- else {
2562
- goto INSN_LABEL(normal_dispatch);
2563
- }
2564
- }
2565
- else {
2566
- INSN_LABEL(normal_dispatch):
2567
- PUSH(recv);
2568
- PUSH(obj);
2569
- CALL_SIMPLE_METHOD(recv);
2570
- }
2571
-
2572
- #line 2573 "vm.inc"
2573
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2574
- PUSH(val);
2575
- #undef CURRENT_INSN_opt_aref
2576
- #undef INSN_IS_SC
2577
- #undef INSN_LABEL
2578
- #undef LABEL_IS_SC
2579
- END_INSN(opt_aref);}}}
2580
- INSN_ENTRY(opt_aset){
2581
- {
2582
- VALUE val;
2583
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2584
- VALUE recv = TOPN(2);
2585
- VALUE obj = TOPN(1);
2586
- VALUE set = TOPN(0);
2587
- DEBUG_ENTER_INSN("opt_aset");
2588
- ADD_PC(1+1);
2589
- PREFETCH(GET_PC());
2590
- POPN(3);
2591
- #define CURRENT_INSN_opt_aset 1
2592
- #define INSN_IS_SC() 0
2593
- #define INSN_LABEL(lab) LABEL_opt_aset_##lab
2594
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2595
- COLLECT_USAGE_INSN(BIN(opt_aset));
2596
- COLLECT_USAGE_OPERAND(BIN(opt_aset), 0, ci);
2597
- {
2598
- #line 1860 "insns.def"
2599
- if (!SPECIAL_CONST_P(recv)) {
2600
- if (HEAP_CLASS_OF(recv) == rb_cArray && BASIC_OP_UNREDEFINED_P(BOP_ASET, ARRAY_REDEFINED_OP_FLAG) && FIXNUM_P(obj)) {
2601
- rb_ary_store(recv, FIX2LONG(obj), set);
2602
- val = set;
2603
- }
2604
- else if (HEAP_CLASS_OF(recv) == rb_cHash && BASIC_OP_UNREDEFINED_P(BOP_ASET, HASH_REDEFINED_OP_FLAG)) {
2605
- rb_hash_aset(recv, obj, set);
2606
- val = set;
2607
- }
2608
- else {
2609
- goto INSN_LABEL(normal_dispatch);
2610
- }
2611
- }
2612
- else {
2613
- INSN_LABEL(normal_dispatch):
2614
- PUSH(recv);
2615
- PUSH(obj);
2616
- PUSH(set);
2617
- CALL_SIMPLE_METHOD(recv);
2618
- }
2619
-
2620
- #line 2621 "vm.inc"
2621
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2622
- PUSH(val);
2623
- #undef CURRENT_INSN_opt_aset
2624
- #undef INSN_IS_SC
2625
- #undef INSN_LABEL
2626
- #undef LABEL_IS_SC
2627
- END_INSN(opt_aset);}}}
2628
- INSN_ENTRY(opt_length){
2629
- {
2630
- VALUE val;
2631
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2632
- VALUE recv = TOPN(0);
2633
- DEBUG_ENTER_INSN("opt_length");
2634
- ADD_PC(1+1);
2635
- PREFETCH(GET_PC());
2636
- POPN(1);
2637
- #define CURRENT_INSN_opt_length 1
2638
- #define INSN_IS_SC() 0
2639
- #define INSN_LABEL(lab) LABEL_opt_length_##lab
2640
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2641
- COLLECT_USAGE_INSN(BIN(opt_length));
2642
- COLLECT_USAGE_OPERAND(BIN(opt_length), 0, ci);
2643
- {
2644
- #line 1893 "insns.def"
2645
- if (!SPECIAL_CONST_P(recv)) {
2646
- if (HEAP_CLASS_OF(recv) == rb_cString &&
2647
- BASIC_OP_UNREDEFINED_P(BOP_LENGTH, STRING_REDEFINED_OP_FLAG)) {
2648
- val = rb_str_length(recv);
2649
- }
2650
- else if (HEAP_CLASS_OF(recv) == rb_cArray &&
2651
- BASIC_OP_UNREDEFINED_P(BOP_LENGTH, ARRAY_REDEFINED_OP_FLAG)) {
2652
- val = LONG2NUM(RARRAY_LEN(recv));
2653
- }
2654
- else if (HEAP_CLASS_OF(recv) == rb_cHash &&
2655
- BASIC_OP_UNREDEFINED_P(BOP_LENGTH, HASH_REDEFINED_OP_FLAG)) {
2656
- val = INT2FIX(RHASH_SIZE(recv));
2657
- }
2658
- else {
2659
- goto INSN_LABEL(normal_dispatch);
2660
- }
2661
- }
2662
- else {
2663
- INSN_LABEL(normal_dispatch):
2664
- PUSH(recv);
2665
- CALL_SIMPLE_METHOD(recv);
2666
- }
2667
-
2668
- #line 2669 "vm.inc"
2669
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2670
- PUSH(val);
2671
- #undef CURRENT_INSN_opt_length
2672
- #undef INSN_IS_SC
2673
- #undef INSN_LABEL
2674
- #undef LABEL_IS_SC
2675
- END_INSN(opt_length);}}}
2676
- INSN_ENTRY(opt_size){
2677
- {
2678
- VALUE val;
2679
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2680
- VALUE recv = TOPN(0);
2681
- DEBUG_ENTER_INSN("opt_size");
2682
- ADD_PC(1+1);
2683
- PREFETCH(GET_PC());
2684
- POPN(1);
2685
- #define CURRENT_INSN_opt_size 1
2686
- #define INSN_IS_SC() 0
2687
- #define INSN_LABEL(lab) LABEL_opt_size_##lab
2688
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2689
- COLLECT_USAGE_INSN(BIN(opt_size));
2690
- COLLECT_USAGE_OPERAND(BIN(opt_size), 0, ci);
2691
- {
2692
- #line 1928 "insns.def"
2693
- if (!SPECIAL_CONST_P(recv)) {
2694
- if (HEAP_CLASS_OF(recv) == rb_cString &&
2695
- BASIC_OP_UNREDEFINED_P(BOP_SIZE, STRING_REDEFINED_OP_FLAG)) {
2696
- val = rb_str_length(recv);
2697
- }
2698
- else if (HEAP_CLASS_OF(recv) == rb_cArray &&
2699
- BASIC_OP_UNREDEFINED_P(BOP_SIZE, ARRAY_REDEFINED_OP_FLAG)) {
2700
- val = LONG2NUM(RARRAY_LEN(recv));
2701
- }
2702
- else if (HEAP_CLASS_OF(recv) == rb_cHash &&
2703
- BASIC_OP_UNREDEFINED_P(BOP_SIZE, HASH_REDEFINED_OP_FLAG)) {
2704
- val = INT2FIX(RHASH_SIZE(recv));
2705
- }
2706
- else {
2707
- goto INSN_LABEL(normal_dispatch);
2708
- }
2709
- }
2710
- else {
2711
- INSN_LABEL(normal_dispatch):
2712
- PUSH(recv);
2713
- CALL_SIMPLE_METHOD(recv);
2714
- }
2715
-
2716
- #line 2717 "vm.inc"
2717
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2718
- PUSH(val);
2719
- #undef CURRENT_INSN_opt_size
2720
- #undef INSN_IS_SC
2721
- #undef INSN_LABEL
2722
- #undef LABEL_IS_SC
2723
- END_INSN(opt_size);}}}
2724
- INSN_ENTRY(opt_empty_p){
2725
- {
2726
- VALUE val;
2727
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2728
- VALUE recv = TOPN(0);
2729
- DEBUG_ENTER_INSN("opt_empty_p");
2730
- ADD_PC(1+1);
2731
- PREFETCH(GET_PC());
2732
- POPN(1);
2733
- #define CURRENT_INSN_opt_empty_p 1
2734
- #define INSN_IS_SC() 0
2735
- #define INSN_LABEL(lab) LABEL_opt_empty_p_##lab
2736
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2737
- COLLECT_USAGE_INSN(BIN(opt_empty_p));
2738
- COLLECT_USAGE_OPERAND(BIN(opt_empty_p), 0, ci);
2739
- {
2740
- #line 1963 "insns.def"
2741
- if (!SPECIAL_CONST_P(recv)) {
2742
- if (HEAP_CLASS_OF(recv) == rb_cString &&
2743
- BASIC_OP_UNREDEFINED_P(BOP_EMPTY_P, STRING_REDEFINED_OP_FLAG)) {
2744
- if (RSTRING_LEN(recv) == 0) val = Qtrue;
2745
- else val = Qfalse;
2746
- }
2747
- else if (HEAP_CLASS_OF(recv) == rb_cArray &&
2748
- BASIC_OP_UNREDEFINED_P(BOP_EMPTY_P, ARRAY_REDEFINED_OP_FLAG)) {
2749
- if (RARRAY_LEN(recv) == 0) val = Qtrue;
2750
- else val = Qfalse;
2751
- }
2752
- else if (HEAP_CLASS_OF(recv) == rb_cHash &&
2753
- BASIC_OP_UNREDEFINED_P(BOP_EMPTY_P, HASH_REDEFINED_OP_FLAG)) {
2754
- if (RHASH_EMPTY_P(recv)) val = Qtrue;
2755
- else val = Qfalse;
2756
- }
2757
- else {
2758
- goto INSN_LABEL(normal_dispatch);
2759
- }
2760
- }
2761
- else {
2762
- INSN_LABEL(normal_dispatch):
2763
- PUSH(recv);
2764
- CALL_SIMPLE_METHOD(recv);
2765
- }
2766
-
2767
- #line 2768 "vm.inc"
2768
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2769
- PUSH(val);
2770
- #undef CURRENT_INSN_opt_empty_p
2771
- #undef INSN_IS_SC
2772
- #undef INSN_LABEL
2773
- #undef LABEL_IS_SC
2774
- END_INSN(opt_empty_p);}}}
2775
- INSN_ENTRY(opt_succ){
2776
- {
2777
- VALUE val;
2778
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2779
- VALUE recv = TOPN(0);
2780
- DEBUG_ENTER_INSN("opt_succ");
2781
- ADD_PC(1+1);
2782
- PREFETCH(GET_PC());
2783
- POPN(1);
2784
- #define CURRENT_INSN_opt_succ 1
2785
- #define INSN_IS_SC() 0
2786
- #define INSN_LABEL(lab) LABEL_opt_succ_##lab
2787
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2788
- COLLECT_USAGE_INSN(BIN(opt_succ));
2789
- COLLECT_USAGE_OPERAND(BIN(opt_succ), 0, ci);
2790
- {
2791
- #line 2001 "insns.def"
2792
- if (SPECIAL_CONST_P(recv)) {
2793
- if (FIXNUM_P(recv) &&
2794
- BASIC_OP_UNREDEFINED_P(BOP_SUCC, FIXNUM_REDEFINED_OP_FLAG)) {
2795
- const VALUE obj = INT2FIX(1);
2796
- /* fixnum + INT2FIX(1) */
2797
- val = (recv + (obj & (~1)));
2798
- if ((~(recv ^ obj) & (recv ^ val)) & ((unsigned long)LONG_MAX + 1)) {
2799
- val = rb_big_plus(rb_int2big(FIX2LONG(recv)),
2800
- rb_int2big(FIX2LONG(obj)));
2801
- }
2802
- }
2803
- else {
2804
- goto INSN_LABEL(normal_dispatch);
2805
- }
2806
- }
2807
- else {
2808
- if (HEAP_CLASS_OF(recv) == rb_cString &&
2809
- BASIC_OP_UNREDEFINED_P(BOP_SUCC, STRING_REDEFINED_OP_FLAG)) {
2810
- val = rb_str_succ(recv);
2811
- }
2812
- else if (HEAP_CLASS_OF(recv) == rb_cTime &&
2813
- BASIC_OP_UNREDEFINED_P(BOP_SUCC, TIME_REDEFINED_OP_FLAG)) {
2814
- val = rb_time_succ(recv);
2815
- }
2816
- else
2817
- {
2818
- goto INSN_LABEL(normal_dispatch);
2819
- }
2820
- }
2821
- if (0) {
2822
- INSN_LABEL(normal_dispatch):
2823
- PUSH(recv);
2824
- CALL_SIMPLE_METHOD(recv);
2825
- }
2826
-
2827
- #line 2828 "vm.inc"
2828
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2829
- PUSH(val);
2830
- #undef CURRENT_INSN_opt_succ
2831
- #undef INSN_IS_SC
2832
- #undef INSN_LABEL
2833
- #undef LABEL_IS_SC
2834
- END_INSN(opt_succ);}}}
2835
- INSN_ENTRY(opt_not){
2836
- {
2837
- VALUE val;
2838
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2839
- VALUE recv = TOPN(0);
2840
- DEBUG_ENTER_INSN("opt_not");
2841
- ADD_PC(1+1);
2842
- PREFETCH(GET_PC());
2843
- POPN(1);
2844
- #define CURRENT_INSN_opt_not 1
2845
- #define INSN_IS_SC() 0
2846
- #define INSN_LABEL(lab) LABEL_opt_not_##lab
2847
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2848
- COLLECT_USAGE_INSN(BIN(opt_not));
2849
- COLLECT_USAGE_OPERAND(BIN(opt_not), 0, ci);
2850
- {
2851
- #line 2048 "insns.def"
2852
- extern VALUE rb_obj_not(VALUE obj);
2853
- vm_search_method(ci, recv);
2854
-
2855
- if (check_cfunc(ci->me, rb_obj_not)) {
2856
- val = RTEST(recv) ? Qfalse : Qtrue;
2857
- }
2858
- else {
2859
- PUSH(recv);
2860
- CALL_SIMPLE_METHOD(recv);
2861
- }
2862
-
2863
- #line 2864 "vm.inc"
2864
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2865
- PUSH(val);
2866
- #undef CURRENT_INSN_opt_not
2867
- #undef INSN_IS_SC
2868
- #undef INSN_LABEL
2869
- #undef LABEL_IS_SC
2870
- END_INSN(opt_not);}}}
2871
- INSN_ENTRY(opt_regexpmatch1){
2872
- {
2873
- VALUE val;
2874
- VALUE r = (VALUE)GET_OPERAND(1);
2875
- VALUE obj = TOPN(0);
2876
- DEBUG_ENTER_INSN("opt_regexpmatch1");
2877
- ADD_PC(1+1);
2878
- PREFETCH(GET_PC());
2879
- POPN(1);
2880
- #define CURRENT_INSN_opt_regexpmatch1 1
2881
- #define INSN_IS_SC() 0
2882
- #define INSN_LABEL(lab) LABEL_opt_regexpmatch1_##lab
2883
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2884
- COLLECT_USAGE_INSN(BIN(opt_regexpmatch1));
2885
- COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch1), 0, r);
2886
- {
2887
- #line 2072 "insns.def"
2888
- val = rb_reg_match(r, obj);
2889
-
2890
- #line 2891 "vm.inc"
2891
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2892
- PUSH(val);
2893
- #undef CURRENT_INSN_opt_regexpmatch1
2894
- #undef INSN_IS_SC
2895
- #undef INSN_LABEL
2896
- #undef LABEL_IS_SC
2897
- END_INSN(opt_regexpmatch1);}}}
2898
- INSN_ENTRY(opt_regexpmatch2){
2899
- {
2900
- VALUE val;
2901
-
2902
- VALUE obj2 = TOPN(1);
2903
- VALUE obj1 = TOPN(0);
2904
- DEBUG_ENTER_INSN("opt_regexpmatch2");
2905
- ADD_PC(1+0);
2906
- PREFETCH(GET_PC());
2907
- POPN(2);
2908
- #define CURRENT_INSN_opt_regexpmatch2 1
2909
- #define INSN_IS_SC() 0
2910
- #define INSN_LABEL(lab) LABEL_opt_regexpmatch2_##lab
2911
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2912
- COLLECT_USAGE_INSN(BIN(opt_regexpmatch2));
2913
- {
2914
- #line 2086 "insns.def"
2915
- if (RB_TYPE_P(obj2, T_STRING)) {
2916
- val = rb_reg_match(obj1, obj2);
2917
- }
2918
- else {
2919
- val = rb_funcall(obj2, idEqTilde, 1, obj1);
2920
- }
2921
-
2922
- #line 2923 "vm.inc"
2923
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2924
- PUSH(val);
2925
- #undef CURRENT_INSN_opt_regexpmatch2
2926
- #undef INSN_IS_SC
2927
- #undef INSN_LABEL
2928
- #undef LABEL_IS_SC
2929
- END_INSN(opt_regexpmatch2);}}}
2930
- INSN_ENTRY(opt_call_c_function){
2931
- {
2932
- rb_insn_func_t funcptr = (rb_insn_func_t)GET_OPERAND(1);
2933
-
2934
- DEBUG_ENTER_INSN("opt_call_c_function");
2935
- ADD_PC(1+1);
2936
- PREFETCH(GET_PC());
2937
- #define CURRENT_INSN_opt_call_c_function 1
2938
- #define INSN_IS_SC() 0
2939
- #define INSN_LABEL(lab) LABEL_opt_call_c_function_##lab
2940
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2941
- COLLECT_USAGE_INSN(BIN(opt_call_c_function));
2942
- COLLECT_USAGE_OPERAND(BIN(opt_call_c_function), 0, funcptr);
2943
- {
2944
- #line 2105 "insns.def"
2945
- reg_cfp = (funcptr)(th, reg_cfp);
2946
-
2947
- if (reg_cfp == 0) {
2948
- VALUE err = th->errinfo;
2949
- th->errinfo = Qnil;
2950
- THROW_EXCEPTION(err);
2951
- }
2952
-
2953
- RESTORE_REGS();
2954
- NEXT_INSN();
2955
-
2956
- #line 2957 "vm.inc"
2957
- #undef CURRENT_INSN_opt_call_c_function
2958
- #undef INSN_IS_SC
2959
- #undef INSN_LABEL
2960
- #undef LABEL_IS_SC
2961
- END_INSN(opt_call_c_function);}}}
2962
- INSN_ENTRY(bitblt){
2963
- {
2964
- VALUE ret;
2965
-
2966
-
2967
- DEBUG_ENTER_INSN("bitblt");
2968
- ADD_PC(1+0);
2969
- PREFETCH(GET_PC());
2970
- #define CURRENT_INSN_bitblt 1
2971
- #define INSN_IS_SC() 0
2972
- #define INSN_LABEL(lab) LABEL_bitblt_##lab
2973
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2974
- COLLECT_USAGE_INSN(BIN(bitblt));
2975
- {
2976
- #line 2128 "insns.def"
2977
- ret = rb_str_new2("a bit of bacon, lettuce and tomato");
2978
-
2979
- #line 2980 "vm.inc"
2980
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
2981
- PUSH(ret);
2982
- #undef CURRENT_INSN_bitblt
2983
- #undef INSN_IS_SC
2984
- #undef INSN_LABEL
2985
- #undef LABEL_IS_SC
2986
- END_INSN(bitblt);}}}
2987
- INSN_ENTRY(answer){
2988
- {
2989
- VALUE ret;
2990
-
2991
-
2992
- DEBUG_ENTER_INSN("answer");
2993
- ADD_PC(1+0);
2994
- PREFETCH(GET_PC());
2995
- #define CURRENT_INSN_answer 1
2996
- #define INSN_IS_SC() 0
2997
- #define INSN_LABEL(lab) LABEL_answer_##lab
2998
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2999
- COLLECT_USAGE_INSN(BIN(answer));
3000
- {
3001
- #line 2142 "insns.def"
3002
- ret = INT2FIX(42);
3003
-
3004
- #line 3005 "vm.inc"
3005
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
3006
- PUSH(ret);
3007
- #undef CURRENT_INSN_answer
3008
- #undef INSN_IS_SC
3009
- #undef INSN_LABEL
3010
- #undef LABEL_IS_SC
3011
- END_INSN(answer);}}}
3012
- INSN_ENTRY(getlocal_OP__WC__0){
3013
- {
3014
- VALUE val;
3015
- #define level 0
3016
- lindex_t idx = (lindex_t)GET_OPERAND(1);
3017
-
3018
- DEBUG_ENTER_INSN("getlocal_OP__WC__0");
3019
- ADD_PC(1+1);
3020
- PREFETCH(GET_PC());
3021
- #define CURRENT_INSN_getlocal_OP__WC__0 1
3022
- #define INSN_IS_SC() 0
3023
- #define INSN_LABEL(lab) LABEL_getlocal_OP__WC__0_##lab
3024
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3025
- COLLECT_USAGE_INSN(BIN(getlocal_OP__WC__0));
3026
- COLLECT_USAGE_OPERAND(BIN(getlocal_OP__WC__0), 0, idx);
3027
- {
3028
- #line 60 "insns.def"
3029
- int i, lev = (int)level;
3030
- VALUE *ep = GET_EP();
3031
-
3032
- for (i = 0; i < lev; i++) {
3033
- ep = GET_PREV_EP(ep);
3034
- }
3035
- val = *(ep - idx);
3036
-
3037
- #line 3038 "vm.inc"
3038
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
3039
- PUSH(val);
3040
- #undef level
3041
- #undef CURRENT_INSN_getlocal_OP__WC__0
3042
- #undef INSN_IS_SC
3043
- #undef INSN_LABEL
3044
- #undef LABEL_IS_SC
3045
- END_INSN(getlocal_OP__WC__0);}}}
3046
- INSN_ENTRY(getlocal_OP__WC__1){
3047
- {
3048
- VALUE val;
3049
- #define level 1
3050
- lindex_t idx = (lindex_t)GET_OPERAND(1);
3051
-
3052
- DEBUG_ENTER_INSN("getlocal_OP__WC__1");
3053
- ADD_PC(1+1);
3054
- PREFETCH(GET_PC());
3055
- #define CURRENT_INSN_getlocal_OP__WC__1 1
3056
- #define INSN_IS_SC() 0
3057
- #define INSN_LABEL(lab) LABEL_getlocal_OP__WC__1_##lab
3058
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3059
- COLLECT_USAGE_INSN(BIN(getlocal_OP__WC__1));
3060
- COLLECT_USAGE_OPERAND(BIN(getlocal_OP__WC__1), 0, idx);
3061
- {
3062
- #line 60 "insns.def"
3063
- int i, lev = (int)level;
3064
- VALUE *ep = GET_EP();
3065
-
3066
- for (i = 0; i < lev; i++) {
3067
- ep = GET_PREV_EP(ep);
3068
- }
3069
- val = *(ep - idx);
3070
-
3071
- #line 3072 "vm.inc"
3072
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
3073
- PUSH(val);
3074
- #undef level
3075
- #undef CURRENT_INSN_getlocal_OP__WC__1
3076
- #undef INSN_IS_SC
3077
- #undef INSN_LABEL
3078
- #undef LABEL_IS_SC
3079
- END_INSN(getlocal_OP__WC__1);}}}
3080
- INSN_ENTRY(setlocal_OP__WC__0){
3081
- {
3082
- #define level 0
3083
- lindex_t idx = (lindex_t)GET_OPERAND(1);
3084
- VALUE val = TOPN(0);
3085
- DEBUG_ENTER_INSN("setlocal_OP__WC__0");
3086
- ADD_PC(1+1);
3087
- PREFETCH(GET_PC());
3088
- POPN(1);
3089
- #define CURRENT_INSN_setlocal_OP__WC__0 1
3090
- #define INSN_IS_SC() 0
3091
- #define INSN_LABEL(lab) LABEL_setlocal_OP__WC__0_##lab
3092
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3093
- COLLECT_USAGE_INSN(BIN(setlocal_OP__WC__0));
3094
- COLLECT_USAGE_OPERAND(BIN(setlocal_OP__WC__0), 0, idx);
3095
- {
3096
- #line 82 "insns.def"
3097
- int i, lev = (int)level;
3098
- VALUE *ep = GET_EP();
3099
-
3100
- for (i = 0; i < lev; i++) {
3101
- ep = GET_PREV_EP(ep);
3102
- }
3103
- *(ep - idx) = val;
3104
-
3105
- #line 3106 "vm.inc"
3106
- #undef level
3107
- #undef CURRENT_INSN_setlocal_OP__WC__0
3108
- #undef INSN_IS_SC
3109
- #undef INSN_LABEL
3110
- #undef LABEL_IS_SC
3111
- END_INSN(setlocal_OP__WC__0);}}}
3112
- INSN_ENTRY(setlocal_OP__WC__1){
3113
- {
3114
- #define level 1
3115
- lindex_t idx = (lindex_t)GET_OPERAND(1);
3116
- VALUE val = TOPN(0);
3117
- DEBUG_ENTER_INSN("setlocal_OP__WC__1");
3118
- ADD_PC(1+1);
3119
- PREFETCH(GET_PC());
3120
- POPN(1);
3121
- #define CURRENT_INSN_setlocal_OP__WC__1 1
3122
- #define INSN_IS_SC() 0
3123
- #define INSN_LABEL(lab) LABEL_setlocal_OP__WC__1_##lab
3124
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3125
- COLLECT_USAGE_INSN(BIN(setlocal_OP__WC__1));
3126
- COLLECT_USAGE_OPERAND(BIN(setlocal_OP__WC__1), 0, idx);
3127
- {
3128
- #line 82 "insns.def"
3129
- int i, lev = (int)level;
3130
- VALUE *ep = GET_EP();
3131
-
3132
- for (i = 0; i < lev; i++) {
3133
- ep = GET_PREV_EP(ep);
3134
- }
3135
- *(ep - idx) = val;
3136
-
3137
- #line 3138 "vm.inc"
3138
- #undef level
3139
- #undef CURRENT_INSN_setlocal_OP__WC__1
3140
- #undef INSN_IS_SC
3141
- #undef INSN_LABEL
3142
- #undef LABEL_IS_SC
3143
- END_INSN(setlocal_OP__WC__1);}}}
3144
- INSN_ENTRY(putobject_OP_INT2FIX_O_0_C_){
3145
- {
3146
- #define val INT2FIX(0)
3147
-
3148
-
3149
- DEBUG_ENTER_INSN("putobject_OP_INT2FIX_O_0_C_");
3150
- ADD_PC(1+0);
3151
- PREFETCH(GET_PC());
3152
- #define CURRENT_INSN_putobject_OP_INT2FIX_O_0_C_ 1
3153
- #define INSN_IS_SC() 0
3154
- #define INSN_LABEL(lab) LABEL_putobject_OP_INT2FIX_O_0_C__##lab
3155
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3156
- COLLECT_USAGE_INSN(BIN(putobject_OP_INT2FIX_O_0_C_));
3157
- {
3158
- #line 298 "insns.def"
3159
- /* */
3160
-
3161
- #line 3162 "vm.inc"
3162
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
3163
- PUSH(val);
3164
- #undef val
3165
- #undef CURRENT_INSN_putobject_OP_INT2FIX_O_0_C_
3166
- #undef INSN_IS_SC
3167
- #undef INSN_LABEL
3168
- #undef LABEL_IS_SC
3169
- END_INSN(putobject_OP_INT2FIX_O_0_C_);}}}
3170
- INSN_ENTRY(putobject_OP_INT2FIX_O_1_C_){
3171
- {
3172
- #define val INT2FIX(1)
3173
-
3174
-
3175
- DEBUG_ENTER_INSN("putobject_OP_INT2FIX_O_1_C_");
3176
- ADD_PC(1+0);
3177
- PREFETCH(GET_PC());
3178
- #define CURRENT_INSN_putobject_OP_INT2FIX_O_1_C_ 1
3179
- #define INSN_IS_SC() 0
3180
- #define INSN_LABEL(lab) LABEL_putobject_OP_INT2FIX_O_1_C__##lab
3181
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
3182
- COLLECT_USAGE_INSN(BIN(putobject_OP_INT2FIX_O_1_C_));
3183
- {
3184
- #line 298 "insns.def"
3185
- /* */
3186
-
3187
- #line 3188 "vm.inc"
3188
- CHECK_VM_STACK_OVERFLOW(REG_CFP, 1);
3189
- PUSH(val);
3190
- #undef val
3191
- #undef CURRENT_INSN_putobject_OP_INT2FIX_O_1_C_
3192
- #undef INSN_IS_SC
3193
- #undef INSN_LABEL
3194
- #undef LABEL_IS_SC
3195
- END_INSN(putobject_OP_INT2FIX_O_1_C_);}}}
3196
-