datadog-ruby_core_source 3.3.6 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +16 -1
  3. data/README.md +8 -5
  4. data/datadog-ruby_core_source.gemspec +7 -2
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/id.h +9 -0
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/array.h +1 -0
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/basic_operators.h +2 -0
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/bits.h +82 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/class.h +1 -1
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cmdlineopt.h +0 -4
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/encoding.h +2 -0
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/error.h +28 -0
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/fixnum.h +1 -0
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/gc.h +29 -30
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/hash.h +2 -0
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/imemo.h +10 -13
  45. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/io.h +5 -2
  46. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/parse.h +18 -4
  47. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/proc.h +1 -1
  48. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ractor.h +4 -0
  49. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/re.h +2 -2
  50. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/sanitizers.h +72 -39
  51. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/string.h +35 -18
  52. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/struct.h +0 -8
  53. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/symbol.h +2 -0
  54. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/thread.h +29 -0
  55. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/time.h +4 -1
  56. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/variable.h +0 -2
  57. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/vm.h +3 -3
  58. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/iseq.h +12 -1
  59. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/method.h +4 -1
  60. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/node.h +14 -3
  61. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/ast.h +2172 -453
  62. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/defines.h +61 -7
  63. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/diagnostic.h +24 -6
  64. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/extension.h +5 -5
  65. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/node.h +0 -21
  66. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/options.h +141 -4
  67. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/parser.h +82 -40
  68. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prism.h +51 -4
  69. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/regexp.h +43 -0
  70. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/static_literals.h +3 -2
  71. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_buffer.h +10 -0
  72. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_char.h +1 -2
  73. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_constant_pool.h +0 -8
  74. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_integer.h +22 -15
  75. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_newline_list.h +11 -0
  76. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_string.h +28 -12
  77. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/version.h +3 -3
  78. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism_compile.h +29 -12
  79. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/ractor_core.h +9 -20
  80. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/rubyparser.h +198 -248
  81. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/shape.h +2 -1
  82. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/thread_pthread.h +28 -27
  83. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/vm_core.h +65 -66
  84. data/lib/datadog/ruby_core_source/version.rb +1 -1
  85. data/lib/datadog/ruby_core_source.rb +14 -1
  86. metadata +213 -476
  87. data/.github/workflows/publish.yml +0 -18
  88. data/.gitignore +0 -7
  89. data/.idea/vcs.xml +0 -28
  90. data/CHANGELOG.md +0 -284
  91. data/CONTRIBUTING.md +0 -2
  92. data/Gemfile +0 -4
  93. data/Rakefile +0 -73
  94. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  95. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  96. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  97. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  98. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  99. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  100. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  101. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  102. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  103. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  104. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  105. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  106. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  107. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  108. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  109. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  110. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  111. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  112. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  113. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  114. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  115. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  116. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  117. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  118. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  119. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  120. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  121. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  122. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  123. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  124. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  125. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  126. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  127. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  128. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  129. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  130. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  131. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  132. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  133. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  134. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  135. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  136. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  137. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  138. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  139. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  140. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  141. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  142. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  143. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  144. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  145. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  146. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  147. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  148. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  149. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  150. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  151. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  152. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  153. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  154. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  155. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  156. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  157. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  159. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  160. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  161. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  162. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  163. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  164. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  165. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  166. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  167. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  168. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  169. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  170. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  171. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  172. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  173. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  174. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  175. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  176. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  177. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  178. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  179. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  180. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  181. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  182. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  183. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  184. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  185. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  186. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  187. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  188. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  189. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  231. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  232. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  233. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  234. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  235. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  236. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  237. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  238. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  239. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  240. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  241. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  242. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  243. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  244. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  245. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  246. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  247. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  248. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  249. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  250. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  251. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  252. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  253. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  254. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  255. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  256. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  257. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  258. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  259. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  260. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  261. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  262. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  263. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  264. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  265. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  266. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  267. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  268. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  269. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  375. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  376. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  377. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  378. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  379. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  380. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  381. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  382. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  383. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  384. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  385. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  386. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  387. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  388. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  389. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  390. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  391. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  392. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  393. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  394. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  395. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  396. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  397. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  398. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  399. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  400. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  401. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_opts.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/build_assert/build_assert.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/check_type/check_type.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/container_of/container_of.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/list/list.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/str/str.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/id_table.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/bignum.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compar.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compile.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compilers.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/complex.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cont.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/dir.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enc.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enum.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enumerator.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/eval.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/file.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/inits.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/load.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/loadpath.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/math.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/missing.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/numeric.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/object.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/process.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/random.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/range.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/rational.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ruby_parser.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/serial.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/signal.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/st.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/static_assert.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/transcode.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/util.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/warnings.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_st.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_value.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/encoding.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/pack.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prettyprint.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_list.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_memchr.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strncasecmp.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strpbrk.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_assert.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_atomic.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/thread_none.h +0 -0
  477. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_debug.h +0 -0
  478. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_opts.h +0 -0
@@ -1,3667 +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.def'
12
- */
13
-
14
-
15
- INSN_ENTRY(nop){START_OF_ORIGINAL_INSN(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){START_OF_ORIGINAL_INSN(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
- val = *(vm_get_ep(GET_EP(), level) - idx);
56
- RB_DEBUG_COUNTER_INC(lvar_get);
57
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
58
-
59
- #line 60 "vm.inc"
60
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
61
- PUSH(val);
62
- #undef CURRENT_INSN_getlocal
63
- #undef INSN_IS_SC
64
- #undef INSN_LABEL
65
- #undef LABEL_IS_SC
66
- END_INSN(getlocal);}}}
67
- INSN_ENTRY(setlocal){START_OF_ORIGINAL_INSN(setlocal);
68
- {
69
- rb_num_t level = (rb_num_t)GET_OPERAND(2);
70
- lindex_t idx = (lindex_t)GET_OPERAND(1);
71
- VALUE val = TOPN(0);
72
- DEBUG_ENTER_INSN("setlocal");
73
- ADD_PC(1+2);
74
- PREFETCH(GET_PC());
75
- POPN(1);
76
- #define CURRENT_INSN_setlocal 1
77
- #define INSN_IS_SC() 0
78
- #define INSN_LABEL(lab) LABEL_setlocal_##lab
79
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
80
- COLLECT_USAGE_INSN(BIN(setlocal));
81
- COLLECT_USAGE_OPERAND(BIN(setlocal), 0, idx);
82
- COLLECT_USAGE_OPERAND(BIN(setlocal), 1, level);
83
- {
84
- #line 78 "insns.def"
85
- vm_env_write(vm_get_ep(GET_EP(), level), -(int)idx, val);
86
- RB_DEBUG_COUNTER_INC(lvar_set);
87
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
88
-
89
- #line 90 "vm.inc"
90
- #undef CURRENT_INSN_setlocal
91
- #undef INSN_IS_SC
92
- #undef INSN_LABEL
93
- #undef LABEL_IS_SC
94
- END_INSN(setlocal);}}}
95
- INSN_ENTRY(getblockparam){START_OF_ORIGINAL_INSN(getblockparam);
96
- {
97
- VALUE val;
98
- rb_num_t level = (rb_num_t)GET_OPERAND(2);
99
- lindex_t idx = (lindex_t)GET_OPERAND(1);
100
-
101
- DEBUG_ENTER_INSN("getblockparam");
102
- ADD_PC(1+2);
103
- PREFETCH(GET_PC());
104
- #define CURRENT_INSN_getblockparam 1
105
- #define INSN_IS_SC() 0
106
- #define INSN_LABEL(lab) LABEL_getblockparam_##lab
107
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
108
- COLLECT_USAGE_INSN(BIN(getblockparam));
109
- COLLECT_USAGE_OPERAND(BIN(getblockparam), 0, idx);
110
- COLLECT_USAGE_OPERAND(BIN(getblockparam), 1, level);
111
- {
112
- #line 94 "insns.def"
113
- const VALUE *ep = vm_get_ep(GET_EP(), level);
114
- VM_ASSERT(VM_ENV_LOCAL_P(ep));
115
-
116
- if (!VM_ENV_FLAGS(ep, VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM)) {
117
- val = rb_vm_bh_to_procval(ec, VM_ENV_BLOCK_HANDLER(ep));
118
- vm_env_write(ep, -(int)idx, val);
119
- VM_ENV_FLAGS_SET(ep, VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM);
120
- }
121
- else {
122
- val = *(ep - idx);
123
- RB_DEBUG_COUNTER_INC(lvar_get);
124
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
125
- }
126
-
127
- #line 128 "vm.inc"
128
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
129
- PUSH(val);
130
- #undef CURRENT_INSN_getblockparam
131
- #undef INSN_IS_SC
132
- #undef INSN_LABEL
133
- #undef LABEL_IS_SC
134
- END_INSN(getblockparam);}}}
135
- INSN_ENTRY(setblockparam){START_OF_ORIGINAL_INSN(setblockparam);
136
- {
137
- rb_num_t level = (rb_num_t)GET_OPERAND(2);
138
- lindex_t idx = (lindex_t)GET_OPERAND(1);
139
- VALUE val = TOPN(0);
140
- DEBUG_ENTER_INSN("setblockparam");
141
- ADD_PC(1+2);
142
- PREFETCH(GET_PC());
143
- POPN(1);
144
- #define CURRENT_INSN_setblockparam 1
145
- #define INSN_IS_SC() 0
146
- #define INSN_LABEL(lab) LABEL_setblockparam_##lab
147
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
148
- COLLECT_USAGE_INSN(BIN(setblockparam));
149
- COLLECT_USAGE_OPERAND(BIN(setblockparam), 0, idx);
150
- COLLECT_USAGE_OPERAND(BIN(setblockparam), 1, level);
151
- {
152
- #line 120 "insns.def"
153
- const VALUE *ep = vm_get_ep(GET_EP(), level);
154
- VM_ASSERT(VM_ENV_LOCAL_P(ep));
155
-
156
- vm_env_write(ep, -(int)idx, val);
157
- RB_DEBUG_COUNTER_INC(lvar_set);
158
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
159
-
160
- VM_ENV_FLAGS_SET(ep, VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM);
161
-
162
- #line 163 "vm.inc"
163
- #undef CURRENT_INSN_setblockparam
164
- #undef INSN_IS_SC
165
- #undef INSN_LABEL
166
- #undef LABEL_IS_SC
167
- END_INSN(setblockparam);}}}
168
- INSN_ENTRY(getspecial){START_OF_ORIGINAL_INSN(getspecial);
169
- {
170
- VALUE val;
171
- rb_num_t type = (rb_num_t)GET_OPERAND(2);
172
- rb_num_t key = (rb_num_t)GET_OPERAND(1);
173
-
174
- DEBUG_ENTER_INSN("getspecial");
175
- ADD_PC(1+2);
176
- PREFETCH(GET_PC());
177
- #define CURRENT_INSN_getspecial 1
178
- #define INSN_IS_SC() 0
179
- #define INSN_LABEL(lab) LABEL_getspecial_##lab
180
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
181
- COLLECT_USAGE_INSN(BIN(getspecial));
182
- COLLECT_USAGE_OPERAND(BIN(getspecial), 0, key);
183
- COLLECT_USAGE_OPERAND(BIN(getspecial), 1, type);
184
- {
185
- #line 141 "insns.def"
186
- val = vm_getspecial(ec, GET_LEP(), key, type);
187
-
188
- #line 189 "vm.inc"
189
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
190
- PUSH(val);
191
- #undef CURRENT_INSN_getspecial
192
- #undef INSN_IS_SC
193
- #undef INSN_LABEL
194
- #undef LABEL_IS_SC
195
- END_INSN(getspecial);}}}
196
- INSN_ENTRY(setspecial){START_OF_ORIGINAL_INSN(setspecial);
197
- {
198
- rb_num_t key = (rb_num_t)GET_OPERAND(1);
199
- VALUE obj = TOPN(0);
200
- DEBUG_ENTER_INSN("setspecial");
201
- ADD_PC(1+1);
202
- PREFETCH(GET_PC());
203
- POPN(1);
204
- #define CURRENT_INSN_setspecial 1
205
- #define INSN_IS_SC() 0
206
- #define INSN_LABEL(lab) LABEL_setspecial_##lab
207
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
208
- COLLECT_USAGE_INSN(BIN(setspecial));
209
- COLLECT_USAGE_OPERAND(BIN(setspecial), 0, key);
210
- {
211
- #line 155 "insns.def"
212
- lep_svar_set(ec, GET_LEP(), key, obj);
213
-
214
- #line 215 "vm.inc"
215
- #undef CURRENT_INSN_setspecial
216
- #undef INSN_IS_SC
217
- #undef INSN_LABEL
218
- #undef LABEL_IS_SC
219
- END_INSN(setspecial);}}}
220
- INSN_ENTRY(getinstancevariable){START_OF_ORIGINAL_INSN(getinstancevariable);
221
- {
222
- VALUE val;
223
- IC ic = (IC)GET_OPERAND(2);
224
- ID id = (ID)GET_OPERAND(1);
225
-
226
- DEBUG_ENTER_INSN("getinstancevariable");
227
- ADD_PC(1+2);
228
- PREFETCH(GET_PC());
229
- #define CURRENT_INSN_getinstancevariable 1
230
- #define INSN_IS_SC() 0
231
- #define INSN_LABEL(lab) LABEL_getinstancevariable_##lab
232
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
233
- COLLECT_USAGE_INSN(BIN(getinstancevariable));
234
- COLLECT_USAGE_OPERAND(BIN(getinstancevariable), 0, id);
235
- COLLECT_USAGE_OPERAND(BIN(getinstancevariable), 1, ic);
236
- {
237
- #line 169 "insns.def"
238
- val = vm_getinstancevariable(GET_SELF(), id, ic);
239
-
240
- #line 241 "vm.inc"
241
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
242
- PUSH(val);
243
- #undef CURRENT_INSN_getinstancevariable
244
- #undef INSN_IS_SC
245
- #undef INSN_LABEL
246
- #undef LABEL_IS_SC
247
- END_INSN(getinstancevariable);}}}
248
- INSN_ENTRY(setinstancevariable){START_OF_ORIGINAL_INSN(setinstancevariable);
249
- {
250
- IC ic = (IC)GET_OPERAND(2);
251
- ID id = (ID)GET_OPERAND(1);
252
- VALUE val = TOPN(0);
253
- DEBUG_ENTER_INSN("setinstancevariable");
254
- ADD_PC(1+2);
255
- PREFETCH(GET_PC());
256
- POPN(1);
257
- #define CURRENT_INSN_setinstancevariable 1
258
- #define INSN_IS_SC() 0
259
- #define INSN_LABEL(lab) LABEL_setinstancevariable_##lab
260
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
261
- COLLECT_USAGE_INSN(BIN(setinstancevariable));
262
- COLLECT_USAGE_OPERAND(BIN(setinstancevariable), 0, id);
263
- COLLECT_USAGE_OPERAND(BIN(setinstancevariable), 1, ic);
264
- {
265
- #line 183 "insns.def"
266
- vm_setinstancevariable(GET_SELF(), id, val, ic);
267
-
268
- #line 269 "vm.inc"
269
- #undef CURRENT_INSN_setinstancevariable
270
- #undef INSN_IS_SC
271
- #undef INSN_LABEL
272
- #undef LABEL_IS_SC
273
- END_INSN(setinstancevariable);}}}
274
- INSN_ENTRY(getclassvariable){START_OF_ORIGINAL_INSN(getclassvariable);
275
- {
276
- VALUE val;
277
- ID id = (ID)GET_OPERAND(1);
278
-
279
- DEBUG_ENTER_INSN("getclassvariable");
280
- ADD_PC(1+1);
281
- PREFETCH(GET_PC());
282
- #define CURRENT_INSN_getclassvariable 1
283
- #define INSN_IS_SC() 0
284
- #define INSN_LABEL(lab) LABEL_getclassvariable_##lab
285
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
286
- COLLECT_USAGE_INSN(BIN(getclassvariable));
287
- COLLECT_USAGE_OPERAND(BIN(getclassvariable), 0, id);
288
- {
289
- #line 197 "insns.def"
290
- val = rb_cvar_get(vm_get_cvar_base(rb_vm_get_cref(GET_EP()), GET_CFP()), id);
291
-
292
- #line 293 "vm.inc"
293
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
294
- PUSH(val);
295
- #undef CURRENT_INSN_getclassvariable
296
- #undef INSN_IS_SC
297
- #undef INSN_LABEL
298
- #undef LABEL_IS_SC
299
- END_INSN(getclassvariable);}}}
300
- INSN_ENTRY(setclassvariable){START_OF_ORIGINAL_INSN(setclassvariable);
301
- {
302
- ID id = (ID)GET_OPERAND(1);
303
- VALUE val = TOPN(0);
304
- DEBUG_ENTER_INSN("setclassvariable");
305
- ADD_PC(1+1);
306
- PREFETCH(GET_PC());
307
- POPN(1);
308
- #define CURRENT_INSN_setclassvariable 1
309
- #define INSN_IS_SC() 0
310
- #define INSN_LABEL(lab) LABEL_setclassvariable_##lab
311
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
312
- COLLECT_USAGE_INSN(BIN(setclassvariable));
313
- COLLECT_USAGE_OPERAND(BIN(setclassvariable), 0, id);
314
- {
315
- #line 211 "insns.def"
316
- vm_ensure_not_refinement_module(GET_SELF());
317
- rb_cvar_set(vm_get_cvar_base(rb_vm_get_cref(GET_EP()), GET_CFP()), id, val);
318
-
319
- #line 320 "vm.inc"
320
- #undef CURRENT_INSN_setclassvariable
321
- #undef INSN_IS_SC
322
- #undef INSN_LABEL
323
- #undef LABEL_IS_SC
324
- END_INSN(setclassvariable);}}}
325
- INSN_ENTRY(getconstant){START_OF_ORIGINAL_INSN(getconstant);
326
- {
327
- VALUE val;
328
- ID id = (ID)GET_OPERAND(1);
329
- VALUE klass = TOPN(0);
330
- DEBUG_ENTER_INSN("getconstant");
331
- ADD_PC(1+1);
332
- PREFETCH(GET_PC());
333
- POPN(1);
334
- #define CURRENT_INSN_getconstant 1
335
- #define INSN_IS_SC() 0
336
- #define INSN_LABEL(lab) LABEL_getconstant_##lab
337
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
338
- COLLECT_USAGE_INSN(BIN(getconstant));
339
- COLLECT_USAGE_OPERAND(BIN(getconstant), 0, id);
340
- {
341
- #line 233 "insns.def"
342
- val = vm_get_ev_const(ec, klass, id, 0);
343
-
344
- #line 345 "vm.inc"
345
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
346
- PUSH(val);
347
- #undef CURRENT_INSN_getconstant
348
- #undef INSN_IS_SC
349
- #undef INSN_LABEL
350
- #undef LABEL_IS_SC
351
- END_INSN(getconstant);}}}
352
- INSN_ENTRY(setconstant){START_OF_ORIGINAL_INSN(setconstant);
353
- {
354
- ID id = (ID)GET_OPERAND(1);
355
- VALUE val = TOPN(1);
356
- VALUE cbase = TOPN(0);
357
- DEBUG_ENTER_INSN("setconstant");
358
- ADD_PC(1+1);
359
- PREFETCH(GET_PC());
360
- POPN(2);
361
- #define CURRENT_INSN_setconstant 1
362
- #define INSN_IS_SC() 0
363
- #define INSN_LABEL(lab) LABEL_setconstant_##lab
364
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
365
- COLLECT_USAGE_INSN(BIN(setconstant));
366
- COLLECT_USAGE_OPERAND(BIN(setconstant), 0, id);
367
- {
368
- #line 255 "insns.def"
369
- vm_check_if_namespace(cbase);
370
- vm_ensure_not_refinement_module(GET_SELF());
371
- rb_const_set(cbase, id, val);
372
-
373
- #line 374 "vm.inc"
374
- #undef CURRENT_INSN_setconstant
375
- #undef INSN_IS_SC
376
- #undef INSN_LABEL
377
- #undef LABEL_IS_SC
378
- END_INSN(setconstant);}}}
379
- INSN_ENTRY(getglobal){START_OF_ORIGINAL_INSN(getglobal);
380
- {
381
- VALUE val;
382
- GENTRY entry = (GENTRY)GET_OPERAND(1);
383
-
384
- DEBUG_ENTER_INSN("getglobal");
385
- ADD_PC(1+1);
386
- PREFETCH(GET_PC());
387
- #define CURRENT_INSN_getglobal 1
388
- #define INSN_IS_SC() 0
389
- #define INSN_LABEL(lab) LABEL_getglobal_##lab
390
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
391
- COLLECT_USAGE_INSN(BIN(getglobal));
392
- COLLECT_USAGE_OPERAND(BIN(getglobal), 0, entry);
393
- {
394
- #line 271 "insns.def"
395
- val = GET_GLOBAL((VALUE)entry);
396
-
397
- #line 398 "vm.inc"
398
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
399
- PUSH(val);
400
- #undef CURRENT_INSN_getglobal
401
- #undef INSN_IS_SC
402
- #undef INSN_LABEL
403
- #undef LABEL_IS_SC
404
- END_INSN(getglobal);}}}
405
- INSN_ENTRY(setglobal){START_OF_ORIGINAL_INSN(setglobal);
406
- {
407
- GENTRY entry = (GENTRY)GET_OPERAND(1);
408
- VALUE val = TOPN(0);
409
- DEBUG_ENTER_INSN("setglobal");
410
- ADD_PC(1+1);
411
- PREFETCH(GET_PC());
412
- POPN(1);
413
- #define CURRENT_INSN_setglobal 1
414
- #define INSN_IS_SC() 0
415
- #define INSN_LABEL(lab) LABEL_setglobal_##lab
416
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
417
- COLLECT_USAGE_INSN(BIN(setglobal));
418
- COLLECT_USAGE_OPERAND(BIN(setglobal), 0, entry);
419
- {
420
- #line 285 "insns.def"
421
- SET_GLOBAL((VALUE)entry, val);
422
-
423
- #line 424 "vm.inc"
424
- #undef CURRENT_INSN_setglobal
425
- #undef INSN_IS_SC
426
- #undef INSN_LABEL
427
- #undef LABEL_IS_SC
428
- END_INSN(setglobal);}}}
429
- INSN_ENTRY(putnil){START_OF_ORIGINAL_INSN(putnil);
430
- {
431
- VALUE val;
432
-
433
-
434
- DEBUG_ENTER_INSN("putnil");
435
- ADD_PC(1+0);
436
- PREFETCH(GET_PC());
437
- #define CURRENT_INSN_putnil 1
438
- #define INSN_IS_SC() 0
439
- #define INSN_LABEL(lab) LABEL_putnil_##lab
440
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
441
- COLLECT_USAGE_INSN(BIN(putnil));
442
- {
443
- #line 304 "insns.def"
444
- val = Qnil;
445
-
446
- #line 447 "vm.inc"
447
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
448
- PUSH(val);
449
- #undef CURRENT_INSN_putnil
450
- #undef INSN_IS_SC
451
- #undef INSN_LABEL
452
- #undef LABEL_IS_SC
453
- END_INSN(putnil);}}}
454
- INSN_ENTRY(putself){START_OF_ORIGINAL_INSN(putself);
455
- {
456
- VALUE val;
457
-
458
-
459
- DEBUG_ENTER_INSN("putself");
460
- ADD_PC(1+0);
461
- PREFETCH(GET_PC());
462
- #define CURRENT_INSN_putself 1
463
- #define INSN_IS_SC() 0
464
- #define INSN_LABEL(lab) LABEL_putself_##lab
465
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
466
- COLLECT_USAGE_INSN(BIN(putself));
467
- {
468
- #line 318 "insns.def"
469
- val = GET_SELF();
470
-
471
- #line 472 "vm.inc"
472
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
473
- PUSH(val);
474
- #undef CURRENT_INSN_putself
475
- #undef INSN_IS_SC
476
- #undef INSN_LABEL
477
- #undef LABEL_IS_SC
478
- END_INSN(putself);}}}
479
- INSN_ENTRY(putobject){START_OF_ORIGINAL_INSN(putobject);
480
- {
481
- VALUE val = (VALUE)GET_OPERAND(1);
482
-
483
- DEBUG_ENTER_INSN("putobject");
484
- ADD_PC(1+1);
485
- PREFETCH(GET_PC());
486
- #define CURRENT_INSN_putobject 1
487
- #define INSN_IS_SC() 0
488
- #define INSN_LABEL(lab) LABEL_putobject_##lab
489
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
490
- COLLECT_USAGE_INSN(BIN(putobject));
491
- COLLECT_USAGE_OPERAND(BIN(putobject), 0, val);
492
- {
493
- #line 334 "insns.def"
494
- /* */
495
-
496
- #line 497 "vm.inc"
497
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
498
- PUSH(val);
499
- #undef CURRENT_INSN_putobject
500
- #undef INSN_IS_SC
501
- #undef INSN_LABEL
502
- #undef LABEL_IS_SC
503
- END_INSN(putobject);}}}
504
- INSN_ENTRY(putspecialobject){START_OF_ORIGINAL_INSN(putspecialobject);
505
- {
506
- VALUE val;
507
- rb_num_t value_type = (rb_num_t)GET_OPERAND(1);
508
-
509
- DEBUG_ENTER_INSN("putspecialobject");
510
- ADD_PC(1+1);
511
- PREFETCH(GET_PC());
512
- #define CURRENT_INSN_putspecialobject 1
513
- #define INSN_IS_SC() 0
514
- #define INSN_LABEL(lab) LABEL_putspecialobject_##lab
515
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
516
- COLLECT_USAGE_INSN(BIN(putspecialobject));
517
- COLLECT_USAGE_OPERAND(BIN(putspecialobject), 0, value_type);
518
- {
519
- #line 349 "insns.def"
520
- enum vm_special_object_type type;
521
-
522
- type = (enum vm_special_object_type)value_type;
523
- val = vm_get_special_object(GET_EP(), type);
524
-
525
- #line 526 "vm.inc"
526
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
527
- PUSH(val);
528
- #undef CURRENT_INSN_putspecialobject
529
- #undef INSN_IS_SC
530
- #undef INSN_LABEL
531
- #undef LABEL_IS_SC
532
- END_INSN(putspecialobject);}}}
533
- INSN_ENTRY(putiseq){START_OF_ORIGINAL_INSN(putiseq);
534
- {
535
- VALUE ret;
536
- ISEQ iseq = (ISEQ)GET_OPERAND(1);
537
-
538
- DEBUG_ENTER_INSN("putiseq");
539
- ADD_PC(1+1);
540
- PREFETCH(GET_PC());
541
- #define CURRENT_INSN_putiseq 1
542
- #define INSN_IS_SC() 0
543
- #define INSN_LABEL(lab) LABEL_putiseq_##lab
544
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
545
- COLLECT_USAGE_INSN(BIN(putiseq));
546
- COLLECT_USAGE_OPERAND(BIN(putiseq), 0, iseq);
547
- {
548
- #line 366 "insns.def"
549
- ret = (VALUE)iseq;
550
-
551
- #line 552 "vm.inc"
552
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
553
- PUSH(ret);
554
- #undef CURRENT_INSN_putiseq
555
- #undef INSN_IS_SC
556
- #undef INSN_LABEL
557
- #undef LABEL_IS_SC
558
- END_INSN(putiseq);}}}
559
- INSN_ENTRY(putstring){START_OF_ORIGINAL_INSN(putstring);
560
- {
561
- VALUE val;
562
- VALUE str = (VALUE)GET_OPERAND(1);
563
-
564
- DEBUG_ENTER_INSN("putstring");
565
- ADD_PC(1+1);
566
- PREFETCH(GET_PC());
567
- #define CURRENT_INSN_putstring 1
568
- #define INSN_IS_SC() 0
569
- #define INSN_LABEL(lab) LABEL_putstring_##lab
570
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
571
- COLLECT_USAGE_INSN(BIN(putstring));
572
- COLLECT_USAGE_OPERAND(BIN(putstring), 0, str);
573
- {
574
- #line 380 "insns.def"
575
- val = rb_str_resurrect(str);
576
-
577
- #line 578 "vm.inc"
578
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
579
- PUSH(val);
580
- #undef CURRENT_INSN_putstring
581
- #undef INSN_IS_SC
582
- #undef INSN_LABEL
583
- #undef LABEL_IS_SC
584
- END_INSN(putstring);}}}
585
- INSN_ENTRY(concatstrings){START_OF_ORIGINAL_INSN(concatstrings);
586
- {
587
- VALUE val;
588
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
589
-
590
- DEBUG_ENTER_INSN("concatstrings");
591
- ADD_PC(1+1);
592
- PREFETCH(GET_PC());
593
- #define CURRENT_INSN_concatstrings 1
594
- #define INSN_IS_SC() 0
595
- #define INSN_LABEL(lab) LABEL_concatstrings_##lab
596
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
597
- COLLECT_USAGE_INSN(BIN(concatstrings));
598
- COLLECT_USAGE_OPERAND(BIN(concatstrings), 0, num);
599
- {
600
- #line 394 "insns.def"
601
- val = rb_str_concat_literals(num, STACK_ADDR_FROM_TOP(num));
602
- POPN(num);
603
-
604
- #line 605 "vm.inc"
605
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
606
- PUSH(val);
607
- #undef CURRENT_INSN_concatstrings
608
- #undef INSN_IS_SC
609
- #undef INSN_LABEL
610
- #undef LABEL_IS_SC
611
- END_INSN(concatstrings);}}}
612
- INSN_ENTRY(tostring){START_OF_ORIGINAL_INSN(tostring);
613
- {
614
-
615
- VALUE val = TOPN(1);
616
- VALUE str = TOPN(0);
617
- DEBUG_ENTER_INSN("tostring");
618
- ADD_PC(1+0);
619
- PREFETCH(GET_PC());
620
- POPN(2);
621
- #define CURRENT_INSN_tostring 1
622
- #define INSN_IS_SC() 0
623
- #define INSN_LABEL(lab) LABEL_tostring_##lab
624
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
625
- COLLECT_USAGE_INSN(BIN(tostring));
626
- {
627
- #line 409 "insns.def"
628
- VALUE rb_obj_as_string_result(VALUE str, VALUE obj);
629
- val = rb_obj_as_string_result(str, val);
630
-
631
- #line 632 "vm.inc"
632
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
633
- PUSH(val);
634
- #undef CURRENT_INSN_tostring
635
- #undef INSN_IS_SC
636
- #undef INSN_LABEL
637
- #undef LABEL_IS_SC
638
- END_INSN(tostring);}}}
639
- INSN_ENTRY(freezestring){START_OF_ORIGINAL_INSN(freezestring);
640
- {
641
- VALUE debug_info = (VALUE)GET_OPERAND(1);
642
- VALUE str = TOPN(0);
643
- DEBUG_ENTER_INSN("freezestring");
644
- ADD_PC(1+1);
645
- PREFETCH(GET_PC());
646
- POPN(1);
647
- #define CURRENT_INSN_freezestring 1
648
- #define INSN_IS_SC() 0
649
- #define INSN_LABEL(lab) LABEL_freezestring_##lab
650
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
651
- COLLECT_USAGE_INSN(BIN(freezestring));
652
- COLLECT_USAGE_OPERAND(BIN(freezestring), 0, debug_info);
653
- {
654
- #line 424 "insns.def"
655
- vm_freezestring(str, debug_info);
656
-
657
- #line 658 "vm.inc"
658
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
659
- PUSH(str);
660
- #undef CURRENT_INSN_freezestring
661
- #undef INSN_IS_SC
662
- #undef INSN_LABEL
663
- #undef LABEL_IS_SC
664
- END_INSN(freezestring);}}}
665
- INSN_ENTRY(toregexp){START_OF_ORIGINAL_INSN(toregexp);
666
- {
667
- VALUE val;
668
- rb_num_t cnt = (rb_num_t)GET_OPERAND(2);
669
- rb_num_t opt = (rb_num_t)GET_OPERAND(1);
670
-
671
- DEBUG_ENTER_INSN("toregexp");
672
- ADD_PC(1+2);
673
- PREFETCH(GET_PC());
674
- #define CURRENT_INSN_toregexp 1
675
- #define INSN_IS_SC() 0
676
- #define INSN_LABEL(lab) LABEL_toregexp_##lab
677
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
678
- COLLECT_USAGE_INSN(BIN(toregexp));
679
- COLLECT_USAGE_OPERAND(BIN(toregexp), 0, opt);
680
- COLLECT_USAGE_OPERAND(BIN(toregexp), 1, cnt);
681
- {
682
- #line 440 "insns.def"
683
- VALUE rb_reg_new_ary(VALUE ary, int options);
684
- VALUE rb_ary_tmp_new_from_values(VALUE, long, const VALUE *);
685
- const VALUE ary = rb_ary_tmp_new_from_values(0, cnt, STACK_ADDR_FROM_TOP(cnt));
686
- POPN(cnt);
687
- val = rb_reg_new_ary(ary, (int)opt);
688
- rb_ary_clear(ary);
689
-
690
- #line 691 "vm.inc"
691
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
692
- PUSH(val);
693
- #undef CURRENT_INSN_toregexp
694
- #undef INSN_IS_SC
695
- #undef INSN_LABEL
696
- #undef LABEL_IS_SC
697
- END_INSN(toregexp);}}}
698
- INSN_ENTRY(intern){START_OF_ORIGINAL_INSN(intern);
699
- {
700
- VALUE sym;
701
-
702
- VALUE str = TOPN(0);
703
- DEBUG_ENTER_INSN("intern");
704
- ADD_PC(1+0);
705
- PREFETCH(GET_PC());
706
- POPN(1);
707
- #define CURRENT_INSN_intern 1
708
- #define INSN_IS_SC() 0
709
- #define INSN_LABEL(lab) LABEL_intern_##lab
710
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
711
- COLLECT_USAGE_INSN(BIN(intern));
712
- {
713
- #line 459 "insns.def"
714
- sym = rb_str_intern(str);
715
-
716
- #line 717 "vm.inc"
717
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
718
- PUSH(sym);
719
- #undef CURRENT_INSN_intern
720
- #undef INSN_IS_SC
721
- #undef INSN_LABEL
722
- #undef LABEL_IS_SC
723
- END_INSN(intern);}}}
724
- INSN_ENTRY(newarray){START_OF_ORIGINAL_INSN(newarray);
725
- {
726
- VALUE val;
727
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
728
-
729
- DEBUG_ENTER_INSN("newarray");
730
- ADD_PC(1+1);
731
- PREFETCH(GET_PC());
732
- #define CURRENT_INSN_newarray 1
733
- #define INSN_IS_SC() 0
734
- #define INSN_LABEL(lab) LABEL_newarray_##lab
735
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
736
- COLLECT_USAGE_INSN(BIN(newarray));
737
- COLLECT_USAGE_OPERAND(BIN(newarray), 0, num);
738
- {
739
- #line 473 "insns.def"
740
- val = rb_ary_new4(num, STACK_ADDR_FROM_TOP(num));
741
- POPN(num);
742
-
743
- #line 744 "vm.inc"
744
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
745
- PUSH(val);
746
- #undef CURRENT_INSN_newarray
747
- #undef INSN_IS_SC
748
- #undef INSN_LABEL
749
- #undef LABEL_IS_SC
750
- END_INSN(newarray);}}}
751
- INSN_ENTRY(duparray){START_OF_ORIGINAL_INSN(duparray);
752
- {
753
- VALUE val;
754
- VALUE ary = (VALUE)GET_OPERAND(1);
755
-
756
- DEBUG_ENTER_INSN("duparray");
757
- ADD_PC(1+1);
758
- PREFETCH(GET_PC());
759
- #define CURRENT_INSN_duparray 1
760
- #define INSN_IS_SC() 0
761
- #define INSN_LABEL(lab) LABEL_duparray_##lab
762
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
763
- COLLECT_USAGE_INSN(BIN(duparray));
764
- COLLECT_USAGE_OPERAND(BIN(duparray), 0, ary);
765
- {
766
- #line 488 "insns.def"
767
- val = rb_ary_resurrect(ary);
768
-
769
- #line 770 "vm.inc"
770
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
771
- PUSH(val);
772
- #undef CURRENT_INSN_duparray
773
- #undef INSN_IS_SC
774
- #undef INSN_LABEL
775
- #undef LABEL_IS_SC
776
- END_INSN(duparray);}}}
777
- INSN_ENTRY(expandarray){START_OF_ORIGINAL_INSN(expandarray);
778
- {
779
- rb_num_t flag = (rb_num_t)GET_OPERAND(2);
780
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
781
- VALUE ary = TOPN(0);
782
- DEBUG_ENTER_INSN("expandarray");
783
- ADD_PC(1+2);
784
- PREFETCH(GET_PC());
785
- POPN(1);
786
- #define CURRENT_INSN_expandarray 1
787
- #define INSN_IS_SC() 0
788
- #define INSN_LABEL(lab) LABEL_expandarray_##lab
789
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
790
- COLLECT_USAGE_INSN(BIN(expandarray));
791
- COLLECT_USAGE_OPERAND(BIN(expandarray), 0, num);
792
- COLLECT_USAGE_OPERAND(BIN(expandarray), 1, flag);
793
- {
794
- #line 516 "insns.def"
795
- vm_expandarray(GET_CFP(), ary, num, (int)flag);
796
-
797
- #line 798 "vm.inc"
798
- #undef CURRENT_INSN_expandarray
799
- #undef INSN_IS_SC
800
- #undef INSN_LABEL
801
- #undef LABEL_IS_SC
802
- END_INSN(expandarray);}}}
803
- INSN_ENTRY(concatarray){START_OF_ORIGINAL_INSN(concatarray);
804
- {
805
- VALUE ary;
806
-
807
- VALUE ary1 = TOPN(1);
808
- VALUE ary2 = TOPN(0);
809
- DEBUG_ENTER_INSN("concatarray");
810
- ADD_PC(1+0);
811
- PREFETCH(GET_PC());
812
- POPN(2);
813
- #define CURRENT_INSN_concatarray 1
814
- #define INSN_IS_SC() 0
815
- #define INSN_LABEL(lab) LABEL_concatarray_##lab
816
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
817
- COLLECT_USAGE_INSN(BIN(concatarray));
818
- {
819
- #line 530 "insns.def"
820
- ary = vm_concat_array(ary1, ary2);
821
-
822
- #line 823 "vm.inc"
823
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
824
- PUSH(ary);
825
- #undef CURRENT_INSN_concatarray
826
- #undef INSN_IS_SC
827
- #undef INSN_LABEL
828
- #undef LABEL_IS_SC
829
- END_INSN(concatarray);}}}
830
- INSN_ENTRY(splatarray){START_OF_ORIGINAL_INSN(splatarray);
831
- {
832
- VALUE obj;
833
- VALUE flag = (VALUE)GET_OPERAND(1);
834
- VALUE ary = TOPN(0);
835
- DEBUG_ENTER_INSN("splatarray");
836
- ADD_PC(1+1);
837
- PREFETCH(GET_PC());
838
- POPN(1);
839
- #define CURRENT_INSN_splatarray 1
840
- #define INSN_IS_SC() 0
841
- #define INSN_LABEL(lab) LABEL_splatarray_##lab
842
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
843
- COLLECT_USAGE_INSN(BIN(splatarray));
844
- COLLECT_USAGE_OPERAND(BIN(splatarray), 0, flag);
845
- {
846
- #line 544 "insns.def"
847
- obj = vm_splat_array(flag, ary);
848
-
849
- #line 850 "vm.inc"
850
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
851
- PUSH(obj);
852
- #undef CURRENT_INSN_splatarray
853
- #undef INSN_IS_SC
854
- #undef INSN_LABEL
855
- #undef LABEL_IS_SC
856
- END_INSN(splatarray);}}}
857
- INSN_ENTRY(newhash){START_OF_ORIGINAL_INSN(newhash);
858
- {
859
- VALUE val;
860
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
861
-
862
- DEBUG_ENTER_INSN("newhash");
863
- ADD_PC(1+1);
864
- PREFETCH(GET_PC());
865
- #define CURRENT_INSN_newhash 1
866
- #define INSN_IS_SC() 0
867
- #define INSN_LABEL(lab) LABEL_newhash_##lab
868
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
869
- COLLECT_USAGE_INSN(BIN(newhash));
870
- COLLECT_USAGE_OPERAND(BIN(newhash), 0, num);
871
- {
872
- #line 559 "insns.def"
873
- RUBY_DTRACE_CREATE_HOOK(HASH, num);
874
-
875
- val = rb_hash_new_with_size(num / 2);
876
-
877
- if (num) {
878
- rb_hash_bulk_insert(num, STACK_ADDR_FROM_TOP(num), val);
879
- }
880
- POPN(num);
881
-
882
- #line 883 "vm.inc"
883
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
884
- PUSH(val);
885
- #undef CURRENT_INSN_newhash
886
- #undef INSN_IS_SC
887
- #undef INSN_LABEL
888
- #undef LABEL_IS_SC
889
- END_INSN(newhash);}}}
890
- INSN_ENTRY(newrange){START_OF_ORIGINAL_INSN(newrange);
891
- {
892
- VALUE val;
893
- rb_num_t flag = (rb_num_t)GET_OPERAND(1);
894
- VALUE low = TOPN(1);
895
- VALUE high = TOPN(0);
896
- DEBUG_ENTER_INSN("newrange");
897
- ADD_PC(1+1);
898
- PREFETCH(GET_PC());
899
- POPN(2);
900
- #define CURRENT_INSN_newrange 1
901
- #define INSN_IS_SC() 0
902
- #define INSN_LABEL(lab) LABEL_newrange_##lab
903
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
904
- COLLECT_USAGE_INSN(BIN(newrange));
905
- COLLECT_USAGE_OPERAND(BIN(newrange), 0, flag);
906
- {
907
- #line 580 "insns.def"
908
- val = rb_range_new(low, high, (int)flag);
909
-
910
- #line 911 "vm.inc"
911
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
912
- PUSH(val);
913
- #undef CURRENT_INSN_newrange
914
- #undef INSN_IS_SC
915
- #undef INSN_LABEL
916
- #undef LABEL_IS_SC
917
- END_INSN(newrange);}}}
918
- INSN_ENTRY(pop){START_OF_ORIGINAL_INSN(pop);
919
- {
920
-
921
- VALUE val = TOPN(0);
922
- DEBUG_ENTER_INSN("pop");
923
- ADD_PC(1+0);
924
- PREFETCH(GET_PC());
925
- POPN(1);
926
- #define CURRENT_INSN_pop 1
927
- #define INSN_IS_SC() 0
928
- #define INSN_LABEL(lab) LABEL_pop_##lab
929
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
930
- COLLECT_USAGE_INSN(BIN(pop));
931
- {
932
- #line 598 "insns.def"
933
- (void)val;
934
- /* none */
935
-
936
- #line 937 "vm.inc"
937
- #undef CURRENT_INSN_pop
938
- #undef INSN_IS_SC
939
- #undef INSN_LABEL
940
- #undef LABEL_IS_SC
941
- END_INSN(pop);}}}
942
- INSN_ENTRY(dup){START_OF_ORIGINAL_INSN(dup);
943
- {
944
- VALUE val2;
945
- VALUE val1;
946
-
947
- VALUE val = TOPN(0);
948
- DEBUG_ENTER_INSN("dup");
949
- ADD_PC(1+0);
950
- PREFETCH(GET_PC());
951
- POPN(1);
952
- #define CURRENT_INSN_dup 1
953
- #define INSN_IS_SC() 0
954
- #define INSN_LABEL(lab) LABEL_dup_##lab
955
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
956
- COLLECT_USAGE_INSN(BIN(dup));
957
- {
958
- #line 613 "insns.def"
959
- val1 = val2 = val;
960
-
961
- #line 962 "vm.inc"
962
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 2);
963
- PUSH(val1);
964
- PUSH(val2);
965
- #undef CURRENT_INSN_dup
966
- #undef INSN_IS_SC
967
- #undef INSN_LABEL
968
- #undef LABEL_IS_SC
969
- END_INSN(dup);}}}
970
- INSN_ENTRY(dupn){START_OF_ORIGINAL_INSN(dupn);
971
- {
972
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
973
-
974
- DEBUG_ENTER_INSN("dupn");
975
- ADD_PC(1+1);
976
- PREFETCH(GET_PC());
977
- #define CURRENT_INSN_dupn 1
978
- #define INSN_IS_SC() 0
979
- #define INSN_LABEL(lab) LABEL_dupn_##lab
980
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
981
- COLLECT_USAGE_INSN(BIN(dupn));
982
- COLLECT_USAGE_OPERAND(BIN(dupn), 0, n);
983
- {
984
- #line 627 "insns.def"
985
- void *dst = GET_SP();
986
- void *src = STACK_ADDR_FROM_TOP(n);
987
-
988
- INC_SP(n); /* alloca */
989
- MEMCPY(dst, src, VALUE, n);
990
-
991
- #line 992 "vm.inc"
992
- #undef CURRENT_INSN_dupn
993
- #undef INSN_IS_SC
994
- #undef INSN_LABEL
995
- #undef LABEL_IS_SC
996
- END_INSN(dupn);}}}
997
- INSN_ENTRY(swap){START_OF_ORIGINAL_INSN(swap);
998
- {
999
-
1000
- VALUE val = TOPN(1);
1001
- VALUE obj = TOPN(0);
1002
- DEBUG_ENTER_INSN("swap");
1003
- ADD_PC(1+0);
1004
- PREFETCH(GET_PC());
1005
- POPN(2);
1006
- #define CURRENT_INSN_swap 1
1007
- #define INSN_IS_SC() 0
1008
- #define INSN_LABEL(lab) LABEL_swap_##lab
1009
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1010
- COLLECT_USAGE_INSN(BIN(swap));
1011
- {
1012
- #line 646 "insns.def"
1013
- /* none */
1014
-
1015
- #line 1016 "vm.inc"
1016
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 2);
1017
- PUSH(obj);
1018
- PUSH(val);
1019
- #undef CURRENT_INSN_swap
1020
- #undef INSN_IS_SC
1021
- #undef INSN_LABEL
1022
- #undef LABEL_IS_SC
1023
- END_INSN(swap);}}}
1024
- INSN_ENTRY(reverse){START_OF_ORIGINAL_INSN(reverse);
1025
- {
1026
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1027
-
1028
- DEBUG_ENTER_INSN("reverse");
1029
- ADD_PC(1+1);
1030
- PREFETCH(GET_PC());
1031
- #define CURRENT_INSN_reverse 1
1032
- #define INSN_IS_SC() 0
1033
- #define INSN_LABEL(lab) LABEL_reverse_##lab
1034
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1035
- COLLECT_USAGE_INSN(BIN(reverse));
1036
- COLLECT_USAGE_OPERAND(BIN(reverse), 0, n);
1037
- {
1038
- #line 660 "insns.def"
1039
- rb_num_t i;
1040
- VALUE *sp = STACK_ADDR_FROM_TOP(n);
1041
-
1042
- for (i=0; i<n/2; i++) {
1043
- VALUE v0 = sp[i];
1044
- VALUE v1 = TOPN(i);
1045
- sp[i] = v1;
1046
- TOPN(i) = v0;
1047
- }
1048
-
1049
- #line 1050 "vm.inc"
1050
- #undef CURRENT_INSN_reverse
1051
- #undef INSN_IS_SC
1052
- #undef INSN_LABEL
1053
- #undef LABEL_IS_SC
1054
- END_INSN(reverse);}}}
1055
- INSN_ENTRY(reput){START_OF_ORIGINAL_INSN(reput);
1056
- {
1057
-
1058
- VALUE val = TOPN(0);
1059
- DEBUG_ENTER_INSN("reput");
1060
- ADD_PC(1+0);
1061
- PREFETCH(GET_PC());
1062
- POPN(1);
1063
- #define CURRENT_INSN_reput 1
1064
- #define INSN_IS_SC() 0
1065
- #define INSN_LABEL(lab) LABEL_reput_##lab
1066
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1067
- COLLECT_USAGE_INSN(BIN(reput));
1068
- {
1069
- #line 682 "insns.def"
1070
- /* none */
1071
-
1072
- #line 1073 "vm.inc"
1073
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1074
- PUSH(val);
1075
- #undef CURRENT_INSN_reput
1076
- #undef INSN_IS_SC
1077
- #undef INSN_LABEL
1078
- #undef LABEL_IS_SC
1079
- END_INSN(reput);}}}
1080
- INSN_ENTRY(topn){START_OF_ORIGINAL_INSN(topn);
1081
- {
1082
- VALUE val;
1083
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1084
-
1085
- DEBUG_ENTER_INSN("topn");
1086
- ADD_PC(1+1);
1087
- PREFETCH(GET_PC());
1088
- #define CURRENT_INSN_topn 1
1089
- #define INSN_IS_SC() 0
1090
- #define INSN_LABEL(lab) LABEL_topn_##lab
1091
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1092
- COLLECT_USAGE_INSN(BIN(topn));
1093
- COLLECT_USAGE_OPERAND(BIN(topn), 0, n);
1094
- {
1095
- #line 696 "insns.def"
1096
- val = TOPN(n);
1097
-
1098
- #line 1099 "vm.inc"
1099
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1100
- PUSH(val);
1101
- #undef CURRENT_INSN_topn
1102
- #undef INSN_IS_SC
1103
- #undef INSN_LABEL
1104
- #undef LABEL_IS_SC
1105
- END_INSN(topn);}}}
1106
- INSN_ENTRY(setn){START_OF_ORIGINAL_INSN(setn);
1107
- {
1108
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1109
- VALUE val = TOPN(0);
1110
- DEBUG_ENTER_INSN("setn");
1111
- ADD_PC(1+1);
1112
- PREFETCH(GET_PC());
1113
- POPN(1);
1114
- #define CURRENT_INSN_setn 1
1115
- #define INSN_IS_SC() 0
1116
- #define INSN_LABEL(lab) LABEL_setn_##lab
1117
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1118
- COLLECT_USAGE_INSN(BIN(setn));
1119
- COLLECT_USAGE_OPERAND(BIN(setn), 0, n);
1120
- {
1121
- #line 710 "insns.def"
1122
- TOPN(n-1) = val;
1123
-
1124
- #line 1125 "vm.inc"
1125
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1126
- PUSH(val);
1127
- #undef CURRENT_INSN_setn
1128
- #undef INSN_IS_SC
1129
- #undef INSN_LABEL
1130
- #undef LABEL_IS_SC
1131
- END_INSN(setn);}}}
1132
- INSN_ENTRY(adjuststack){START_OF_ORIGINAL_INSN(adjuststack);
1133
- {
1134
- rb_num_t n = (rb_num_t)GET_OPERAND(1);
1135
-
1136
- DEBUG_ENTER_INSN("adjuststack");
1137
- ADD_PC(1+1);
1138
- PREFETCH(GET_PC());
1139
- #define CURRENT_INSN_adjuststack 1
1140
- #define INSN_IS_SC() 0
1141
- #define INSN_LABEL(lab) LABEL_adjuststack_##lab
1142
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1143
- COLLECT_USAGE_INSN(BIN(adjuststack));
1144
- COLLECT_USAGE_OPERAND(BIN(adjuststack), 0, n);
1145
- {
1146
- #line 724 "insns.def"
1147
- DEC_SP(n);
1148
-
1149
- #line 1150 "vm.inc"
1150
- #undef CURRENT_INSN_adjuststack
1151
- #undef INSN_IS_SC
1152
- #undef INSN_LABEL
1153
- #undef LABEL_IS_SC
1154
- END_INSN(adjuststack);}}}
1155
- INSN_ENTRY(defined){START_OF_ORIGINAL_INSN(defined);
1156
- {
1157
- VALUE val;
1158
- VALUE needstr = (VALUE)GET_OPERAND(3);
1159
- VALUE obj = (VALUE)GET_OPERAND(2);
1160
- rb_num_t op_type = (rb_num_t)GET_OPERAND(1);
1161
- VALUE v = TOPN(0);
1162
- DEBUG_ENTER_INSN("defined");
1163
- ADD_PC(1+3);
1164
- PREFETCH(GET_PC());
1165
- POPN(1);
1166
- #define CURRENT_INSN_defined 1
1167
- #define INSN_IS_SC() 0
1168
- #define INSN_LABEL(lab) LABEL_defined_##lab
1169
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1170
- COLLECT_USAGE_INSN(BIN(defined));
1171
- COLLECT_USAGE_OPERAND(BIN(defined), 0, op_type);
1172
- COLLECT_USAGE_OPERAND(BIN(defined), 1, obj);
1173
- COLLECT_USAGE_OPERAND(BIN(defined), 2, needstr);
1174
- {
1175
- #line 743 "insns.def"
1176
- val = vm_defined(ec, GET_CFP(), op_type, obj, needstr, v);
1177
-
1178
- #line 1179 "vm.inc"
1179
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1180
- PUSH(val);
1181
- #undef CURRENT_INSN_defined
1182
- #undef INSN_IS_SC
1183
- #undef INSN_LABEL
1184
- #undef LABEL_IS_SC
1185
- END_INSN(defined);}}}
1186
- INSN_ENTRY(checkmatch){START_OF_ORIGINAL_INSN(checkmatch);
1187
- {
1188
- VALUE result;
1189
- rb_num_t flag = (rb_num_t)GET_OPERAND(1);
1190
- VALUE target = TOPN(1);
1191
- VALUE pattern = TOPN(0);
1192
- DEBUG_ENTER_INSN("checkmatch");
1193
- ADD_PC(1+1);
1194
- PREFETCH(GET_PC());
1195
- POPN(2);
1196
- #define CURRENT_INSN_checkmatch 1
1197
- #define INSN_IS_SC() 0
1198
- #define INSN_LABEL(lab) LABEL_checkmatch_##lab
1199
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1200
- COLLECT_USAGE_INSN(BIN(checkmatch));
1201
- COLLECT_USAGE_OPERAND(BIN(checkmatch), 0, flag);
1202
- {
1203
- #line 762 "insns.def"
1204
- result = vm_check_match(ec, target, pattern, flag);
1205
-
1206
- #line 1207 "vm.inc"
1207
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1208
- PUSH(result);
1209
- #undef CURRENT_INSN_checkmatch
1210
- #undef INSN_IS_SC
1211
- #undef INSN_LABEL
1212
- #undef LABEL_IS_SC
1213
- END_INSN(checkmatch);}}}
1214
- INSN_ENTRY(checkkeyword){START_OF_ORIGINAL_INSN(checkkeyword);
1215
- {
1216
- VALUE ret;
1217
- lindex_t keyword_index = (lindex_t)GET_OPERAND(2);
1218
- lindex_t kw_bits_index = (lindex_t)GET_OPERAND(1);
1219
-
1220
- DEBUG_ENTER_INSN("checkkeyword");
1221
- ADD_PC(1+2);
1222
- PREFETCH(GET_PC());
1223
- #define CURRENT_INSN_checkkeyword 1
1224
- #define INSN_IS_SC() 0
1225
- #define INSN_LABEL(lab) LABEL_checkkeyword_##lab
1226
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1227
- COLLECT_USAGE_INSN(BIN(checkkeyword));
1228
- COLLECT_USAGE_OPERAND(BIN(checkkeyword), 0, kw_bits_index);
1229
- COLLECT_USAGE_OPERAND(BIN(checkkeyword), 1, keyword_index);
1230
- {
1231
- #line 776 "insns.def"
1232
- ret = vm_check_keyword(kw_bits_index, keyword_index, GET_EP());
1233
-
1234
- #line 1235 "vm.inc"
1235
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1236
- PUSH(ret);
1237
- #undef CURRENT_INSN_checkkeyword
1238
- #undef INSN_IS_SC
1239
- #undef INSN_LABEL
1240
- #undef LABEL_IS_SC
1241
- END_INSN(checkkeyword);}}}
1242
- INSN_ENTRY(tracecoverage){START_OF_ORIGINAL_INSN(tracecoverage);
1243
- {
1244
- VALUE data = (VALUE)GET_OPERAND(2);
1245
- rb_num_t nf = (rb_num_t)GET_OPERAND(1);
1246
-
1247
- DEBUG_ENTER_INSN("tracecoverage");
1248
- ADD_PC(1+2);
1249
- PREFETCH(GET_PC());
1250
- #define CURRENT_INSN_tracecoverage 1
1251
- #define INSN_IS_SC() 0
1252
- #define INSN_LABEL(lab) LABEL_tracecoverage_##lab
1253
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1254
- COLLECT_USAGE_INSN(BIN(tracecoverage));
1255
- COLLECT_USAGE_OPERAND(BIN(tracecoverage), 0, nf);
1256
- COLLECT_USAGE_OPERAND(BIN(tracecoverage), 1, data);
1257
- {
1258
- #line 790 "insns.def"
1259
- rb_event_flag_t flag = (rb_event_flag_t)nf;
1260
-
1261
- vm_dtrace(flag, ec);
1262
- EXEC_EVENT_HOOK(ec, flag, GET_SELF(), 0, 0, 0 /* id and klass are resolved at callee */, data);
1263
-
1264
- #line 1265 "vm.inc"
1265
- #undef CURRENT_INSN_tracecoverage
1266
- #undef INSN_IS_SC
1267
- #undef INSN_LABEL
1268
- #undef LABEL_IS_SC
1269
- END_INSN(tracecoverage);}}}
1270
- INSN_ENTRY(defineclass){START_OF_ORIGINAL_INSN(defineclass);
1271
- {
1272
- VALUE val;
1273
- rb_num_t flags = (rb_num_t)GET_OPERAND(3);
1274
- ISEQ class_iseq = (ISEQ)GET_OPERAND(2);
1275
- ID id = (ID)GET_OPERAND(1);
1276
- VALUE cbase = TOPN(1);
1277
- VALUE super = TOPN(0);
1278
- DEBUG_ENTER_INSN("defineclass");
1279
- ADD_PC(1+3);
1280
- PREFETCH(GET_PC());
1281
- POPN(2);
1282
- #define CURRENT_INSN_defineclass 1
1283
- #define INSN_IS_SC() 0
1284
- #define INSN_LABEL(lab) LABEL_defineclass_##lab
1285
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1286
- COLLECT_USAGE_INSN(BIN(defineclass));
1287
- COLLECT_USAGE_OPERAND(BIN(defineclass), 0, id);
1288
- COLLECT_USAGE_OPERAND(BIN(defineclass), 1, class_iseq);
1289
- COLLECT_USAGE_OPERAND(BIN(defineclass), 2, flags);
1290
- {
1291
- #line 815 "insns.def"
1292
- VALUE klass = vm_find_or_create_class_by_id(id, flags, cbase, super);
1293
-
1294
- rb_iseq_check(class_iseq);
1295
-
1296
- /* enter scope */
1297
- vm_push_frame(ec, class_iseq, VM_FRAME_MAGIC_CLASS | VM_ENV_FLAG_LOCAL, klass,
1298
- GET_BLOCK_HANDLER(),
1299
- (VALUE)vm_cref_push(ec, klass, NULL, FALSE),
1300
- class_iseq->body->iseq_encoded, GET_SP(),
1301
- class_iseq->body->local_table_size,
1302
- class_iseq->body->stack_max);
1303
- RESTORE_REGS();
1304
- NEXT_INSN();
1305
-
1306
- #line 1307 "vm.inc"
1307
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1308
- PUSH(val);
1309
- #undef CURRENT_INSN_defineclass
1310
- #undef INSN_IS_SC
1311
- #undef INSN_LABEL
1312
- #undef LABEL_IS_SC
1313
- END_INSN(defineclass);}}}
1314
- INSN_ENTRY(send){START_OF_ORIGINAL_INSN(send);
1315
- {
1316
- VALUE val;
1317
- ISEQ blockiseq = (ISEQ)GET_OPERAND(3);
1318
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1319
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1320
-
1321
- DEBUG_ENTER_INSN("send");
1322
- ADD_PC(1+3);
1323
- PREFETCH(GET_PC());
1324
- #define CURRENT_INSN_send 1
1325
- #define INSN_IS_SC() 0
1326
- #define INSN_LABEL(lab) LABEL_send_##lab
1327
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1328
- COLLECT_USAGE_INSN(BIN(send));
1329
- COLLECT_USAGE_OPERAND(BIN(send), 0, ci);
1330
- COLLECT_USAGE_OPERAND(BIN(send), 1, cc);
1331
- COLLECT_USAGE_OPERAND(BIN(send), 2, blockiseq);
1332
- {
1333
- #line 846 "insns.def"
1334
- struct rb_calling_info calling;
1335
-
1336
- vm_caller_setup_arg_block(ec, reg_cfp, &calling, ci, blockiseq, FALSE);
1337
- vm_search_method(ci, cc, calling.recv = TOPN(calling.argc = ci->orig_argc));
1338
- CALL_METHOD(&calling, ci, cc);
1339
-
1340
- #line 1341 "vm.inc"
1341
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1342
- PUSH(val);
1343
- #undef CURRENT_INSN_send
1344
- #undef INSN_IS_SC
1345
- #undef INSN_LABEL
1346
- #undef LABEL_IS_SC
1347
- END_INSN(send);}}}
1348
- INSN_ENTRY(opt_str_freeze){START_OF_ORIGINAL_INSN(opt_str_freeze);
1349
- {
1350
- VALUE val;
1351
- VALUE str = (VALUE)GET_OPERAND(1);
1352
-
1353
- DEBUG_ENTER_INSN("opt_str_freeze");
1354
- ADD_PC(1+1);
1355
- PREFETCH(GET_PC());
1356
- #define CURRENT_INSN_opt_str_freeze 1
1357
- #define INSN_IS_SC() 0
1358
- #define INSN_LABEL(lab) LABEL_opt_str_freeze_##lab
1359
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1360
- COLLECT_USAGE_INSN(BIN(opt_str_freeze));
1361
- COLLECT_USAGE_OPERAND(BIN(opt_str_freeze), 0, str);
1362
- {
1363
- #line 859 "insns.def"
1364
- if (BASIC_OP_UNREDEFINED_P(BOP_FREEZE, STRING_REDEFINED_OP_FLAG)) {
1365
- val = str;
1366
- }
1367
- else {
1368
- val = rb_funcall(rb_str_resurrect(str), idFreeze, 0);
1369
- }
1370
-
1371
- #line 1372 "vm.inc"
1372
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1373
- PUSH(val);
1374
- #undef CURRENT_INSN_opt_str_freeze
1375
- #undef INSN_IS_SC
1376
- #undef INSN_LABEL
1377
- #undef LABEL_IS_SC
1378
- END_INSN(opt_str_freeze);}}}
1379
- INSN_ENTRY(opt_str_uminus){START_OF_ORIGINAL_INSN(opt_str_uminus);
1380
- {
1381
- VALUE val;
1382
- VALUE str = (VALUE)GET_OPERAND(1);
1383
-
1384
- DEBUG_ENTER_INSN("opt_str_uminus");
1385
- ADD_PC(1+1);
1386
- PREFETCH(GET_PC());
1387
- #define CURRENT_INSN_opt_str_uminus 1
1388
- #define INSN_IS_SC() 0
1389
- #define INSN_LABEL(lab) LABEL_opt_str_uminus_##lab
1390
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1391
- COLLECT_USAGE_INSN(BIN(opt_str_uminus));
1392
- COLLECT_USAGE_OPERAND(BIN(opt_str_uminus), 0, str);
1393
- {
1394
- #line 873 "insns.def"
1395
- if (BASIC_OP_UNREDEFINED_P(BOP_UMINUS, STRING_REDEFINED_OP_FLAG)) {
1396
- val = str;
1397
- }
1398
- else {
1399
- val = rb_funcall(rb_str_resurrect(str), idUMinus, 0);
1400
- }
1401
-
1402
- #line 1403 "vm.inc"
1403
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1404
- PUSH(val);
1405
- #undef CURRENT_INSN_opt_str_uminus
1406
- #undef INSN_IS_SC
1407
- #undef INSN_LABEL
1408
- #undef LABEL_IS_SC
1409
- END_INSN(opt_str_uminus);}}}
1410
- INSN_ENTRY(opt_newarray_max){START_OF_ORIGINAL_INSN(opt_newarray_max);
1411
- {
1412
- VALUE val;
1413
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
1414
-
1415
- DEBUG_ENTER_INSN("opt_newarray_max");
1416
- ADD_PC(1+1);
1417
- PREFETCH(GET_PC());
1418
- #define CURRENT_INSN_opt_newarray_max 1
1419
- #define INSN_IS_SC() 0
1420
- #define INSN_LABEL(lab) LABEL_opt_newarray_max_##lab
1421
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1422
- COLLECT_USAGE_INSN(BIN(opt_newarray_max));
1423
- COLLECT_USAGE_OPERAND(BIN(opt_newarray_max), 0, num);
1424
- {
1425
- #line 887 "insns.def"
1426
- val = vm_opt_newarray_max(num, STACK_ADDR_FROM_TOP(num));
1427
- POPN(num);
1428
-
1429
- #line 1430 "vm.inc"
1430
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1431
- PUSH(val);
1432
- #undef CURRENT_INSN_opt_newarray_max
1433
- #undef INSN_IS_SC
1434
- #undef INSN_LABEL
1435
- #undef LABEL_IS_SC
1436
- END_INSN(opt_newarray_max);}}}
1437
- INSN_ENTRY(opt_newarray_min){START_OF_ORIGINAL_INSN(opt_newarray_min);
1438
- {
1439
- VALUE val;
1440
- rb_num_t num = (rb_num_t)GET_OPERAND(1);
1441
-
1442
- DEBUG_ENTER_INSN("opt_newarray_min");
1443
- ADD_PC(1+1);
1444
- PREFETCH(GET_PC());
1445
- #define CURRENT_INSN_opt_newarray_min 1
1446
- #define INSN_IS_SC() 0
1447
- #define INSN_LABEL(lab) LABEL_opt_newarray_min_##lab
1448
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1449
- COLLECT_USAGE_INSN(BIN(opt_newarray_min));
1450
- COLLECT_USAGE_OPERAND(BIN(opt_newarray_min), 0, num);
1451
- {
1452
- #line 897 "insns.def"
1453
- val = vm_opt_newarray_min(num, STACK_ADDR_FROM_TOP(num));
1454
- POPN(num);
1455
-
1456
- #line 1457 "vm.inc"
1457
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1458
- PUSH(val);
1459
- #undef CURRENT_INSN_opt_newarray_min
1460
- #undef INSN_IS_SC
1461
- #undef INSN_LABEL
1462
- #undef LABEL_IS_SC
1463
- END_INSN(opt_newarray_min);}}}
1464
- INSN_ENTRY(opt_send_without_block){START_OF_ORIGINAL_INSN(opt_send_without_block);
1465
- {
1466
- VALUE val;
1467
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1468
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1469
-
1470
- DEBUG_ENTER_INSN("opt_send_without_block");
1471
- ADD_PC(1+2);
1472
- PREFETCH(GET_PC());
1473
- #define CURRENT_INSN_opt_send_without_block 1
1474
- #define INSN_IS_SC() 0
1475
- #define INSN_LABEL(lab) LABEL_opt_send_without_block_##lab
1476
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1477
- COLLECT_USAGE_INSN(BIN(opt_send_without_block));
1478
- COLLECT_USAGE_OPERAND(BIN(opt_send_without_block), 0, ci);
1479
- COLLECT_USAGE_OPERAND(BIN(opt_send_without_block), 1, cc);
1480
- {
1481
- #line 912 "insns.def"
1482
- struct rb_calling_info calling;
1483
- calling.block_handler = VM_BLOCK_HANDLER_NONE;
1484
- vm_search_method(ci, cc, calling.recv = TOPN(calling.argc = ci->orig_argc));
1485
- CALL_METHOD(&calling, ci, cc);
1486
-
1487
- #line 1488 "vm.inc"
1488
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1489
- PUSH(val);
1490
- #undef CURRENT_INSN_opt_send_without_block
1491
- #undef INSN_IS_SC
1492
- #undef INSN_LABEL
1493
- #undef LABEL_IS_SC
1494
- END_INSN(opt_send_without_block);}}}
1495
- INSN_ENTRY(invokesuper){START_OF_ORIGINAL_INSN(invokesuper);
1496
- {
1497
- VALUE val;
1498
- ISEQ blockiseq = (ISEQ)GET_OPERAND(3);
1499
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1500
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1501
-
1502
- DEBUG_ENTER_INSN("invokesuper");
1503
- ADD_PC(1+3);
1504
- PREFETCH(GET_PC());
1505
- #define CURRENT_INSN_invokesuper 1
1506
- #define INSN_IS_SC() 0
1507
- #define INSN_LABEL(lab) LABEL_invokesuper_##lab
1508
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1509
- COLLECT_USAGE_INSN(BIN(invokesuper));
1510
- COLLECT_USAGE_OPERAND(BIN(invokesuper), 0, ci);
1511
- COLLECT_USAGE_OPERAND(BIN(invokesuper), 1, cc);
1512
- COLLECT_USAGE_OPERAND(BIN(invokesuper), 2, blockiseq);
1513
- {
1514
- #line 929 "insns.def"
1515
- struct rb_calling_info calling;
1516
- calling.argc = ci->orig_argc;
1517
-
1518
- vm_caller_setup_arg_block(ec, reg_cfp, &calling, ci, blockiseq, TRUE);
1519
- calling.recv = GET_SELF();
1520
- vm_search_super_method(ec, GET_CFP(), &calling, ci, cc);
1521
- CALL_METHOD(&calling, ci, cc);
1522
-
1523
- #line 1524 "vm.inc"
1524
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1525
- PUSH(val);
1526
- #undef CURRENT_INSN_invokesuper
1527
- #undef INSN_IS_SC
1528
- #undef INSN_LABEL
1529
- #undef LABEL_IS_SC
1530
- END_INSN(invokesuper);}}}
1531
- INSN_ENTRY(invokeblock){START_OF_ORIGINAL_INSN(invokeblock);
1532
- {
1533
- VALUE val;
1534
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1535
-
1536
- DEBUG_ENTER_INSN("invokeblock");
1537
- ADD_PC(1+1);
1538
- PREFETCH(GET_PC());
1539
- #define CURRENT_INSN_invokeblock 1
1540
- #define INSN_IS_SC() 0
1541
- #define INSN_LABEL(lab) LABEL_invokeblock_##lab
1542
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1543
- COLLECT_USAGE_INSN(BIN(invokeblock));
1544
- COLLECT_USAGE_OPERAND(BIN(invokeblock), 0, ci);
1545
- {
1546
- #line 949 "insns.def"
1547
- struct rb_calling_info calling;
1548
- calling.argc = ci->orig_argc;
1549
- calling.block_handler = VM_BLOCK_HANDLER_NONE;
1550
- calling.recv = GET_SELF();
1551
-
1552
- val = vm_invoke_block(ec, GET_CFP(), &calling, ci);
1553
- if (val == Qundef) {
1554
- RESTORE_REGS();
1555
- NEXT_INSN();
1556
- }
1557
-
1558
- #line 1559 "vm.inc"
1559
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1560
- PUSH(val);
1561
- #undef CURRENT_INSN_invokeblock
1562
- #undef INSN_IS_SC
1563
- #undef INSN_LABEL
1564
- #undef LABEL_IS_SC
1565
- END_INSN(invokeblock);}}}
1566
- INSN_ENTRY(leave){START_OF_ORIGINAL_INSN(leave);
1567
- {
1568
-
1569
- VALUE val = TOPN(0);
1570
- DEBUG_ENTER_INSN("leave");
1571
- ADD_PC(1+0);
1572
- PREFETCH(GET_PC());
1573
- POPN(1);
1574
- #define CURRENT_INSN_leave 1
1575
- #define INSN_IS_SC() 0
1576
- #define INSN_LABEL(lab) LABEL_leave_##lab
1577
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1578
- COLLECT_USAGE_INSN(BIN(leave));
1579
- {
1580
- #line 972 "insns.def"
1581
- if (OPT_CHECKED_RUN) {
1582
- const VALUE *const bp = vm_base_ptr(reg_cfp);
1583
- if (reg_cfp->sp != bp) {
1584
- vm_stack_consistency_error(ec, reg_cfp, bp);
1585
- }
1586
- }
1587
-
1588
- RUBY_VM_CHECK_INTS(ec);
1589
-
1590
- if (vm_pop_frame(ec, GET_CFP(), GET_EP())) {
1591
- #if OPT_CALL_THREADED_CODE
1592
- rb_ec_thread_ptr(ec)->retval = val;
1593
- return 0;
1594
- #else
1595
- return val;
1596
- #endif
1597
- }
1598
- else {
1599
- RESTORE_REGS();
1600
- }
1601
-
1602
- #line 1603 "vm.inc"
1603
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1604
- PUSH(val);
1605
- #undef CURRENT_INSN_leave
1606
- #undef INSN_IS_SC
1607
- #undef INSN_LABEL
1608
- #undef LABEL_IS_SC
1609
- END_INSN(leave);}}}
1610
- INSN_ENTRY(throw){START_OF_ORIGINAL_INSN(throw);
1611
- {
1612
- VALUE val;
1613
- rb_num_t throw_state = (rb_num_t)GET_OPERAND(1);
1614
- VALUE throwobj = TOPN(0);
1615
- DEBUG_ENTER_INSN("throw");
1616
- ADD_PC(1+1);
1617
- PREFETCH(GET_PC());
1618
- POPN(1);
1619
- #define CURRENT_INSN_throw 1
1620
- #define INSN_IS_SC() 0
1621
- #define INSN_LABEL(lab) LABEL_throw_##lab
1622
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1623
- COLLECT_USAGE_INSN(BIN(throw));
1624
- COLLECT_USAGE_OPERAND(BIN(throw), 0, throw_state);
1625
- {
1626
- #line 1009 "insns.def"
1627
- RUBY_VM_CHECK_INTS(ec);
1628
- val = vm_throw(ec, GET_CFP(), throw_state, throwobj);
1629
- THROW_EXCEPTION(val);
1630
- /* unreachable */
1631
-
1632
- #line 1633 "vm.inc"
1633
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1634
- PUSH(val);
1635
- #undef CURRENT_INSN_throw
1636
- #undef INSN_IS_SC
1637
- #undef INSN_LABEL
1638
- #undef LABEL_IS_SC
1639
- END_INSN(throw);}}}
1640
- INSN_ENTRY(jump){START_OF_ORIGINAL_INSN(jump);
1641
- {
1642
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1643
-
1644
- DEBUG_ENTER_INSN("jump");
1645
- ADD_PC(1+1);
1646
- PREFETCH(GET_PC());
1647
- #define CURRENT_INSN_jump 1
1648
- #define INSN_IS_SC() 0
1649
- #define INSN_LABEL(lab) LABEL_jump_##lab
1650
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1651
- COLLECT_USAGE_INSN(BIN(jump));
1652
- COLLECT_USAGE_OPERAND(BIN(jump), 0, dst);
1653
- {
1654
- #line 1030 "insns.def"
1655
- RUBY_VM_CHECK_INTS(ec);
1656
- JUMP(dst);
1657
-
1658
- #line 1659 "vm.inc"
1659
- #undef CURRENT_INSN_jump
1660
- #undef INSN_IS_SC
1661
- #undef INSN_LABEL
1662
- #undef LABEL_IS_SC
1663
- END_INSN(jump);}}}
1664
- INSN_ENTRY(branchif){START_OF_ORIGINAL_INSN(branchif);
1665
- {
1666
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1667
- VALUE val = TOPN(0);
1668
- DEBUG_ENTER_INSN("branchif");
1669
- ADD_PC(1+1);
1670
- PREFETCH(GET_PC());
1671
- POPN(1);
1672
- #define CURRENT_INSN_branchif 1
1673
- #define INSN_IS_SC() 0
1674
- #define INSN_LABEL(lab) LABEL_branchif_##lab
1675
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1676
- COLLECT_USAGE_INSN(BIN(branchif));
1677
- COLLECT_USAGE_OPERAND(BIN(branchif), 0, dst);
1678
- {
1679
- #line 1045 "insns.def"
1680
- if (RTEST(val)) {
1681
- RUBY_VM_CHECK_INTS(ec);
1682
- JUMP(dst);
1683
- }
1684
-
1685
- #line 1686 "vm.inc"
1686
- #undef CURRENT_INSN_branchif
1687
- #undef INSN_IS_SC
1688
- #undef INSN_LABEL
1689
- #undef LABEL_IS_SC
1690
- END_INSN(branchif);}}}
1691
- INSN_ENTRY(branchunless){START_OF_ORIGINAL_INSN(branchunless);
1692
- {
1693
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1694
- VALUE val = TOPN(0);
1695
- DEBUG_ENTER_INSN("branchunless");
1696
- ADD_PC(1+1);
1697
- PREFETCH(GET_PC());
1698
- POPN(1);
1699
- #define CURRENT_INSN_branchunless 1
1700
- #define INSN_IS_SC() 0
1701
- #define INSN_LABEL(lab) LABEL_branchunless_##lab
1702
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1703
- COLLECT_USAGE_INSN(BIN(branchunless));
1704
- COLLECT_USAGE_OPERAND(BIN(branchunless), 0, dst);
1705
- {
1706
- #line 1062 "insns.def"
1707
- if (!RTEST(val)) {
1708
- RUBY_VM_CHECK_INTS(ec);
1709
- JUMP(dst);
1710
- }
1711
-
1712
- #line 1713 "vm.inc"
1713
- #undef CURRENT_INSN_branchunless
1714
- #undef INSN_IS_SC
1715
- #undef INSN_LABEL
1716
- #undef LABEL_IS_SC
1717
- END_INSN(branchunless);}}}
1718
- INSN_ENTRY(branchnil){START_OF_ORIGINAL_INSN(branchnil);
1719
- {
1720
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1721
- VALUE val = TOPN(0);
1722
- DEBUG_ENTER_INSN("branchnil");
1723
- ADD_PC(1+1);
1724
- PREFETCH(GET_PC());
1725
- POPN(1);
1726
- #define CURRENT_INSN_branchnil 1
1727
- #define INSN_IS_SC() 0
1728
- #define INSN_LABEL(lab) LABEL_branchnil_##lab
1729
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1730
- COLLECT_USAGE_INSN(BIN(branchnil));
1731
- COLLECT_USAGE_OPERAND(BIN(branchnil), 0, dst);
1732
- {
1733
- #line 1079 "insns.def"
1734
- if (NIL_P(val)) {
1735
- RUBY_VM_CHECK_INTS(ec);
1736
- JUMP(dst);
1737
- }
1738
-
1739
- #line 1740 "vm.inc"
1740
- #undef CURRENT_INSN_branchnil
1741
- #undef INSN_IS_SC
1742
- #undef INSN_LABEL
1743
- #undef LABEL_IS_SC
1744
- END_INSN(branchnil);}}}
1745
- INSN_ENTRY(branchiftype){START_OF_ORIGINAL_INSN(branchiftype);
1746
- {
1747
- OFFSET dst = (OFFSET)GET_OPERAND(2);
1748
- rb_num_t type = (rb_num_t)GET_OPERAND(1);
1749
- VALUE val = TOPN(0);
1750
- DEBUG_ENTER_INSN("branchiftype");
1751
- ADD_PC(1+2);
1752
- PREFETCH(GET_PC());
1753
- POPN(1);
1754
- #define CURRENT_INSN_branchiftype 1
1755
- #define INSN_IS_SC() 0
1756
- #define INSN_LABEL(lab) LABEL_branchiftype_##lab
1757
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1758
- COLLECT_USAGE_INSN(BIN(branchiftype));
1759
- COLLECT_USAGE_OPERAND(BIN(branchiftype), 0, type);
1760
- COLLECT_USAGE_OPERAND(BIN(branchiftype), 1, dst);
1761
- {
1762
- #line 1096 "insns.def"
1763
- if (TYPE(val) == (int)type) {
1764
- RUBY_VM_CHECK_INTS(ec);
1765
- JUMP(dst);
1766
- }
1767
-
1768
- #line 1769 "vm.inc"
1769
- #undef CURRENT_INSN_branchiftype
1770
- #undef INSN_IS_SC
1771
- #undef INSN_LABEL
1772
- #undef LABEL_IS_SC
1773
- END_INSN(branchiftype);}}}
1774
- INSN_ENTRY(getinlinecache){START_OF_ORIGINAL_INSN(getinlinecache);
1775
- {
1776
- VALUE val;
1777
- IC ic = (IC)GET_OPERAND(2);
1778
- OFFSET dst = (OFFSET)GET_OPERAND(1);
1779
-
1780
- DEBUG_ENTER_INSN("getinlinecache");
1781
- ADD_PC(1+2);
1782
- PREFETCH(GET_PC());
1783
- #define CURRENT_INSN_getinlinecache 1
1784
- #define INSN_IS_SC() 0
1785
- #define INSN_LABEL(lab) LABEL_getinlinecache_##lab
1786
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1787
- COLLECT_USAGE_INSN(BIN(getinlinecache));
1788
- COLLECT_USAGE_OPERAND(BIN(getinlinecache), 0, dst);
1789
- COLLECT_USAGE_OPERAND(BIN(getinlinecache), 1, ic);
1790
- {
1791
- #line 1118 "insns.def"
1792
- val = vm_ic_hit_p(ic, GET_EP());
1793
- if (val != Qnil) {
1794
- JUMP(dst);
1795
- }
1796
-
1797
- #line 1798 "vm.inc"
1798
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1799
- PUSH(val);
1800
- #undef CURRENT_INSN_getinlinecache
1801
- #undef INSN_IS_SC
1802
- #undef INSN_LABEL
1803
- #undef LABEL_IS_SC
1804
- END_INSN(getinlinecache);}}}
1805
- INSN_ENTRY(setinlinecache){START_OF_ORIGINAL_INSN(setinlinecache);
1806
- {
1807
- IC ic = (IC)GET_OPERAND(1);
1808
- VALUE val = TOPN(0);
1809
- DEBUG_ENTER_INSN("setinlinecache");
1810
- ADD_PC(1+1);
1811
- PREFETCH(GET_PC());
1812
- POPN(1);
1813
- #define CURRENT_INSN_setinlinecache 1
1814
- #define INSN_IS_SC() 0
1815
- #define INSN_LABEL(lab) LABEL_setinlinecache_##lab
1816
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1817
- COLLECT_USAGE_INSN(BIN(setinlinecache));
1818
- COLLECT_USAGE_OPERAND(BIN(setinlinecache), 0, ic);
1819
- {
1820
- #line 1135 "insns.def"
1821
- vm_ic_update(ic, val, GET_EP());
1822
-
1823
- #line 1824 "vm.inc"
1824
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1825
- PUSH(val);
1826
- #undef CURRENT_INSN_setinlinecache
1827
- #undef INSN_IS_SC
1828
- #undef INSN_LABEL
1829
- #undef LABEL_IS_SC
1830
- END_INSN(setinlinecache);}}}
1831
- INSN_ENTRY(once){START_OF_ORIGINAL_INSN(once);
1832
- {
1833
- VALUE val;
1834
- IC ic = (IC)GET_OPERAND(2);
1835
- ISEQ iseq = (ISEQ)GET_OPERAND(1);
1836
-
1837
- DEBUG_ENTER_INSN("once");
1838
- ADD_PC(1+2);
1839
- PREFETCH(GET_PC());
1840
- #define CURRENT_INSN_once 1
1841
- #define INSN_IS_SC() 0
1842
- #define INSN_LABEL(lab) LABEL_once_##lab
1843
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1844
- COLLECT_USAGE_INSN(BIN(once));
1845
- COLLECT_USAGE_OPERAND(BIN(once), 0, iseq);
1846
- COLLECT_USAGE_OPERAND(BIN(once), 1, ic);
1847
- {
1848
- #line 1149 "insns.def"
1849
- val = vm_once_dispatch(ec, iseq, ic);
1850
-
1851
- #line 1852 "vm.inc"
1852
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1853
- PUSH(val);
1854
- #undef CURRENT_INSN_once
1855
- #undef INSN_IS_SC
1856
- #undef INSN_LABEL
1857
- #undef LABEL_IS_SC
1858
- END_INSN(once);}}}
1859
- INSN_ENTRY(opt_case_dispatch){START_OF_ORIGINAL_INSN(opt_case_dispatch);
1860
- {
1861
- OFFSET else_offset = (OFFSET)GET_OPERAND(2);
1862
- CDHASH hash = (CDHASH)GET_OPERAND(1);
1863
- VALUE key = TOPN(0);
1864
- DEBUG_ENTER_INSN("opt_case_dispatch");
1865
- ADD_PC(1+2);
1866
- PREFETCH(GET_PC());
1867
- POPN(1);
1868
- #define CURRENT_INSN_opt_case_dispatch 1
1869
- #define INSN_IS_SC() 0
1870
- #define INSN_LABEL(lab) LABEL_opt_case_dispatch_##lab
1871
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1872
- COLLECT_USAGE_INSN(BIN(opt_case_dispatch));
1873
- COLLECT_USAGE_OPERAND(BIN(opt_case_dispatch), 0, hash);
1874
- COLLECT_USAGE_OPERAND(BIN(opt_case_dispatch), 1, else_offset);
1875
- {
1876
- #line 1163 "insns.def"
1877
- OFFSET dst = vm_case_dispatch(hash, else_offset, key);
1878
-
1879
- if (dst) {
1880
- JUMP(dst);
1881
- }
1882
-
1883
- #line 1884 "vm.inc"
1884
- #undef CURRENT_INSN_opt_case_dispatch
1885
- #undef INSN_IS_SC
1886
- #undef INSN_LABEL
1887
- #undef LABEL_IS_SC
1888
- END_INSN(opt_case_dispatch);}}}
1889
- INSN_ENTRY(opt_plus){START_OF_ORIGINAL_INSN(opt_plus);
1890
- {
1891
- VALUE val;
1892
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1893
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1894
- VALUE recv = TOPN(1);
1895
- VALUE obj = TOPN(0);
1896
- DEBUG_ENTER_INSN("opt_plus");
1897
- ADD_PC(1+2);
1898
- PREFETCH(GET_PC());
1899
- POPN(2);
1900
- #define CURRENT_INSN_opt_plus 1
1901
- #define INSN_IS_SC() 0
1902
- #define INSN_LABEL(lab) LABEL_opt_plus_##lab
1903
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1904
- COLLECT_USAGE_INSN(BIN(opt_plus));
1905
- COLLECT_USAGE_OPERAND(BIN(opt_plus), 0, ci);
1906
- COLLECT_USAGE_OPERAND(BIN(opt_plus), 1, cc);
1907
- {
1908
- #line 1183 "insns.def"
1909
- val = vm_opt_plus(recv, obj);
1910
-
1911
- if (val == Qundef) {
1912
- /* other */
1913
- PUSH(recv);
1914
- PUSH(obj);
1915
- CALL_SIMPLE_METHOD(recv);
1916
- }
1917
-
1918
- #line 1919 "vm.inc"
1919
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1920
- PUSH(val);
1921
- #undef CURRENT_INSN_opt_plus
1922
- #undef INSN_IS_SC
1923
- #undef INSN_LABEL
1924
- #undef LABEL_IS_SC
1925
- END_INSN(opt_plus);}}}
1926
- INSN_ENTRY(opt_minus){START_OF_ORIGINAL_INSN(opt_minus);
1927
- {
1928
- VALUE val;
1929
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1930
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1931
- VALUE recv = TOPN(1);
1932
- VALUE obj = TOPN(0);
1933
- DEBUG_ENTER_INSN("opt_minus");
1934
- ADD_PC(1+2);
1935
- PREFETCH(GET_PC());
1936
- POPN(2);
1937
- #define CURRENT_INSN_opt_minus 1
1938
- #define INSN_IS_SC() 0
1939
- #define INSN_LABEL(lab) LABEL_opt_minus_##lab
1940
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1941
- COLLECT_USAGE_INSN(BIN(opt_minus));
1942
- COLLECT_USAGE_OPERAND(BIN(opt_minus), 0, ci);
1943
- COLLECT_USAGE_OPERAND(BIN(opt_minus), 1, cc);
1944
- {
1945
- #line 1204 "insns.def"
1946
- val = vm_opt_minus(recv, obj);
1947
-
1948
- if (val == Qundef) {
1949
- /* other */
1950
- PUSH(recv);
1951
- PUSH(obj);
1952
- CALL_SIMPLE_METHOD(recv);
1953
- }
1954
-
1955
- #line 1956 "vm.inc"
1956
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1957
- PUSH(val);
1958
- #undef CURRENT_INSN_opt_minus
1959
- #undef INSN_IS_SC
1960
- #undef INSN_LABEL
1961
- #undef LABEL_IS_SC
1962
- END_INSN(opt_minus);}}}
1963
- INSN_ENTRY(opt_mult){START_OF_ORIGINAL_INSN(opt_mult);
1964
- {
1965
- VALUE val;
1966
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
1967
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
1968
- VALUE recv = TOPN(1);
1969
- VALUE obj = TOPN(0);
1970
- DEBUG_ENTER_INSN("opt_mult");
1971
- ADD_PC(1+2);
1972
- PREFETCH(GET_PC());
1973
- POPN(2);
1974
- #define CURRENT_INSN_opt_mult 1
1975
- #define INSN_IS_SC() 0
1976
- #define INSN_LABEL(lab) LABEL_opt_mult_##lab
1977
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
1978
- COLLECT_USAGE_INSN(BIN(opt_mult));
1979
- COLLECT_USAGE_OPERAND(BIN(opt_mult), 0, ci);
1980
- COLLECT_USAGE_OPERAND(BIN(opt_mult), 1, cc);
1981
- {
1982
- #line 1225 "insns.def"
1983
- val = vm_opt_mult(recv, obj);
1984
-
1985
- if (val == Qundef) {
1986
- /* other */
1987
- PUSH(recv);
1988
- PUSH(obj);
1989
- CALL_SIMPLE_METHOD(recv);
1990
- }
1991
-
1992
- #line 1993 "vm.inc"
1993
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
1994
- PUSH(val);
1995
- #undef CURRENT_INSN_opt_mult
1996
- #undef INSN_IS_SC
1997
- #undef INSN_LABEL
1998
- #undef LABEL_IS_SC
1999
- END_INSN(opt_mult);}}}
2000
- INSN_ENTRY(opt_div){START_OF_ORIGINAL_INSN(opt_div);
2001
- {
2002
- VALUE val;
2003
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2004
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2005
- VALUE recv = TOPN(1);
2006
- VALUE obj = TOPN(0);
2007
- DEBUG_ENTER_INSN("opt_div");
2008
- ADD_PC(1+2);
2009
- PREFETCH(GET_PC());
2010
- POPN(2);
2011
- #define CURRENT_INSN_opt_div 1
2012
- #define INSN_IS_SC() 0
2013
- #define INSN_LABEL(lab) LABEL_opt_div_##lab
2014
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2015
- COLLECT_USAGE_INSN(BIN(opt_div));
2016
- COLLECT_USAGE_OPERAND(BIN(opt_div), 0, ci);
2017
- COLLECT_USAGE_OPERAND(BIN(opt_div), 1, cc);
2018
- {
2019
- #line 1246 "insns.def"
2020
- val = vm_opt_div(recv, obj);
2021
-
2022
- if (val == Qundef) {
2023
- /* other */
2024
- PUSH(recv);
2025
- PUSH(obj);
2026
- CALL_SIMPLE_METHOD(recv);
2027
- }
2028
-
2029
- #line 2030 "vm.inc"
2030
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2031
- PUSH(val);
2032
- #undef CURRENT_INSN_opt_div
2033
- #undef INSN_IS_SC
2034
- #undef INSN_LABEL
2035
- #undef LABEL_IS_SC
2036
- END_INSN(opt_div);}}}
2037
- INSN_ENTRY(opt_mod){START_OF_ORIGINAL_INSN(opt_mod);
2038
- {
2039
- VALUE val;
2040
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2041
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2042
- VALUE recv = TOPN(1);
2043
- VALUE obj = TOPN(0);
2044
- DEBUG_ENTER_INSN("opt_mod");
2045
- ADD_PC(1+2);
2046
- PREFETCH(GET_PC());
2047
- POPN(2);
2048
- #define CURRENT_INSN_opt_mod 1
2049
- #define INSN_IS_SC() 0
2050
- #define INSN_LABEL(lab) LABEL_opt_mod_##lab
2051
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2052
- COLLECT_USAGE_INSN(BIN(opt_mod));
2053
- COLLECT_USAGE_OPERAND(BIN(opt_mod), 0, ci);
2054
- COLLECT_USAGE_OPERAND(BIN(opt_mod), 1, cc);
2055
- {
2056
- #line 1267 "insns.def"
2057
- val = vm_opt_mod(recv, obj);
2058
-
2059
- if (val == Qundef) {
2060
- /* other */
2061
- PUSH(recv);
2062
- PUSH(obj);
2063
- CALL_SIMPLE_METHOD(recv);
2064
- }
2065
-
2066
- #line 2067 "vm.inc"
2067
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2068
- PUSH(val);
2069
- #undef CURRENT_INSN_opt_mod
2070
- #undef INSN_IS_SC
2071
- #undef INSN_LABEL
2072
- #undef LABEL_IS_SC
2073
- END_INSN(opt_mod);}}}
2074
- INSN_ENTRY(opt_eq){START_OF_ORIGINAL_INSN(opt_eq);
2075
- {
2076
- VALUE val;
2077
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2078
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2079
- VALUE recv = TOPN(1);
2080
- VALUE obj = TOPN(0);
2081
- DEBUG_ENTER_INSN("opt_eq");
2082
- ADD_PC(1+2);
2083
- PREFETCH(GET_PC());
2084
- POPN(2);
2085
- #define CURRENT_INSN_opt_eq 1
2086
- #define INSN_IS_SC() 0
2087
- #define INSN_LABEL(lab) LABEL_opt_eq_##lab
2088
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2089
- COLLECT_USAGE_INSN(BIN(opt_eq));
2090
- COLLECT_USAGE_OPERAND(BIN(opt_eq), 0, ci);
2091
- COLLECT_USAGE_OPERAND(BIN(opt_eq), 1, cc);
2092
- {
2093
- #line 1288 "insns.def"
2094
- val = opt_eq_func(recv, obj, ci, cc);
2095
-
2096
- if (val == Qundef) {
2097
- /* other */
2098
- PUSH(recv);
2099
- PUSH(obj);
2100
- CALL_SIMPLE_METHOD(recv);
2101
- }
2102
-
2103
- #line 2104 "vm.inc"
2104
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2105
- PUSH(val);
2106
- #undef CURRENT_INSN_opt_eq
2107
- #undef INSN_IS_SC
2108
- #undef INSN_LABEL
2109
- #undef LABEL_IS_SC
2110
- END_INSN(opt_eq);}}}
2111
- INSN_ENTRY(opt_neq){START_OF_ORIGINAL_INSN(opt_neq);
2112
- {
2113
- VALUE val;
2114
- CALL_CACHE cc_eq = (CALL_CACHE)GET_OPERAND(4);
2115
- CALL_INFO ci_eq = (CALL_INFO)GET_OPERAND(3);
2116
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2117
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2118
- VALUE recv = TOPN(1);
2119
- VALUE obj = TOPN(0);
2120
- DEBUG_ENTER_INSN("opt_neq");
2121
- ADD_PC(1+4);
2122
- PREFETCH(GET_PC());
2123
- POPN(2);
2124
- #define CURRENT_INSN_opt_neq 1
2125
- #define INSN_IS_SC() 0
2126
- #define INSN_LABEL(lab) LABEL_opt_neq_##lab
2127
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2128
- COLLECT_USAGE_INSN(BIN(opt_neq));
2129
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 0, ci);
2130
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 1, cc);
2131
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 2, ci_eq);
2132
- COLLECT_USAGE_OPERAND(BIN(opt_neq), 3, cc_eq);
2133
- {
2134
- #line 1309 "insns.def"
2135
- val = vm_opt_neq(ci, cc, ci_eq, cc_eq, recv, obj);
2136
-
2137
- if (val == Qundef) {
2138
- /* other */
2139
- PUSH(recv);
2140
- PUSH(obj);
2141
- CALL_SIMPLE_METHOD(recv);
2142
- }
2143
-
2144
- #line 2145 "vm.inc"
2145
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2146
- PUSH(val);
2147
- #undef CURRENT_INSN_opt_neq
2148
- #undef INSN_IS_SC
2149
- #undef INSN_LABEL
2150
- #undef LABEL_IS_SC
2151
- END_INSN(opt_neq);}}}
2152
- INSN_ENTRY(opt_lt){START_OF_ORIGINAL_INSN(opt_lt);
2153
- {
2154
- VALUE val;
2155
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2156
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2157
- VALUE recv = TOPN(1);
2158
- VALUE obj = TOPN(0);
2159
- DEBUG_ENTER_INSN("opt_lt");
2160
- ADD_PC(1+2);
2161
- PREFETCH(GET_PC());
2162
- POPN(2);
2163
- #define CURRENT_INSN_opt_lt 1
2164
- #define INSN_IS_SC() 0
2165
- #define INSN_LABEL(lab) LABEL_opt_lt_##lab
2166
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2167
- COLLECT_USAGE_INSN(BIN(opt_lt));
2168
- COLLECT_USAGE_OPERAND(BIN(opt_lt), 0, ci);
2169
- COLLECT_USAGE_OPERAND(BIN(opt_lt), 1, cc);
2170
- {
2171
- #line 1330 "insns.def"
2172
- val = vm_opt_lt(recv, obj);
2173
-
2174
- if (val == Qundef) {
2175
- /* other */
2176
- PUSH(recv);
2177
- PUSH(obj);
2178
- CALL_SIMPLE_METHOD(recv);
2179
- }
2180
-
2181
- #line 2182 "vm.inc"
2182
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2183
- PUSH(val);
2184
- #undef CURRENT_INSN_opt_lt
2185
- #undef INSN_IS_SC
2186
- #undef INSN_LABEL
2187
- #undef LABEL_IS_SC
2188
- END_INSN(opt_lt);}}}
2189
- INSN_ENTRY(opt_le){START_OF_ORIGINAL_INSN(opt_le);
2190
- {
2191
- VALUE val;
2192
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2193
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2194
- VALUE recv = TOPN(1);
2195
- VALUE obj = TOPN(0);
2196
- DEBUG_ENTER_INSN("opt_le");
2197
- ADD_PC(1+2);
2198
- PREFETCH(GET_PC());
2199
- POPN(2);
2200
- #define CURRENT_INSN_opt_le 1
2201
- #define INSN_IS_SC() 0
2202
- #define INSN_LABEL(lab) LABEL_opt_le_##lab
2203
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2204
- COLLECT_USAGE_INSN(BIN(opt_le));
2205
- COLLECT_USAGE_OPERAND(BIN(opt_le), 0, ci);
2206
- COLLECT_USAGE_OPERAND(BIN(opt_le), 1, cc);
2207
- {
2208
- #line 1351 "insns.def"
2209
- val = vm_opt_le(recv, obj);
2210
-
2211
- if (val == Qundef) {
2212
- /* other */
2213
- PUSH(recv);
2214
- PUSH(obj);
2215
- CALL_SIMPLE_METHOD(recv);
2216
- }
2217
-
2218
- #line 2219 "vm.inc"
2219
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2220
- PUSH(val);
2221
- #undef CURRENT_INSN_opt_le
2222
- #undef INSN_IS_SC
2223
- #undef INSN_LABEL
2224
- #undef LABEL_IS_SC
2225
- END_INSN(opt_le);}}}
2226
- INSN_ENTRY(opt_gt){START_OF_ORIGINAL_INSN(opt_gt);
2227
- {
2228
- VALUE val;
2229
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2230
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2231
- VALUE recv = TOPN(1);
2232
- VALUE obj = TOPN(0);
2233
- DEBUG_ENTER_INSN("opt_gt");
2234
- ADD_PC(1+2);
2235
- PREFETCH(GET_PC());
2236
- POPN(2);
2237
- #define CURRENT_INSN_opt_gt 1
2238
- #define INSN_IS_SC() 0
2239
- #define INSN_LABEL(lab) LABEL_opt_gt_##lab
2240
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2241
- COLLECT_USAGE_INSN(BIN(opt_gt));
2242
- COLLECT_USAGE_OPERAND(BIN(opt_gt), 0, ci);
2243
- COLLECT_USAGE_OPERAND(BIN(opt_gt), 1, cc);
2244
- {
2245
- #line 1372 "insns.def"
2246
- val = vm_opt_gt(recv, obj);
2247
-
2248
- if (val == Qundef) {
2249
- /* other */
2250
- PUSH(recv);
2251
- PUSH(obj);
2252
- CALL_SIMPLE_METHOD(recv);
2253
- }
2254
-
2255
- #line 2256 "vm.inc"
2256
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2257
- PUSH(val);
2258
- #undef CURRENT_INSN_opt_gt
2259
- #undef INSN_IS_SC
2260
- #undef INSN_LABEL
2261
- #undef LABEL_IS_SC
2262
- END_INSN(opt_gt);}}}
2263
- INSN_ENTRY(opt_ge){START_OF_ORIGINAL_INSN(opt_ge);
2264
- {
2265
- VALUE val;
2266
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2267
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2268
- VALUE recv = TOPN(1);
2269
- VALUE obj = TOPN(0);
2270
- DEBUG_ENTER_INSN("opt_ge");
2271
- ADD_PC(1+2);
2272
- PREFETCH(GET_PC());
2273
- POPN(2);
2274
- #define CURRENT_INSN_opt_ge 1
2275
- #define INSN_IS_SC() 0
2276
- #define INSN_LABEL(lab) LABEL_opt_ge_##lab
2277
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2278
- COLLECT_USAGE_INSN(BIN(opt_ge));
2279
- COLLECT_USAGE_OPERAND(BIN(opt_ge), 0, ci);
2280
- COLLECT_USAGE_OPERAND(BIN(opt_ge), 1, cc);
2281
- {
2282
- #line 1393 "insns.def"
2283
- val = vm_opt_ge(recv, obj);
2284
-
2285
- if (val == Qundef) {
2286
- /* other */
2287
- PUSH(recv);
2288
- PUSH(obj);
2289
- CALL_SIMPLE_METHOD(recv);
2290
- }
2291
-
2292
- #line 2293 "vm.inc"
2293
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2294
- PUSH(val);
2295
- #undef CURRENT_INSN_opt_ge
2296
- #undef INSN_IS_SC
2297
- #undef INSN_LABEL
2298
- #undef LABEL_IS_SC
2299
- END_INSN(opt_ge);}}}
2300
- INSN_ENTRY(opt_ltlt){START_OF_ORIGINAL_INSN(opt_ltlt);
2301
- {
2302
- VALUE val;
2303
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2304
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2305
- VALUE recv = TOPN(1);
2306
- VALUE obj = TOPN(0);
2307
- DEBUG_ENTER_INSN("opt_ltlt");
2308
- ADD_PC(1+2);
2309
- PREFETCH(GET_PC());
2310
- POPN(2);
2311
- #define CURRENT_INSN_opt_ltlt 1
2312
- #define INSN_IS_SC() 0
2313
- #define INSN_LABEL(lab) LABEL_opt_ltlt_##lab
2314
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2315
- COLLECT_USAGE_INSN(BIN(opt_ltlt));
2316
- COLLECT_USAGE_OPERAND(BIN(opt_ltlt), 0, ci);
2317
- COLLECT_USAGE_OPERAND(BIN(opt_ltlt), 1, cc);
2318
- {
2319
- #line 1414 "insns.def"
2320
- val = vm_opt_ltlt(recv, obj);
2321
-
2322
- if (val == Qundef) {
2323
- /* other */
2324
- PUSH(recv);
2325
- PUSH(obj);
2326
- CALL_SIMPLE_METHOD(recv);
2327
- }
2328
-
2329
- #line 2330 "vm.inc"
2330
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2331
- PUSH(val);
2332
- #undef CURRENT_INSN_opt_ltlt
2333
- #undef INSN_IS_SC
2334
- #undef INSN_LABEL
2335
- #undef LABEL_IS_SC
2336
- END_INSN(opt_ltlt);}}}
2337
- INSN_ENTRY(opt_aref){START_OF_ORIGINAL_INSN(opt_aref);
2338
- {
2339
- VALUE val;
2340
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2341
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2342
- VALUE recv = TOPN(1);
2343
- VALUE obj = TOPN(0);
2344
- DEBUG_ENTER_INSN("opt_aref");
2345
- ADD_PC(1+2);
2346
- PREFETCH(GET_PC());
2347
- POPN(2);
2348
- #define CURRENT_INSN_opt_aref 1
2349
- #define INSN_IS_SC() 0
2350
- #define INSN_LABEL(lab) LABEL_opt_aref_##lab
2351
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2352
- COLLECT_USAGE_INSN(BIN(opt_aref));
2353
- COLLECT_USAGE_OPERAND(BIN(opt_aref), 0, ci);
2354
- COLLECT_USAGE_OPERAND(BIN(opt_aref), 1, cc);
2355
- {
2356
- #line 1435 "insns.def"
2357
- val = vm_opt_aref(recv, obj);
2358
-
2359
- if (val == Qundef) {
2360
- /* other */
2361
- PUSH(recv);
2362
- PUSH(obj);
2363
- CALL_SIMPLE_METHOD(recv);
2364
- }
2365
-
2366
- #line 2367 "vm.inc"
2367
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2368
- PUSH(val);
2369
- #undef CURRENT_INSN_opt_aref
2370
- #undef INSN_IS_SC
2371
- #undef INSN_LABEL
2372
- #undef LABEL_IS_SC
2373
- END_INSN(opt_aref);}}}
2374
- INSN_ENTRY(opt_aset){START_OF_ORIGINAL_INSN(opt_aset);
2375
- {
2376
- VALUE val;
2377
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2378
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2379
- VALUE recv = TOPN(2);
2380
- VALUE obj = TOPN(1);
2381
- VALUE set = TOPN(0);
2382
- DEBUG_ENTER_INSN("opt_aset");
2383
- ADD_PC(1+2);
2384
- PREFETCH(GET_PC());
2385
- POPN(3);
2386
- #define CURRENT_INSN_opt_aset 1
2387
- #define INSN_IS_SC() 0
2388
- #define INSN_LABEL(lab) LABEL_opt_aset_##lab
2389
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2390
- COLLECT_USAGE_INSN(BIN(opt_aset));
2391
- COLLECT_USAGE_OPERAND(BIN(opt_aset), 0, ci);
2392
- COLLECT_USAGE_OPERAND(BIN(opt_aset), 1, cc);
2393
- {
2394
- #line 1456 "insns.def"
2395
- val = vm_opt_aset(recv, obj, set);
2396
-
2397
- if (val == Qundef) {
2398
- /* other */
2399
- PUSH(recv);
2400
- PUSH(obj);
2401
- PUSH(set);
2402
- CALL_SIMPLE_METHOD(recv);
2403
- }
2404
-
2405
- #line 2406 "vm.inc"
2406
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2407
- PUSH(val);
2408
- #undef CURRENT_INSN_opt_aset
2409
- #undef INSN_IS_SC
2410
- #undef INSN_LABEL
2411
- #undef LABEL_IS_SC
2412
- END_INSN(opt_aset);}}}
2413
- INSN_ENTRY(opt_aset_with){START_OF_ORIGINAL_INSN(opt_aset_with);
2414
- {
2415
- VALUE key = (VALUE)GET_OPERAND(3);
2416
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2417
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2418
- VALUE recv = TOPN(1);
2419
- VALUE val = TOPN(0);
2420
- DEBUG_ENTER_INSN("opt_aset_with");
2421
- ADD_PC(1+3);
2422
- PREFETCH(GET_PC());
2423
- POPN(2);
2424
- #define CURRENT_INSN_opt_aset_with 1
2425
- #define INSN_IS_SC() 0
2426
- #define INSN_LABEL(lab) LABEL_opt_aset_with_##lab
2427
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2428
- COLLECT_USAGE_INSN(BIN(opt_aset_with));
2429
- COLLECT_USAGE_OPERAND(BIN(opt_aset_with), 0, ci);
2430
- COLLECT_USAGE_OPERAND(BIN(opt_aset_with), 1, cc);
2431
- COLLECT_USAGE_OPERAND(BIN(opt_aset_with), 2, key);
2432
- {
2433
- #line 1478 "insns.def"
2434
- VALUE tmp = vm_opt_aset_with(recv, key, val);
2435
-
2436
- if (tmp != Qundef) {
2437
- val = tmp;
2438
- }
2439
- else {
2440
- /* other */
2441
- PUSH(recv);
2442
- PUSH(rb_str_resurrect(key));
2443
- PUSH(val);
2444
- CALL_SIMPLE_METHOD(recv);
2445
- }
2446
-
2447
- #line 2448 "vm.inc"
2448
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2449
- PUSH(val);
2450
- #undef CURRENT_INSN_opt_aset_with
2451
- #undef INSN_IS_SC
2452
- #undef INSN_LABEL
2453
- #undef LABEL_IS_SC
2454
- END_INSN(opt_aset_with);}}}
2455
- INSN_ENTRY(opt_aref_with){START_OF_ORIGINAL_INSN(opt_aref_with);
2456
- {
2457
- VALUE val;
2458
- VALUE key = (VALUE)GET_OPERAND(3);
2459
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2460
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2461
- VALUE recv = TOPN(0);
2462
- DEBUG_ENTER_INSN("opt_aref_with");
2463
- ADD_PC(1+3);
2464
- PREFETCH(GET_PC());
2465
- POPN(1);
2466
- #define CURRENT_INSN_opt_aref_with 1
2467
- #define INSN_IS_SC() 0
2468
- #define INSN_LABEL(lab) LABEL_opt_aref_with_##lab
2469
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2470
- COLLECT_USAGE_INSN(BIN(opt_aref_with));
2471
- COLLECT_USAGE_OPERAND(BIN(opt_aref_with), 0, ci);
2472
- COLLECT_USAGE_OPERAND(BIN(opt_aref_with), 1, cc);
2473
- COLLECT_USAGE_OPERAND(BIN(opt_aref_with), 2, key);
2474
- {
2475
- #line 1503 "insns.def"
2476
- val = vm_opt_aref_with(recv, key);
2477
-
2478
- if (val == Qundef) {
2479
- /* other */
2480
- PUSH(recv);
2481
- PUSH(rb_str_resurrect(key));
2482
- CALL_SIMPLE_METHOD(recv);
2483
- }
2484
-
2485
- #line 2486 "vm.inc"
2486
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2487
- PUSH(val);
2488
- #undef CURRENT_INSN_opt_aref_with
2489
- #undef INSN_IS_SC
2490
- #undef INSN_LABEL
2491
- #undef LABEL_IS_SC
2492
- END_INSN(opt_aref_with);}}}
2493
- INSN_ENTRY(opt_length){START_OF_ORIGINAL_INSN(opt_length);
2494
- {
2495
- VALUE val;
2496
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2497
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2498
- VALUE recv = TOPN(0);
2499
- DEBUG_ENTER_INSN("opt_length");
2500
- ADD_PC(1+2);
2501
- PREFETCH(GET_PC());
2502
- POPN(1);
2503
- #define CURRENT_INSN_opt_length 1
2504
- #define INSN_IS_SC() 0
2505
- #define INSN_LABEL(lab) LABEL_opt_length_##lab
2506
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2507
- COLLECT_USAGE_INSN(BIN(opt_length));
2508
- COLLECT_USAGE_OPERAND(BIN(opt_length), 0, ci);
2509
- COLLECT_USAGE_OPERAND(BIN(opt_length), 1, cc);
2510
- {
2511
- #line 1524 "insns.def"
2512
- val = vm_opt_length(recv, BOP_LENGTH);
2513
-
2514
- if (val == Qundef) {
2515
- /* other */
2516
- PUSH(recv);
2517
- CALL_SIMPLE_METHOD(recv);
2518
- }
2519
-
2520
- #line 2521 "vm.inc"
2521
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2522
- PUSH(val);
2523
- #undef CURRENT_INSN_opt_length
2524
- #undef INSN_IS_SC
2525
- #undef INSN_LABEL
2526
- #undef LABEL_IS_SC
2527
- END_INSN(opt_length);}}}
2528
- INSN_ENTRY(opt_size){START_OF_ORIGINAL_INSN(opt_size);
2529
- {
2530
- VALUE val;
2531
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2532
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2533
- VALUE recv = TOPN(0);
2534
- DEBUG_ENTER_INSN("opt_size");
2535
- ADD_PC(1+2);
2536
- PREFETCH(GET_PC());
2537
- POPN(1);
2538
- #define CURRENT_INSN_opt_size 1
2539
- #define INSN_IS_SC() 0
2540
- #define INSN_LABEL(lab) LABEL_opt_size_##lab
2541
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2542
- COLLECT_USAGE_INSN(BIN(opt_size));
2543
- COLLECT_USAGE_OPERAND(BIN(opt_size), 0, ci);
2544
- COLLECT_USAGE_OPERAND(BIN(opt_size), 1, cc);
2545
- {
2546
- #line 1544 "insns.def"
2547
- val = vm_opt_length(recv, BOP_SIZE);
2548
-
2549
- if (val == Qundef) {
2550
- /* other */
2551
- PUSH(recv);
2552
- CALL_SIMPLE_METHOD(recv);
2553
- }
2554
-
2555
- #line 2556 "vm.inc"
2556
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2557
- PUSH(val);
2558
- #undef CURRENT_INSN_opt_size
2559
- #undef INSN_IS_SC
2560
- #undef INSN_LABEL
2561
- #undef LABEL_IS_SC
2562
- END_INSN(opt_size);}}}
2563
- INSN_ENTRY(opt_empty_p){START_OF_ORIGINAL_INSN(opt_empty_p);
2564
- {
2565
- VALUE val;
2566
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2567
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2568
- VALUE recv = TOPN(0);
2569
- DEBUG_ENTER_INSN("opt_empty_p");
2570
- ADD_PC(1+2);
2571
- PREFETCH(GET_PC());
2572
- POPN(1);
2573
- #define CURRENT_INSN_opt_empty_p 1
2574
- #define INSN_IS_SC() 0
2575
- #define INSN_LABEL(lab) LABEL_opt_empty_p_##lab
2576
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2577
- COLLECT_USAGE_INSN(BIN(opt_empty_p));
2578
- COLLECT_USAGE_OPERAND(BIN(opt_empty_p), 0, ci);
2579
- COLLECT_USAGE_OPERAND(BIN(opt_empty_p), 1, cc);
2580
- {
2581
- #line 1564 "insns.def"
2582
- val = vm_opt_empty_p(recv);
2583
-
2584
- if (val == Qundef) {
2585
- /* other */
2586
- PUSH(recv);
2587
- CALL_SIMPLE_METHOD(recv);
2588
- }
2589
-
2590
- #line 2591 "vm.inc"
2591
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2592
- PUSH(val);
2593
- #undef CURRENT_INSN_opt_empty_p
2594
- #undef INSN_IS_SC
2595
- #undef INSN_LABEL
2596
- #undef LABEL_IS_SC
2597
- END_INSN(opt_empty_p);}}}
2598
- INSN_ENTRY(opt_succ){START_OF_ORIGINAL_INSN(opt_succ);
2599
- {
2600
- VALUE val;
2601
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2602
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2603
- VALUE recv = TOPN(0);
2604
- DEBUG_ENTER_INSN("opt_succ");
2605
- ADD_PC(1+2);
2606
- PREFETCH(GET_PC());
2607
- POPN(1);
2608
- #define CURRENT_INSN_opt_succ 1
2609
- #define INSN_IS_SC() 0
2610
- #define INSN_LABEL(lab) LABEL_opt_succ_##lab
2611
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2612
- COLLECT_USAGE_INSN(BIN(opt_succ));
2613
- COLLECT_USAGE_OPERAND(BIN(opt_succ), 0, ci);
2614
- COLLECT_USAGE_OPERAND(BIN(opt_succ), 1, cc);
2615
- {
2616
- #line 1584 "insns.def"
2617
- val = vm_opt_succ(recv);
2618
-
2619
- if (val == Qundef) {
2620
- /* other */
2621
- PUSH(recv);
2622
- CALL_SIMPLE_METHOD(recv);
2623
- }
2624
-
2625
- #line 2626 "vm.inc"
2626
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2627
- PUSH(val);
2628
- #undef CURRENT_INSN_opt_succ
2629
- #undef INSN_IS_SC
2630
- #undef INSN_LABEL
2631
- #undef LABEL_IS_SC
2632
- END_INSN(opt_succ);}}}
2633
- INSN_ENTRY(opt_not){START_OF_ORIGINAL_INSN(opt_not);
2634
- {
2635
- VALUE val;
2636
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2637
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2638
- VALUE recv = TOPN(0);
2639
- DEBUG_ENTER_INSN("opt_not");
2640
- ADD_PC(1+2);
2641
- PREFETCH(GET_PC());
2642
- POPN(1);
2643
- #define CURRENT_INSN_opt_not 1
2644
- #define INSN_IS_SC() 0
2645
- #define INSN_LABEL(lab) LABEL_opt_not_##lab
2646
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2647
- COLLECT_USAGE_INSN(BIN(opt_not));
2648
- COLLECT_USAGE_OPERAND(BIN(opt_not), 0, ci);
2649
- COLLECT_USAGE_OPERAND(BIN(opt_not), 1, cc);
2650
- {
2651
- #line 1604 "insns.def"
2652
- val = vm_opt_not(ci, cc, recv);
2653
-
2654
- if (val == Qundef) {
2655
- /* other */
2656
- PUSH(recv);
2657
- CALL_SIMPLE_METHOD(recv);
2658
- }
2659
-
2660
- #line 2661 "vm.inc"
2661
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2662
- PUSH(val);
2663
- #undef CURRENT_INSN_opt_not
2664
- #undef INSN_IS_SC
2665
- #undef INSN_LABEL
2666
- #undef LABEL_IS_SC
2667
- END_INSN(opt_not);}}}
2668
- INSN_ENTRY(opt_regexpmatch1){START_OF_ORIGINAL_INSN(opt_regexpmatch1);
2669
- {
2670
- VALUE val;
2671
- VALUE recv = (VALUE)GET_OPERAND(1);
2672
- VALUE obj = TOPN(0);
2673
- DEBUG_ENTER_INSN("opt_regexpmatch1");
2674
- ADD_PC(1+1);
2675
- PREFETCH(GET_PC());
2676
- POPN(1);
2677
- #define CURRENT_INSN_opt_regexpmatch1 1
2678
- #define INSN_IS_SC() 0
2679
- #define INSN_LABEL(lab) LABEL_opt_regexpmatch1_##lab
2680
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2681
- COLLECT_USAGE_INSN(BIN(opt_regexpmatch1));
2682
- COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch1), 0, recv);
2683
- {
2684
- #line 1625 "insns.def"
2685
- val = vm_opt_regexpmatch1(recv, obj);
2686
-
2687
- #line 2688 "vm.inc"
2688
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2689
- PUSH(val);
2690
- #undef CURRENT_INSN_opt_regexpmatch1
2691
- #undef INSN_IS_SC
2692
- #undef INSN_LABEL
2693
- #undef LABEL_IS_SC
2694
- END_INSN(opt_regexpmatch1);}}}
2695
- INSN_ENTRY(opt_regexpmatch2){START_OF_ORIGINAL_INSN(opt_regexpmatch2);
2696
- {
2697
- VALUE val;
2698
- CALL_CACHE cc = (CALL_CACHE)GET_OPERAND(2);
2699
- CALL_INFO ci = (CALL_INFO)GET_OPERAND(1);
2700
- VALUE obj2 = TOPN(1);
2701
- VALUE obj1 = TOPN(0);
2702
- DEBUG_ENTER_INSN("opt_regexpmatch2");
2703
- ADD_PC(1+2);
2704
- PREFETCH(GET_PC());
2705
- POPN(2);
2706
- #define CURRENT_INSN_opt_regexpmatch2 1
2707
- #define INSN_IS_SC() 0
2708
- #define INSN_LABEL(lab) LABEL_opt_regexpmatch2_##lab
2709
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2710
- COLLECT_USAGE_INSN(BIN(opt_regexpmatch2));
2711
- COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch2), 0, ci);
2712
- COLLECT_USAGE_OPERAND(BIN(opt_regexpmatch2), 1, cc);
2713
- {
2714
- #line 1639 "insns.def"
2715
- val = vm_opt_regexpmatch2(obj2, obj1);
2716
-
2717
- if (val == Qundef) {
2718
- /* other */
2719
- PUSH(obj2);
2720
- PUSH(obj1);
2721
- CALL_SIMPLE_METHOD(obj2);
2722
- }
2723
-
2724
- #line 2725 "vm.inc"
2725
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2726
- PUSH(val);
2727
- #undef CURRENT_INSN_opt_regexpmatch2
2728
- #undef INSN_IS_SC
2729
- #undef INSN_LABEL
2730
- #undef LABEL_IS_SC
2731
- END_INSN(opt_regexpmatch2);}}}
2732
- INSN_ENTRY(opt_call_c_function){START_OF_ORIGINAL_INSN(opt_call_c_function);
2733
- {
2734
- rb_insn_func_t funcptr = (rb_insn_func_t)GET_OPERAND(1);
2735
-
2736
- DEBUG_ENTER_INSN("opt_call_c_function");
2737
- ADD_PC(1+1);
2738
- PREFETCH(GET_PC());
2739
- #define CURRENT_INSN_opt_call_c_function 1
2740
- #define INSN_IS_SC() 0
2741
- #define INSN_LABEL(lab) LABEL_opt_call_c_function_##lab
2742
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2743
- COLLECT_USAGE_INSN(BIN(opt_call_c_function));
2744
- COLLECT_USAGE_OPERAND(BIN(opt_call_c_function), 0, funcptr);
2745
- {
2746
- #line 1660 "insns.def"
2747
- reg_cfp = (funcptr)(ec, reg_cfp);
2748
-
2749
- if (reg_cfp == 0) {
2750
- VALUE err = ec->errinfo;
2751
- ec->errinfo = Qnil;
2752
- THROW_EXCEPTION(err);
2753
- }
2754
-
2755
- RESTORE_REGS();
2756
- NEXT_INSN();
2757
-
2758
- #line 2759 "vm.inc"
2759
- #undef CURRENT_INSN_opt_call_c_function
2760
- #undef INSN_IS_SC
2761
- #undef INSN_LABEL
2762
- #undef LABEL_IS_SC
2763
- END_INSN(opt_call_c_function);}}}
2764
- INSN_ENTRY(bitblt){START_OF_ORIGINAL_INSN(bitblt);
2765
- {
2766
- VALUE ret;
2767
-
2768
-
2769
- DEBUG_ENTER_INSN("bitblt");
2770
- ADD_PC(1+0);
2771
- PREFETCH(GET_PC());
2772
- #define CURRENT_INSN_bitblt 1
2773
- #define INSN_IS_SC() 0
2774
- #define INSN_LABEL(lab) LABEL_bitblt_##lab
2775
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2776
- COLLECT_USAGE_INSN(BIN(bitblt));
2777
- {
2778
- #line 1683 "insns.def"
2779
- ret = rb_str_new2("a bit of bacon, lettuce and tomato");
2780
-
2781
- #line 2782 "vm.inc"
2782
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2783
- PUSH(ret);
2784
- #undef CURRENT_INSN_bitblt
2785
- #undef INSN_IS_SC
2786
- #undef INSN_LABEL
2787
- #undef LABEL_IS_SC
2788
- END_INSN(bitblt);}}}
2789
- INSN_ENTRY(answer){START_OF_ORIGINAL_INSN(answer);
2790
- {
2791
- VALUE ret;
2792
-
2793
-
2794
- DEBUG_ENTER_INSN("answer");
2795
- ADD_PC(1+0);
2796
- PREFETCH(GET_PC());
2797
- #define CURRENT_INSN_answer 1
2798
- #define INSN_IS_SC() 0
2799
- #define INSN_LABEL(lab) LABEL_answer_##lab
2800
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2801
- COLLECT_USAGE_INSN(BIN(answer));
2802
- {
2803
- #line 1697 "insns.def"
2804
- ret = INT2FIX(42);
2805
-
2806
- #line 2807 "vm.inc"
2807
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2808
- PUSH(ret);
2809
- #undef CURRENT_INSN_answer
2810
- #undef INSN_IS_SC
2811
- #undef INSN_LABEL
2812
- #undef LABEL_IS_SC
2813
- END_INSN(answer);}}}
2814
- INSN_ENTRY(getlocal_OP__WC__0){START_OF_ORIGINAL_INSN(getlocal_OP__WC__0);
2815
- {
2816
- VALUE val;
2817
- #define level 0
2818
- lindex_t idx = (lindex_t)GET_OPERAND(1);
2819
-
2820
- DEBUG_ENTER_INSN("getlocal_OP__WC__0");
2821
- ADD_PC(1+1);
2822
- PREFETCH(GET_PC());
2823
- #define CURRENT_INSN_getlocal_OP__WC__0 1
2824
- #define INSN_IS_SC() 0
2825
- #define INSN_LABEL(lab) LABEL_getlocal_OP__WC__0_##lab
2826
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2827
- COLLECT_USAGE_INSN(BIN(getlocal_OP__WC__0));
2828
- COLLECT_USAGE_OPERAND(BIN(getlocal_OP__WC__0), 0, idx);
2829
- {
2830
- #line 60 "insns.def"
2831
- val = *(vm_get_ep(GET_EP(), level) - idx);
2832
- RB_DEBUG_COUNTER_INC(lvar_get);
2833
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
2834
-
2835
- #line 2836 "vm.inc"
2836
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2837
- PUSH(val);
2838
- #undef level
2839
- #undef CURRENT_INSN_getlocal_OP__WC__0
2840
- #undef INSN_IS_SC
2841
- #undef INSN_LABEL
2842
- #undef LABEL_IS_SC
2843
- END_INSN(getlocal_OP__WC__0);}}}
2844
- INSN_ENTRY(getlocal_OP__WC__1){START_OF_ORIGINAL_INSN(getlocal_OP__WC__1);
2845
- {
2846
- VALUE val;
2847
- #define level 1
2848
- lindex_t idx = (lindex_t)GET_OPERAND(1);
2849
-
2850
- DEBUG_ENTER_INSN("getlocal_OP__WC__1");
2851
- ADD_PC(1+1);
2852
- PREFETCH(GET_PC());
2853
- #define CURRENT_INSN_getlocal_OP__WC__1 1
2854
- #define INSN_IS_SC() 0
2855
- #define INSN_LABEL(lab) LABEL_getlocal_OP__WC__1_##lab
2856
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2857
- COLLECT_USAGE_INSN(BIN(getlocal_OP__WC__1));
2858
- COLLECT_USAGE_OPERAND(BIN(getlocal_OP__WC__1), 0, idx);
2859
- {
2860
- #line 60 "insns.def"
2861
- val = *(vm_get_ep(GET_EP(), level) - idx);
2862
- RB_DEBUG_COUNTER_INC(lvar_get);
2863
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_get_dynamic, level > 0);
2864
-
2865
- #line 2866 "vm.inc"
2866
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2867
- PUSH(val);
2868
- #undef level
2869
- #undef CURRENT_INSN_getlocal_OP__WC__1
2870
- #undef INSN_IS_SC
2871
- #undef INSN_LABEL
2872
- #undef LABEL_IS_SC
2873
- END_INSN(getlocal_OP__WC__1);}}}
2874
- INSN_ENTRY(setlocal_OP__WC__0){START_OF_ORIGINAL_INSN(setlocal_OP__WC__0);
2875
- {
2876
- #define level 0
2877
- lindex_t idx = (lindex_t)GET_OPERAND(1);
2878
- VALUE val = TOPN(0);
2879
- DEBUG_ENTER_INSN("setlocal_OP__WC__0");
2880
- ADD_PC(1+1);
2881
- PREFETCH(GET_PC());
2882
- POPN(1);
2883
- #define CURRENT_INSN_setlocal_OP__WC__0 1
2884
- #define INSN_IS_SC() 0
2885
- #define INSN_LABEL(lab) LABEL_setlocal_OP__WC__0_##lab
2886
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2887
- COLLECT_USAGE_INSN(BIN(setlocal_OP__WC__0));
2888
- COLLECT_USAGE_OPERAND(BIN(setlocal_OP__WC__0), 0, idx);
2889
- {
2890
- #line 78 "insns.def"
2891
- vm_env_write(vm_get_ep(GET_EP(), level), -(int)idx, val);
2892
- RB_DEBUG_COUNTER_INC(lvar_set);
2893
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
2894
-
2895
- #line 2896 "vm.inc"
2896
- #undef level
2897
- #undef CURRENT_INSN_setlocal_OP__WC__0
2898
- #undef INSN_IS_SC
2899
- #undef INSN_LABEL
2900
- #undef LABEL_IS_SC
2901
- END_INSN(setlocal_OP__WC__0);}}}
2902
- INSN_ENTRY(setlocal_OP__WC__1){START_OF_ORIGINAL_INSN(setlocal_OP__WC__1);
2903
- {
2904
- #define level 1
2905
- lindex_t idx = (lindex_t)GET_OPERAND(1);
2906
- VALUE val = TOPN(0);
2907
- DEBUG_ENTER_INSN("setlocal_OP__WC__1");
2908
- ADD_PC(1+1);
2909
- PREFETCH(GET_PC());
2910
- POPN(1);
2911
- #define CURRENT_INSN_setlocal_OP__WC__1 1
2912
- #define INSN_IS_SC() 0
2913
- #define INSN_LABEL(lab) LABEL_setlocal_OP__WC__1_##lab
2914
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2915
- COLLECT_USAGE_INSN(BIN(setlocal_OP__WC__1));
2916
- COLLECT_USAGE_OPERAND(BIN(setlocal_OP__WC__1), 0, idx);
2917
- {
2918
- #line 78 "insns.def"
2919
- vm_env_write(vm_get_ep(GET_EP(), level), -(int)idx, val);
2920
- RB_DEBUG_COUNTER_INC(lvar_set);
2921
- (void)RB_DEBUG_COUNTER_INC_IF(lvar_set_dynamic, level > 0);
2922
-
2923
- #line 2924 "vm.inc"
2924
- #undef level
2925
- #undef CURRENT_INSN_setlocal_OP__WC__1
2926
- #undef INSN_IS_SC
2927
- #undef INSN_LABEL
2928
- #undef LABEL_IS_SC
2929
- END_INSN(setlocal_OP__WC__1);}}}
2930
- INSN_ENTRY(putobject_OP_INT2FIX_O_0_C_){START_OF_ORIGINAL_INSN(putobject_OP_INT2FIX_O_0_C_);
2931
- {
2932
- #define val INT2FIX(0)
2933
-
2934
-
2935
- DEBUG_ENTER_INSN("putobject_OP_INT2FIX_O_0_C_");
2936
- ADD_PC(1+0);
2937
- PREFETCH(GET_PC());
2938
- #define CURRENT_INSN_putobject_OP_INT2FIX_O_0_C_ 1
2939
- #define INSN_IS_SC() 0
2940
- #define INSN_LABEL(lab) LABEL_putobject_OP_INT2FIX_O_0_C__##lab
2941
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2942
- COLLECT_USAGE_INSN(BIN(putobject_OP_INT2FIX_O_0_C_));
2943
- {
2944
- #line 334 "insns.def"
2945
- /* */
2946
-
2947
- #line 2948 "vm.inc"
2948
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2949
- PUSH(val);
2950
- #undef val
2951
- #undef CURRENT_INSN_putobject_OP_INT2FIX_O_0_C_
2952
- #undef INSN_IS_SC
2953
- #undef INSN_LABEL
2954
- #undef LABEL_IS_SC
2955
- END_INSN(putobject_OP_INT2FIX_O_0_C_);}}}
2956
- INSN_ENTRY(putobject_OP_INT2FIX_O_1_C_){START_OF_ORIGINAL_INSN(putobject_OP_INT2FIX_O_1_C_);
2957
- {
2958
- #define val INT2FIX(1)
2959
-
2960
-
2961
- DEBUG_ENTER_INSN("putobject_OP_INT2FIX_O_1_C_");
2962
- ADD_PC(1+0);
2963
- PREFETCH(GET_PC());
2964
- #define CURRENT_INSN_putobject_OP_INT2FIX_O_1_C_ 1
2965
- #define INSN_IS_SC() 0
2966
- #define INSN_LABEL(lab) LABEL_putobject_OP_INT2FIX_O_1_C__##lab
2967
- #define LABEL_IS_SC(lab) LABEL_##lab##_##t
2968
- COLLECT_USAGE_INSN(BIN(putobject_OP_INT2FIX_O_1_C_));
2969
- {
2970
- #line 334 "insns.def"
2971
- /* */
2972
-
2973
- #line 2974 "vm.inc"
2974
- CHECK_VM_STACK_OVERFLOW_FOR_INSN(VM_REG_CFP, 1);
2975
- PUSH(val);
2976
- #undef val
2977
- #undef CURRENT_INSN_putobject_OP_INT2FIX_O_1_C_
2978
- #undef INSN_IS_SC
2979
- #undef INSN_LABEL
2980
- #undef LABEL_IS_SC
2981
- END_INSN(putobject_OP_INT2FIX_O_1_C_);}}}
2982
- INSN_ENTRY(trace_nop){
2983
- {
2984
- {
2985
- vm_trace(ec, GET_CFP(), GET_PC());
2986
- DISPATCH_ORIGINAL_INSN(nop);
2987
-
2988
- END_INSN(trace_nop);}}}
2989
- INSN_ENTRY(trace_getlocal){
2990
- {
2991
- {
2992
- vm_trace(ec, GET_CFP(), GET_PC());
2993
- DISPATCH_ORIGINAL_INSN(getlocal);
2994
-
2995
- END_INSN(trace_getlocal);}}}
2996
- INSN_ENTRY(trace_setlocal){
2997
- {
2998
- {
2999
- vm_trace(ec, GET_CFP(), GET_PC());
3000
- DISPATCH_ORIGINAL_INSN(setlocal);
3001
-
3002
- END_INSN(trace_setlocal);}}}
3003
- INSN_ENTRY(trace_getblockparam){
3004
- {
3005
- {
3006
- vm_trace(ec, GET_CFP(), GET_PC());
3007
- DISPATCH_ORIGINAL_INSN(getblockparam);
3008
-
3009
- END_INSN(trace_getblockparam);}}}
3010
- INSN_ENTRY(trace_setblockparam){
3011
- {
3012
- {
3013
- vm_trace(ec, GET_CFP(), GET_PC());
3014
- DISPATCH_ORIGINAL_INSN(setblockparam);
3015
-
3016
- END_INSN(trace_setblockparam);}}}
3017
- INSN_ENTRY(trace_getspecial){
3018
- {
3019
- {
3020
- vm_trace(ec, GET_CFP(), GET_PC());
3021
- DISPATCH_ORIGINAL_INSN(getspecial);
3022
-
3023
- END_INSN(trace_getspecial);}}}
3024
- INSN_ENTRY(trace_setspecial){
3025
- {
3026
- {
3027
- vm_trace(ec, GET_CFP(), GET_PC());
3028
- DISPATCH_ORIGINAL_INSN(setspecial);
3029
-
3030
- END_INSN(trace_setspecial);}}}
3031
- INSN_ENTRY(trace_getinstancevariable){
3032
- {
3033
- {
3034
- vm_trace(ec, GET_CFP(), GET_PC());
3035
- DISPATCH_ORIGINAL_INSN(getinstancevariable);
3036
-
3037
- END_INSN(trace_getinstancevariable);}}}
3038
- INSN_ENTRY(trace_setinstancevariable){
3039
- {
3040
- {
3041
- vm_trace(ec, GET_CFP(), GET_PC());
3042
- DISPATCH_ORIGINAL_INSN(setinstancevariable);
3043
-
3044
- END_INSN(trace_setinstancevariable);}}}
3045
- INSN_ENTRY(trace_getclassvariable){
3046
- {
3047
- {
3048
- vm_trace(ec, GET_CFP(), GET_PC());
3049
- DISPATCH_ORIGINAL_INSN(getclassvariable);
3050
-
3051
- END_INSN(trace_getclassvariable);}}}
3052
- INSN_ENTRY(trace_setclassvariable){
3053
- {
3054
- {
3055
- vm_trace(ec, GET_CFP(), GET_PC());
3056
- DISPATCH_ORIGINAL_INSN(setclassvariable);
3057
-
3058
- END_INSN(trace_setclassvariable);}}}
3059
- INSN_ENTRY(trace_getconstant){
3060
- {
3061
- {
3062
- vm_trace(ec, GET_CFP(), GET_PC());
3063
- DISPATCH_ORIGINAL_INSN(getconstant);
3064
-
3065
- END_INSN(trace_getconstant);}}}
3066
- INSN_ENTRY(trace_setconstant){
3067
- {
3068
- {
3069
- vm_trace(ec, GET_CFP(), GET_PC());
3070
- DISPATCH_ORIGINAL_INSN(setconstant);
3071
-
3072
- END_INSN(trace_setconstant);}}}
3073
- INSN_ENTRY(trace_getglobal){
3074
- {
3075
- {
3076
- vm_trace(ec, GET_CFP(), GET_PC());
3077
- DISPATCH_ORIGINAL_INSN(getglobal);
3078
-
3079
- END_INSN(trace_getglobal);}}}
3080
- INSN_ENTRY(trace_setglobal){
3081
- {
3082
- {
3083
- vm_trace(ec, GET_CFP(), GET_PC());
3084
- DISPATCH_ORIGINAL_INSN(setglobal);
3085
-
3086
- END_INSN(trace_setglobal);}}}
3087
- INSN_ENTRY(trace_putnil){
3088
- {
3089
- {
3090
- vm_trace(ec, GET_CFP(), GET_PC());
3091
- DISPATCH_ORIGINAL_INSN(putnil);
3092
-
3093
- END_INSN(trace_putnil);}}}
3094
- INSN_ENTRY(trace_putself){
3095
- {
3096
- {
3097
- vm_trace(ec, GET_CFP(), GET_PC());
3098
- DISPATCH_ORIGINAL_INSN(putself);
3099
-
3100
- END_INSN(trace_putself);}}}
3101
- INSN_ENTRY(trace_putobject){
3102
- {
3103
- {
3104
- vm_trace(ec, GET_CFP(), GET_PC());
3105
- DISPATCH_ORIGINAL_INSN(putobject);
3106
-
3107
- END_INSN(trace_putobject);}}}
3108
- INSN_ENTRY(trace_putspecialobject){
3109
- {
3110
- {
3111
- vm_trace(ec, GET_CFP(), GET_PC());
3112
- DISPATCH_ORIGINAL_INSN(putspecialobject);
3113
-
3114
- END_INSN(trace_putspecialobject);}}}
3115
- INSN_ENTRY(trace_putiseq){
3116
- {
3117
- {
3118
- vm_trace(ec, GET_CFP(), GET_PC());
3119
- DISPATCH_ORIGINAL_INSN(putiseq);
3120
-
3121
- END_INSN(trace_putiseq);}}}
3122
- INSN_ENTRY(trace_putstring){
3123
- {
3124
- {
3125
- vm_trace(ec, GET_CFP(), GET_PC());
3126
- DISPATCH_ORIGINAL_INSN(putstring);
3127
-
3128
- END_INSN(trace_putstring);}}}
3129
- INSN_ENTRY(trace_concatstrings){
3130
- {
3131
- {
3132
- vm_trace(ec, GET_CFP(), GET_PC());
3133
- DISPATCH_ORIGINAL_INSN(concatstrings);
3134
-
3135
- END_INSN(trace_concatstrings);}}}
3136
- INSN_ENTRY(trace_tostring){
3137
- {
3138
- {
3139
- vm_trace(ec, GET_CFP(), GET_PC());
3140
- DISPATCH_ORIGINAL_INSN(tostring);
3141
-
3142
- END_INSN(trace_tostring);}}}
3143
- INSN_ENTRY(trace_freezestring){
3144
- {
3145
- {
3146
- vm_trace(ec, GET_CFP(), GET_PC());
3147
- DISPATCH_ORIGINAL_INSN(freezestring);
3148
-
3149
- END_INSN(trace_freezestring);}}}
3150
- INSN_ENTRY(trace_toregexp){
3151
- {
3152
- {
3153
- vm_trace(ec, GET_CFP(), GET_PC());
3154
- DISPATCH_ORIGINAL_INSN(toregexp);
3155
-
3156
- END_INSN(trace_toregexp);}}}
3157
- INSN_ENTRY(trace_intern){
3158
- {
3159
- {
3160
- vm_trace(ec, GET_CFP(), GET_PC());
3161
- DISPATCH_ORIGINAL_INSN(intern);
3162
-
3163
- END_INSN(trace_intern);}}}
3164
- INSN_ENTRY(trace_newarray){
3165
- {
3166
- {
3167
- vm_trace(ec, GET_CFP(), GET_PC());
3168
- DISPATCH_ORIGINAL_INSN(newarray);
3169
-
3170
- END_INSN(trace_newarray);}}}
3171
- INSN_ENTRY(trace_duparray){
3172
- {
3173
- {
3174
- vm_trace(ec, GET_CFP(), GET_PC());
3175
- DISPATCH_ORIGINAL_INSN(duparray);
3176
-
3177
- END_INSN(trace_duparray);}}}
3178
- INSN_ENTRY(trace_expandarray){
3179
- {
3180
- {
3181
- vm_trace(ec, GET_CFP(), GET_PC());
3182
- DISPATCH_ORIGINAL_INSN(expandarray);
3183
-
3184
- END_INSN(trace_expandarray);}}}
3185
- INSN_ENTRY(trace_concatarray){
3186
- {
3187
- {
3188
- vm_trace(ec, GET_CFP(), GET_PC());
3189
- DISPATCH_ORIGINAL_INSN(concatarray);
3190
-
3191
- END_INSN(trace_concatarray);}}}
3192
- INSN_ENTRY(trace_splatarray){
3193
- {
3194
- {
3195
- vm_trace(ec, GET_CFP(), GET_PC());
3196
- DISPATCH_ORIGINAL_INSN(splatarray);
3197
-
3198
- END_INSN(trace_splatarray);}}}
3199
- INSN_ENTRY(trace_newhash){
3200
- {
3201
- {
3202
- vm_trace(ec, GET_CFP(), GET_PC());
3203
- DISPATCH_ORIGINAL_INSN(newhash);
3204
-
3205
- END_INSN(trace_newhash);}}}
3206
- INSN_ENTRY(trace_newrange){
3207
- {
3208
- {
3209
- vm_trace(ec, GET_CFP(), GET_PC());
3210
- DISPATCH_ORIGINAL_INSN(newrange);
3211
-
3212
- END_INSN(trace_newrange);}}}
3213
- INSN_ENTRY(trace_pop){
3214
- {
3215
- {
3216
- vm_trace(ec, GET_CFP(), GET_PC());
3217
- DISPATCH_ORIGINAL_INSN(pop);
3218
-
3219
- END_INSN(trace_pop);}}}
3220
- INSN_ENTRY(trace_dup){
3221
- {
3222
- {
3223
- vm_trace(ec, GET_CFP(), GET_PC());
3224
- DISPATCH_ORIGINAL_INSN(dup);
3225
-
3226
- END_INSN(trace_dup);}}}
3227
- INSN_ENTRY(trace_dupn){
3228
- {
3229
- {
3230
- vm_trace(ec, GET_CFP(), GET_PC());
3231
- DISPATCH_ORIGINAL_INSN(dupn);
3232
-
3233
- END_INSN(trace_dupn);}}}
3234
- INSN_ENTRY(trace_swap){
3235
- {
3236
- {
3237
- vm_trace(ec, GET_CFP(), GET_PC());
3238
- DISPATCH_ORIGINAL_INSN(swap);
3239
-
3240
- END_INSN(trace_swap);}}}
3241
- INSN_ENTRY(trace_reverse){
3242
- {
3243
- {
3244
- vm_trace(ec, GET_CFP(), GET_PC());
3245
- DISPATCH_ORIGINAL_INSN(reverse);
3246
-
3247
- END_INSN(trace_reverse);}}}
3248
- INSN_ENTRY(trace_reput){
3249
- {
3250
- {
3251
- vm_trace(ec, GET_CFP(), GET_PC());
3252
- DISPATCH_ORIGINAL_INSN(reput);
3253
-
3254
- END_INSN(trace_reput);}}}
3255
- INSN_ENTRY(trace_topn){
3256
- {
3257
- {
3258
- vm_trace(ec, GET_CFP(), GET_PC());
3259
- DISPATCH_ORIGINAL_INSN(topn);
3260
-
3261
- END_INSN(trace_topn);}}}
3262
- INSN_ENTRY(trace_setn){
3263
- {
3264
- {
3265
- vm_trace(ec, GET_CFP(), GET_PC());
3266
- DISPATCH_ORIGINAL_INSN(setn);
3267
-
3268
- END_INSN(trace_setn);}}}
3269
- INSN_ENTRY(trace_adjuststack){
3270
- {
3271
- {
3272
- vm_trace(ec, GET_CFP(), GET_PC());
3273
- DISPATCH_ORIGINAL_INSN(adjuststack);
3274
-
3275
- END_INSN(trace_adjuststack);}}}
3276
- INSN_ENTRY(trace_defined){
3277
- {
3278
- {
3279
- vm_trace(ec, GET_CFP(), GET_PC());
3280
- DISPATCH_ORIGINAL_INSN(defined);
3281
-
3282
- END_INSN(trace_defined);}}}
3283
- INSN_ENTRY(trace_checkmatch){
3284
- {
3285
- {
3286
- vm_trace(ec, GET_CFP(), GET_PC());
3287
- DISPATCH_ORIGINAL_INSN(checkmatch);
3288
-
3289
- END_INSN(trace_checkmatch);}}}
3290
- INSN_ENTRY(trace_checkkeyword){
3291
- {
3292
- {
3293
- vm_trace(ec, GET_CFP(), GET_PC());
3294
- DISPATCH_ORIGINAL_INSN(checkkeyword);
3295
-
3296
- END_INSN(trace_checkkeyword);}}}
3297
- INSN_ENTRY(trace_tracecoverage){
3298
- {
3299
- {
3300
- vm_trace(ec, GET_CFP(), GET_PC());
3301
- DISPATCH_ORIGINAL_INSN(tracecoverage);
3302
-
3303
- END_INSN(trace_tracecoverage);}}}
3304
- INSN_ENTRY(trace_defineclass){
3305
- {
3306
- {
3307
- vm_trace(ec, GET_CFP(), GET_PC());
3308
- DISPATCH_ORIGINAL_INSN(defineclass);
3309
-
3310
- END_INSN(trace_defineclass);}}}
3311
- INSN_ENTRY(trace_send){
3312
- {
3313
- {
3314
- vm_trace(ec, GET_CFP(), GET_PC());
3315
- DISPATCH_ORIGINAL_INSN(send);
3316
-
3317
- END_INSN(trace_send);}}}
3318
- INSN_ENTRY(trace_opt_str_freeze){
3319
- {
3320
- {
3321
- vm_trace(ec, GET_CFP(), GET_PC());
3322
- DISPATCH_ORIGINAL_INSN(opt_str_freeze);
3323
-
3324
- END_INSN(trace_opt_str_freeze);}}}
3325
- INSN_ENTRY(trace_opt_str_uminus){
3326
- {
3327
- {
3328
- vm_trace(ec, GET_CFP(), GET_PC());
3329
- DISPATCH_ORIGINAL_INSN(opt_str_uminus);
3330
-
3331
- END_INSN(trace_opt_str_uminus);}}}
3332
- INSN_ENTRY(trace_opt_newarray_max){
3333
- {
3334
- {
3335
- vm_trace(ec, GET_CFP(), GET_PC());
3336
- DISPATCH_ORIGINAL_INSN(opt_newarray_max);
3337
-
3338
- END_INSN(trace_opt_newarray_max);}}}
3339
- INSN_ENTRY(trace_opt_newarray_min){
3340
- {
3341
- {
3342
- vm_trace(ec, GET_CFP(), GET_PC());
3343
- DISPATCH_ORIGINAL_INSN(opt_newarray_min);
3344
-
3345
- END_INSN(trace_opt_newarray_min);}}}
3346
- INSN_ENTRY(trace_opt_send_without_block){
3347
- {
3348
- {
3349
- vm_trace(ec, GET_CFP(), GET_PC());
3350
- DISPATCH_ORIGINAL_INSN(opt_send_without_block);
3351
-
3352
- END_INSN(trace_opt_send_without_block);}}}
3353
- INSN_ENTRY(trace_invokesuper){
3354
- {
3355
- {
3356
- vm_trace(ec, GET_CFP(), GET_PC());
3357
- DISPATCH_ORIGINAL_INSN(invokesuper);
3358
-
3359
- END_INSN(trace_invokesuper);}}}
3360
- INSN_ENTRY(trace_invokeblock){
3361
- {
3362
- {
3363
- vm_trace(ec, GET_CFP(), GET_PC());
3364
- DISPATCH_ORIGINAL_INSN(invokeblock);
3365
-
3366
- END_INSN(trace_invokeblock);}}}
3367
- INSN_ENTRY(trace_leave){
3368
- {
3369
- {
3370
- vm_trace(ec, GET_CFP(), GET_PC());
3371
- DISPATCH_ORIGINAL_INSN(leave);
3372
-
3373
- END_INSN(trace_leave);}}}
3374
- INSN_ENTRY(trace_throw){
3375
- {
3376
- {
3377
- vm_trace(ec, GET_CFP(), GET_PC());
3378
- DISPATCH_ORIGINAL_INSN(throw);
3379
-
3380
- END_INSN(trace_throw);}}}
3381
- INSN_ENTRY(trace_jump){
3382
- {
3383
- {
3384
- vm_trace(ec, GET_CFP(), GET_PC());
3385
- DISPATCH_ORIGINAL_INSN(jump);
3386
-
3387
- END_INSN(trace_jump);}}}
3388
- INSN_ENTRY(trace_branchif){
3389
- {
3390
- {
3391
- vm_trace(ec, GET_CFP(), GET_PC());
3392
- DISPATCH_ORIGINAL_INSN(branchif);
3393
-
3394
- END_INSN(trace_branchif);}}}
3395
- INSN_ENTRY(trace_branchunless){
3396
- {
3397
- {
3398
- vm_trace(ec, GET_CFP(), GET_PC());
3399
- DISPATCH_ORIGINAL_INSN(branchunless);
3400
-
3401
- END_INSN(trace_branchunless);}}}
3402
- INSN_ENTRY(trace_branchnil){
3403
- {
3404
- {
3405
- vm_trace(ec, GET_CFP(), GET_PC());
3406
- DISPATCH_ORIGINAL_INSN(branchnil);
3407
-
3408
- END_INSN(trace_branchnil);}}}
3409
- INSN_ENTRY(trace_branchiftype){
3410
- {
3411
- {
3412
- vm_trace(ec, GET_CFP(), GET_PC());
3413
- DISPATCH_ORIGINAL_INSN(branchiftype);
3414
-
3415
- END_INSN(trace_branchiftype);}}}
3416
- INSN_ENTRY(trace_getinlinecache){
3417
- {
3418
- {
3419
- vm_trace(ec, GET_CFP(), GET_PC());
3420
- DISPATCH_ORIGINAL_INSN(getinlinecache);
3421
-
3422
- END_INSN(trace_getinlinecache);}}}
3423
- INSN_ENTRY(trace_setinlinecache){
3424
- {
3425
- {
3426
- vm_trace(ec, GET_CFP(), GET_PC());
3427
- DISPATCH_ORIGINAL_INSN(setinlinecache);
3428
-
3429
- END_INSN(trace_setinlinecache);}}}
3430
- INSN_ENTRY(trace_once){
3431
- {
3432
- {
3433
- vm_trace(ec, GET_CFP(), GET_PC());
3434
- DISPATCH_ORIGINAL_INSN(once);
3435
-
3436
- END_INSN(trace_once);}}}
3437
- INSN_ENTRY(trace_opt_case_dispatch){
3438
- {
3439
- {
3440
- vm_trace(ec, GET_CFP(), GET_PC());
3441
- DISPATCH_ORIGINAL_INSN(opt_case_dispatch);
3442
-
3443
- END_INSN(trace_opt_case_dispatch);}}}
3444
- INSN_ENTRY(trace_opt_plus){
3445
- {
3446
- {
3447
- vm_trace(ec, GET_CFP(), GET_PC());
3448
- DISPATCH_ORIGINAL_INSN(opt_plus);
3449
-
3450
- END_INSN(trace_opt_plus);}}}
3451
- INSN_ENTRY(trace_opt_minus){
3452
- {
3453
- {
3454
- vm_trace(ec, GET_CFP(), GET_PC());
3455
- DISPATCH_ORIGINAL_INSN(opt_minus);
3456
-
3457
- END_INSN(trace_opt_minus);}}}
3458
- INSN_ENTRY(trace_opt_mult){
3459
- {
3460
- {
3461
- vm_trace(ec, GET_CFP(), GET_PC());
3462
- DISPATCH_ORIGINAL_INSN(opt_mult);
3463
-
3464
- END_INSN(trace_opt_mult);}}}
3465
- INSN_ENTRY(trace_opt_div){
3466
- {
3467
- {
3468
- vm_trace(ec, GET_CFP(), GET_PC());
3469
- DISPATCH_ORIGINAL_INSN(opt_div);
3470
-
3471
- END_INSN(trace_opt_div);}}}
3472
- INSN_ENTRY(trace_opt_mod){
3473
- {
3474
- {
3475
- vm_trace(ec, GET_CFP(), GET_PC());
3476
- DISPATCH_ORIGINAL_INSN(opt_mod);
3477
-
3478
- END_INSN(trace_opt_mod);}}}
3479
- INSN_ENTRY(trace_opt_eq){
3480
- {
3481
- {
3482
- vm_trace(ec, GET_CFP(), GET_PC());
3483
- DISPATCH_ORIGINAL_INSN(opt_eq);
3484
-
3485
- END_INSN(trace_opt_eq);}}}
3486
- INSN_ENTRY(trace_opt_neq){
3487
- {
3488
- {
3489
- vm_trace(ec, GET_CFP(), GET_PC());
3490
- DISPATCH_ORIGINAL_INSN(opt_neq);
3491
-
3492
- END_INSN(trace_opt_neq);}}}
3493
- INSN_ENTRY(trace_opt_lt){
3494
- {
3495
- {
3496
- vm_trace(ec, GET_CFP(), GET_PC());
3497
- DISPATCH_ORIGINAL_INSN(opt_lt);
3498
-
3499
- END_INSN(trace_opt_lt);}}}
3500
- INSN_ENTRY(trace_opt_le){
3501
- {
3502
- {
3503
- vm_trace(ec, GET_CFP(), GET_PC());
3504
- DISPATCH_ORIGINAL_INSN(opt_le);
3505
-
3506
- END_INSN(trace_opt_le);}}}
3507
- INSN_ENTRY(trace_opt_gt){
3508
- {
3509
- {
3510
- vm_trace(ec, GET_CFP(), GET_PC());
3511
- DISPATCH_ORIGINAL_INSN(opt_gt);
3512
-
3513
- END_INSN(trace_opt_gt);}}}
3514
- INSN_ENTRY(trace_opt_ge){
3515
- {
3516
- {
3517
- vm_trace(ec, GET_CFP(), GET_PC());
3518
- DISPATCH_ORIGINAL_INSN(opt_ge);
3519
-
3520
- END_INSN(trace_opt_ge);}}}
3521
- INSN_ENTRY(trace_opt_ltlt){
3522
- {
3523
- {
3524
- vm_trace(ec, GET_CFP(), GET_PC());
3525
- DISPATCH_ORIGINAL_INSN(opt_ltlt);
3526
-
3527
- END_INSN(trace_opt_ltlt);}}}
3528
- INSN_ENTRY(trace_opt_aref){
3529
- {
3530
- {
3531
- vm_trace(ec, GET_CFP(), GET_PC());
3532
- DISPATCH_ORIGINAL_INSN(opt_aref);
3533
-
3534
- END_INSN(trace_opt_aref);}}}
3535
- INSN_ENTRY(trace_opt_aset){
3536
- {
3537
- {
3538
- vm_trace(ec, GET_CFP(), GET_PC());
3539
- DISPATCH_ORIGINAL_INSN(opt_aset);
3540
-
3541
- END_INSN(trace_opt_aset);}}}
3542
- INSN_ENTRY(trace_opt_aset_with){
3543
- {
3544
- {
3545
- vm_trace(ec, GET_CFP(), GET_PC());
3546
- DISPATCH_ORIGINAL_INSN(opt_aset_with);
3547
-
3548
- END_INSN(trace_opt_aset_with);}}}
3549
- INSN_ENTRY(trace_opt_aref_with){
3550
- {
3551
- {
3552
- vm_trace(ec, GET_CFP(), GET_PC());
3553
- DISPATCH_ORIGINAL_INSN(opt_aref_with);
3554
-
3555
- END_INSN(trace_opt_aref_with);}}}
3556
- INSN_ENTRY(trace_opt_length){
3557
- {
3558
- {
3559
- vm_trace(ec, GET_CFP(), GET_PC());
3560
- DISPATCH_ORIGINAL_INSN(opt_length);
3561
-
3562
- END_INSN(trace_opt_length);}}}
3563
- INSN_ENTRY(trace_opt_size){
3564
- {
3565
- {
3566
- vm_trace(ec, GET_CFP(), GET_PC());
3567
- DISPATCH_ORIGINAL_INSN(opt_size);
3568
-
3569
- END_INSN(trace_opt_size);}}}
3570
- INSN_ENTRY(trace_opt_empty_p){
3571
- {
3572
- {
3573
- vm_trace(ec, GET_CFP(), GET_PC());
3574
- DISPATCH_ORIGINAL_INSN(opt_empty_p);
3575
-
3576
- END_INSN(trace_opt_empty_p);}}}
3577
- INSN_ENTRY(trace_opt_succ){
3578
- {
3579
- {
3580
- vm_trace(ec, GET_CFP(), GET_PC());
3581
- DISPATCH_ORIGINAL_INSN(opt_succ);
3582
-
3583
- END_INSN(trace_opt_succ);}}}
3584
- INSN_ENTRY(trace_opt_not){
3585
- {
3586
- {
3587
- vm_trace(ec, GET_CFP(), GET_PC());
3588
- DISPATCH_ORIGINAL_INSN(opt_not);
3589
-
3590
- END_INSN(trace_opt_not);}}}
3591
- INSN_ENTRY(trace_opt_regexpmatch1){
3592
- {
3593
- {
3594
- vm_trace(ec, GET_CFP(), GET_PC());
3595
- DISPATCH_ORIGINAL_INSN(opt_regexpmatch1);
3596
-
3597
- END_INSN(trace_opt_regexpmatch1);}}}
3598
- INSN_ENTRY(trace_opt_regexpmatch2){
3599
- {
3600
- {
3601
- vm_trace(ec, GET_CFP(), GET_PC());
3602
- DISPATCH_ORIGINAL_INSN(opt_regexpmatch2);
3603
-
3604
- END_INSN(trace_opt_regexpmatch2);}}}
3605
- INSN_ENTRY(trace_opt_call_c_function){
3606
- {
3607
- {
3608
- vm_trace(ec, GET_CFP(), GET_PC());
3609
- DISPATCH_ORIGINAL_INSN(opt_call_c_function);
3610
-
3611
- END_INSN(trace_opt_call_c_function);}}}
3612
- INSN_ENTRY(trace_bitblt){
3613
- {
3614
- {
3615
- vm_trace(ec, GET_CFP(), GET_PC());
3616
- DISPATCH_ORIGINAL_INSN(bitblt);
3617
-
3618
- END_INSN(trace_bitblt);}}}
3619
- INSN_ENTRY(trace_answer){
3620
- {
3621
- {
3622
- vm_trace(ec, GET_CFP(), GET_PC());
3623
- DISPATCH_ORIGINAL_INSN(answer);
3624
-
3625
- END_INSN(trace_answer);}}}
3626
- INSN_ENTRY(trace_getlocal_OP__WC__0){
3627
- {
3628
- {
3629
- vm_trace(ec, GET_CFP(), GET_PC());
3630
- DISPATCH_ORIGINAL_INSN(getlocal_OP__WC__0);
3631
-
3632
- END_INSN(trace_getlocal_OP__WC__0);}}}
3633
- INSN_ENTRY(trace_getlocal_OP__WC__1){
3634
- {
3635
- {
3636
- vm_trace(ec, GET_CFP(), GET_PC());
3637
- DISPATCH_ORIGINAL_INSN(getlocal_OP__WC__1);
3638
-
3639
- END_INSN(trace_getlocal_OP__WC__1);}}}
3640
- INSN_ENTRY(trace_setlocal_OP__WC__0){
3641
- {
3642
- {
3643
- vm_trace(ec, GET_CFP(), GET_PC());
3644
- DISPATCH_ORIGINAL_INSN(setlocal_OP__WC__0);
3645
-
3646
- END_INSN(trace_setlocal_OP__WC__0);}}}
3647
- INSN_ENTRY(trace_setlocal_OP__WC__1){
3648
- {
3649
- {
3650
- vm_trace(ec, GET_CFP(), GET_PC());
3651
- DISPATCH_ORIGINAL_INSN(setlocal_OP__WC__1);
3652
-
3653
- END_INSN(trace_setlocal_OP__WC__1);}}}
3654
- INSN_ENTRY(trace_putobject_OP_INT2FIX_O_0_C_){
3655
- {
3656
- {
3657
- vm_trace(ec, GET_CFP(), GET_PC());
3658
- DISPATCH_ORIGINAL_INSN(putobject_OP_INT2FIX_O_0_C_);
3659
-
3660
- END_INSN(trace_putobject_OP_INT2FIX_O_0_C_);}}}
3661
- INSN_ENTRY(trace_putobject_OP_INT2FIX_O_1_C_){
3662
- {
3663
- {
3664
- vm_trace(ec, GET_CFP(), GET_PC());
3665
- DISPATCH_ORIGINAL_INSN(putobject_OP_INT2FIX_O_1_C_);
3666
-
3667
- END_INSN(trace_putobject_OP_INT2FIX_O_1_C_);}}}