debase-ruby_core_source 0.10.17 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (746) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -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-preview2 → ruby-3.2.0-p0}/builtin.h +2 -2
  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-preview1 → ruby-3.2.0-p0}/ccan/check_type/check_type.h +1 -1
  7. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ccan/container_of/container_of.h +2 -2
  8. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/ccan/list/list.h +1 -1
  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-preview2 → ruby-3.2.0-p0}/debug_counter.h +5 -40
  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-preview2 → ruby-3.2.0-p0}/gc.h +5 -1
  17. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/hrtime.h +1 -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-preview2 → ruby-3.2.0-p0}/internal/array.h +1 -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-preview2 → ruby-3.2.0-p0}/internal/class.h +12 -42
  27. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/internal/cmdlineopt.h +3 -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-preview2 → ruby-3.2.0-p0}/internal/cont.h +7 -1
  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-preview1 → ruby-3.2.0-p0}/internal/encoding.h +3 -1
  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-preview2 → ruby-3.2.0-p0}/internal/gc.h +5 -1
  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-preview1 → ruby-3.2.0-p0}/internal/numeric.h +6 -2
  52. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/internal/object.h +0 -22
  53. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/parse.h +2 -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-preview2 → ruby-3.2.0-p0}/internal/string.h +2 -1
  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-preview2 → ruby-3.2.0-p0}/internal/thread.h +1 -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-preview2 → ruby-3.2.0-p0}/internal/variable.h +10 -3
  73. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/internal/vm.h +1 -1
  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-preview2 → ruby-3.2.0-p0}/internal.h +3 -3
  76. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/iseq.h +1 -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-preview2 → ruby-3.2.0-p0}/method.h +1 -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-preview2/mjit_compiler.h → ruby-3.2.0-p0/mjit_c.h} +49 -10
  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-preview2 → ruby-3.2.0-p0}/node.h +5 -1
  83. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/node_name.inc +2 -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-preview1 → ruby-3.2.0-p0}/regenc.h +4 -5
  91. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview1 → ruby-3.2.0-p0}/regint.h +28 -1
  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-p0/shape.h +232 -0
  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-preview2 → 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-preview1 → ruby-3.2.0-p0}/variable.h +9 -1
  106. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/version.h +7 -10
  107. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/vm.inc +1 -1
  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-preview2 → ruby-3.2.0-p0}/vm_callinfo.h +55 -27
  110. data/lib/debase/ruby_core_source/{ruby-3.2.0-preview2 → ruby-3.2.0-p0}/vm_core.h +49 -73
  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-preview2 → ruby-3.2.0-p0}/vm_insnhelper.h +0 -3
  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-preview2 → ruby-3.2.0-p0}/yjit.h +1 -3
  118. data/lib/debase/ruby_core_source/version.rb +1 -1
  119. metadata +118 -740
  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/darray.h +0 -226
  629. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/debug_counter.h +0 -469
  630. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/encindex.h +0 -70
  631. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/eval_intern.h +0 -339
  632. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/gc.h +0 -143
  633. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/hrtime.h +0 -216
  634. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns.inc +0 -249
  635. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/insns_info.inc +0 -9064
  636. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/array.h +0 -113
  637. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/class.h +0 -211
  638. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cmdlineopt.h +0 -61
  639. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/compar.h +0 -49
  640. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/cont.h +0 -24
  641. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/fixnum.h +0 -184
  642. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/gc.h +0 -188
  643. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/imemo.h +0 -243
  644. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/object.h +0 -83
  645. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/string.h +0 -141
  646. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/symbol.h +0 -41
  647. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/thread.h +0 -53
  648. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal/variable.h +0 -83
  649. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/internal.h +0 -109
  650. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/iseq.h +0 -325
  651. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/method.h +0 -254
  652. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit.h +0 -231
  653. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/mjit_compile.inc +0 -8333
  654. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/node.h +0 -510
  655. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/optinsn.inc +0 -128
  656. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/parse.h +0 -214
  657. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/probes_helper.h +0 -44
  658. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/ractor_core.h +0 -346
  659. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/revision.h +0 -2
  660. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/symbol.h +0 -119
  661. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_none.h +0 -17
  662. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_pthread.h +0 -115
  663. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/thread_win32.h +0 -61
  664. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/transcode_data.h +0 -138
  665. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/version.h +0 -91
  666. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm.inc +0 -5481
  667. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_callinfo.h +0 -502
  668. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_core.h +0 -2089
  669. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_debug.h +0 -113
  670. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vm_insnhelper.h +0 -262
  671. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/vmtc.inc +0 -243
  672. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit.h +0 -73
  673. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_asm.h +0 -408
  674. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_codegen.h +0 -23
  675. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_core.h +0 -307
  676. data/lib/debase/ruby_core_source/ruby-3.2.0-preview1/yjit_iface.h +0 -38
  677. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/addr2line.h +0 -20
  678. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/build_assert/build_assert.h +0 -40
  679. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/check_type/check_type.h +0 -63
  680. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/container_of/container_of.h +0 -142
  681. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/list/list.h +0 -789
  682. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ccan/str/str.h +0 -17
  683. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/constant.h +0 -55
  684. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/dln.h +0 -31
  685. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id.h +0 -295
  686. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/id_table.h +0 -36
  687. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bignum.h +0 -246
  688. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/bits.h +0 -565
  689. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compar.h +0 -49
  690. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compile.h +0 -35
  691. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/compilers.h +0 -107
  692. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/complex.h +0 -29
  693. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/dir.h +0 -16
  694. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enc.h +0 -19
  695. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/encoding.h +0 -30
  696. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enum.h +0 -18
  697. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/enumerator.h +0 -21
  698. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/error.h +0 -191
  699. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/eval.h +0 -32
  700. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/file.h +0 -38
  701. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/hash.h +0 -243
  702. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/inits.h +0 -50
  703. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/io.h +0 -38
  704. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/load.h +0 -18
  705. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/loadpath.h +0 -16
  706. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/math.h +0 -23
  707. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/missing.h +0 -18
  708. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/numeric.h +0 -271
  709. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/parse.h +0 -23
  710. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/proc.h +0 -32
  711. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/process.h +0 -137
  712. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/ractor.h +0 -6
  713. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/random.h +0 -16
  714. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/range.h +0 -40
  715. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/rational.h +0 -72
  716. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/re.h +0 -30
  717. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/sanitizers.h +0 -190
  718. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/serial.h +0 -23
  719. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/signal.h +0 -21
  720. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/static_assert.h +0 -16
  721. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/struct.h +0 -153
  722. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/time.h +0 -34
  723. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/transcode.h +0 -20
  724. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/util.h +0 -27
  725. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/vm.h +0 -134
  726. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/internal/warnings.h +0 -16
  727. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/known_errors.inc +0 -791
  728. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/mjit_unit.h +0 -29
  729. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/node_name.inc +0 -208
  730. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/opt_sc.inc +0 -109
  731. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/optunifs.inc +0 -43
  732. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/parse.h +0 -214
  733. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regenc.h +0 -255
  734. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regint.h +0 -957
  735. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/regparse.h +0 -370
  736. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/revision.h +0 -2
  737. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_assert.h +0 -14
  738. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/ruby_atomic.h +0 -23
  739. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/siphash.h +0 -48
  740. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/timev.h +0 -57
  741. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/transient_heap.h +0 -65
  742. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/variable.h +0 -21
  743. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_call_iseq_optimized.inc +0 -244
  744. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_exec.h +0 -197
  745. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_opts.h +0 -73
  746. data/lib/debase/ruby_core_source/ruby-3.2.0-preview2/vm_sync.h +0 -137
@@ -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_DIV, 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
-