datadog-ruby_core_source 3.3.6 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +12 -1
  3. data/datadog-ruby_core_source.gemspec +7 -2
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  32. data/lib/datadog/ruby_core_source/version.rb +1 -1
  33. data/lib/datadog/ruby_core_source.rb +14 -1
  34. metadata +110 -476
  35. data/.github/workflows/publish.yml +0 -18
  36. data/.gitignore +0 -7
  37. data/.idea/vcs.xml +0 -28
  38. data/CHANGELOG.md +0 -284
  39. data/CONTRIBUTING.md +0 -2
  40. data/Gemfile +0 -4
  41. data/Rakefile +0 -73
  42. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  43. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  44. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  45. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  46. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  47. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  48. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  49. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  50. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  51. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  52. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  53. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  54. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  63. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  64. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  65. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  66. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  67. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  68. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  69. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  70. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  71. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  72. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  73. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  74. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  75. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  76. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  77. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  78. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  79. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  80. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  81. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  82. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  83. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  84. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  85. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  86. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  106. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  107. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  108. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  109. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  110. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  111. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  112. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  113. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  114. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  115. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  116. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  117. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  118. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  138. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  139. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  140. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  141. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  142. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  143. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  144. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  145. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  146. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  147. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  148. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  149. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  150. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  151. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  152. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  153. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  154. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  155. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  156. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  157. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  158. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  178. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  179. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  180. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  181. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  182. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  183. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  184. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  185. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  186. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  187. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  188. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  189. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  190. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  191. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  192. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  193. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  194. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  195. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  197. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  198. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  199. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  200. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  201. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  202. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  203. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  204. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  205. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  206. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  207. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  208. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  209. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  210. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  211. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  212. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  213. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  214. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  215. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  216. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  217. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  218. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  219. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  220. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  221. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  222. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  223. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  224. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  225. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  226. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  227. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id.h +0 -343
  228. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  229. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  230. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +0 -151
  231. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +0 -63
  232. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +0 -568
  233. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
  234. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +0 -216
  235. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +0 -184
  236. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +0 -334
  237. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +0 -191
  238. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +0 -260
  239. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +0 -140
  240. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +0 -117
  241. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +0 -297
  242. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +0 -182
  243. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +0 -79
  244. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +0 -137
  245. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  246. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  247. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  248. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  249. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  250. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  251. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  252. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +0 -6245
  253. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +0 -206
  254. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +0 -433
  255. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +0 -19
  256. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +0 -150
  257. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +0 -305
  258. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +0 -891
  259. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  260. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +0 -120
  261. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +0 -205
  262. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +0 -226
  263. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +0 -119
  264. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +0 -102
  265. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +0 -174
  266. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  267. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +0 -29
  268. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +0 -88
  269. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +0 -393
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +0 -1430
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +0 -166
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +0 -2236
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +0 -40
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +0 -63
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +0 -142
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +0 -791
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +0 -17
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id_table.h +0 -39
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +0 -244
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +0 -65
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +0 -29
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +0 -34
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +0 -107
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +0 -29
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +0 -35
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +0 -16
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +0 -19
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +0 -18
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +0 -21
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +0 -33
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +0 -38
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +0 -47
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +0 -18
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +0 -16
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +0 -23
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +0 -19
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +0 -274
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +0 -63
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +0 -30
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +0 -124
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +0 -17
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +0 -40
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +0 -71
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +0 -28
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +0 -102
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +0 -23
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +0 -24
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +0 -11
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +0 -16
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +0 -127
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +0 -45
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +0 -34
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +0 -23
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +0 -27
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +0 -72
  352. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +0 -16
  353. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal.h +0 -108
  354. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/iseq.h +0 -340
  355. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  356. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  357. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node.h +0 -111
  358. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  359. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  360. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  361. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  362. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  363. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  364. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +0 -162
  365. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +0 -106
  366. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +0 -283
  367. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +0 -163
  368. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +0 -34
  369. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  370. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +0 -218
  371. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +0 -97
  372. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +0 -29
  373. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +0 -32
  374. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +0 -46
  375. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  376. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  377. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  378. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  379. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  380. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  381. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  382. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +0 -14
  383. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
  384. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  385. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  386. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +0 -21
  387. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  388. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  389. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  390. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  391. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  392. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  393. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  394. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  395. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +0 -124
  396. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  397. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  398. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +0 -67
  399. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  400. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  401. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/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_);}}}