ruby-internal 0.7.3 → 0.8.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 (254) hide show
  1. data/bin/ruby-internal-node-dump +1 -1
  2. data/bin/ruby-internal-obfuscate +1 -1
  3. data/ext/cached/ruby-1.8.4/internal/method/{method.h → internal_method.h} +12 -0
  4. data/ext/cached/ruby-1.8.4/internal/module/getcfp.h +13 -0
  5. data/ext/cached/ruby-1.8.4/internal/node/global_entry.h +94 -0
  6. data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +41 -41
  7. data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +288 -273
  8. data/ext/cached/ruby-1.8.4/internal/vm/instruction/insns_info.c +3 -0
  9. data/ext/cached/ruby-1.8.4/internal/vm/iseq/iseq_load.inc +21 -2
  10. data/ext/cached/{ruby-1.8.3/internal/method/method.h → ruby-1.8.5/internal/method/internal_method.h} +12 -0
  11. data/ext/cached/ruby-1.8.5/internal/module/getcfp.h +13 -0
  12. data/ext/cached/ruby-1.8.5/internal/node/global_entry.h +94 -0
  13. data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +45 -45
  14. data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +310 -295
  15. data/ext/cached/ruby-1.8.5/internal/vm/instruction/insns_info.c +3 -0
  16. data/ext/cached/ruby-1.8.5/internal/vm/iseq/iseq_load.inc +21 -2
  17. data/ext/cached/{ruby-1.8.5/internal/method/method.h → ruby-1.8.6/internal/method/internal_method.h} +12 -0
  18. data/ext/cached/ruby-1.8.6/internal/module/getcfp.h +13 -0
  19. data/ext/cached/ruby-1.8.6/internal/node/global_entry.h +94 -0
  20. data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +48 -48
  21. data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +323 -308
  22. data/ext/cached/ruby-1.8.6/internal/vm/instruction/insns_info.c +3 -0
  23. data/ext/cached/ruby-1.8.6/internal/vm/iseq/iseq_load.inc +21 -2
  24. data/ext/cached/{ruby-1.8.6/internal/method/method.h → ruby-1.8.7/internal/method/internal_method.h} +12 -0
  25. data/ext/cached/ruby-1.8.7/internal/module/getcfp.h +13 -0
  26. data/ext/cached/ruby-1.8.7/internal/node/global_entry.h +98 -0
  27. data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +42 -42
  28. data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +276 -261
  29. data/ext/cached/ruby-1.8.7/internal/vm/instruction/insns_info.c +3 -0
  30. data/ext/cached/ruby-1.8.7/internal/vm/iseq/iseq_load.inc +21 -2
  31. data/ext/cached/{ruby-1.9.0/internal/method/method.h → ruby-1.9.1/internal/method/internal_method.h} +12 -0
  32. data/ext/cached/ruby-1.9.1/internal/module/classpath.c +12 -14
  33. data/ext/cached/ruby-1.9.1/internal/module/getcfp.h +25 -0
  34. data/ext/cached/ruby-1.9.1/internal/node/global_entry.h +86 -0
  35. data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +46 -48
  36. data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +311 -412
  37. data/ext/cached/ruby-1.9.1/internal/vm/instruction/insns_info.c +3 -0
  38. data/ext/cached/ruby-1.9.1/internal/vm/iseq/iseq_load.inc +28 -6
  39. data/ext/cached/ruby-1.9.1/internal/yarv-headers/iseq.h +1 -0
  40. data/ext/cached/ruby-1.9.1/internal/yarv-headers/parse.h +6 -6
  41. data/ext/cached/ruby-1.9.1/internal/yarv-headers/revision.h +1 -1
  42. data/ext/cached/ruby-1.9.1/internal/yarv-headers/version.h +6 -5
  43. data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_core.h +3 -2
  44. data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_insnhelper.h +1 -0
  45. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/binding/block.h +0 -0
  46. data/ext/cached/{ruby-1.9.1/internal/method/method.h → ruby-1.9.2/internal/method/internal_method.h} +16 -5
  47. data/ext/cached/ruby-1.9.2/internal/module/classpath.c +40 -0
  48. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/module/classpath.h +0 -0
  49. data/ext/cached/ruby-1.9.2/internal/module/getcfp.h +25 -0
  50. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/block.h +0 -0
  51. data/ext/cached/ruby-1.9.2/internal/node/global_entry.h +93 -0
  52. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/node_type_descrip.c +44 -48
  53. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.c +291 -439
  54. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.h +0 -0
  55. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/proc/block.h +0 -0
  56. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/tag/tag.h +0 -0
  57. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.c +141 -64
  58. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.h +88 -80
  59. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/iseq/insns_info.inc +77 -70
  60. data/ext/cached/ruby-1.9.2/internal/vm/iseq/iseq_load.inc +426 -0
  61. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/debug.h +1 -1
  62. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/dln.h +3 -3
  63. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/encdb.h +18 -2
  64. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/eval_intern.h +39 -28
  65. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/gc.h +7 -5
  66. data/ext/cached/ruby-1.9.2/internal/yarv-headers/id.h +170 -0
  67. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/iseq.h +20 -10
  68. data/ext/cached/ruby-1.9.2/internal/yarv-headers/method.h +103 -0
  69. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/node.h +14 -47
  70. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/parse.h +31 -148
  71. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regenc.h +7 -3
  72. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regint.h +16 -17
  73. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regparse.h +4 -1
  74. data/ext/cached/ruby-1.9.2/internal/yarv-headers/revision.h +1 -0
  75. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_pthread.h +4 -1
  76. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_win32.h +1 -1
  77. data/ext/cached/ruby-1.9.2/internal/yarv-headers/timev.h +21 -0
  78. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/transcode_data.h +20 -10
  79. data/ext/cached/ruby-1.9.2/internal/yarv-headers/transdb.h +179 -0
  80. data/ext/cached/ruby-1.9.2/internal/yarv-headers/version.h +55 -0
  81. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_core.h +127 -84
  82. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_exec.h +4 -7
  83. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_insnhelper.h +53 -36
  84. data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_opts.h +1 -1
  85. data/ext/cached/ruby-1.9.3/internal/binding/block.h +12 -0
  86. data/ext/cached/ruby-1.9.3/internal/method/internal_method.h +32 -0
  87. data/ext/cached/ruby-1.9.3/internal/module/classpath.c +40 -0
  88. data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/module/classpath.h +5 -2
  89. data/ext/cached/ruby-1.9.3/internal/module/getcfp.h +25 -0
  90. data/ext/cached/ruby-1.9.3/internal/node/block.h +12 -0
  91. data/ext/cached/ruby-1.9.3/internal/node/global_entry.h +93 -0
  92. data/ext/cached/{ruby-1.8.3 → ruby-1.9.3}/internal/node/node_type_descrip.c +48 -57
  93. data/ext/cached/{ruby-1.6.8 → ruby-1.9.3}/internal/node/nodeinfo.c +589 -740
  94. data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/node/nodeinfo.h +4 -3
  95. data/ext/cached/ruby-1.9.3/internal/proc/block.h +12 -0
  96. data/ext/cached/ruby-1.9.3/internal/tag/tag.h +6 -0
  97. data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.c +6013 -0
  98. data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.h +899 -0
  99. data/ext/cached/ruby-1.9.3/internal/vm/iseq/insns_info.inc +707 -0
  100. data/ext/cached/ruby-1.9.3/internal/vm/iseq/iseq_load.inc +423 -0
  101. data/ext/cached/ruby-1.9.3/internal/yarv-headers/addr2line.h +21 -0
  102. data/ext/cached/ruby-1.9.3/internal/yarv-headers/atomic.h +56 -0
  103. data/ext/cached/ruby-1.9.3/internal/yarv-headers/constant.h +34 -0
  104. data/ext/cached/ruby-1.9.3/internal/yarv-headers/debug.h +41 -0
  105. data/ext/cached/ruby-1.9.3/internal/yarv-headers/dln.h +50 -0
  106. data/ext/cached/ruby-1.9.3/internal/yarv-headers/encdb.h +167 -0
  107. data/ext/cached/ruby-1.9.3/internal/yarv-headers/eval_intern.h +234 -0
  108. data/ext/cached/ruby-1.9.3/internal/yarv-headers/gc.h +98 -0
  109. data/ext/cached/ruby-1.9.3/internal/yarv-headers/id.h +175 -0
  110. data/ext/cached/ruby-1.9.3/internal/yarv-headers/internal.h +232 -0
  111. data/ext/cached/ruby-1.9.3/internal/yarv-headers/iseq.h +125 -0
  112. data/ext/cached/ruby-1.9.3/internal/yarv-headers/method.h +105 -0
  113. data/ext/cached/ruby-1.9.3/internal/yarv-headers/node.h +503 -0
  114. data/ext/cached/ruby-1.9.3/internal/yarv-headers/parse.h +186 -0
  115. data/ext/cached/ruby-1.9.3/internal/yarv-headers/regenc.h +219 -0
  116. data/ext/cached/ruby-1.9.3/internal/yarv-headers/regint.h +850 -0
  117. data/ext/cached/ruby-1.9.3/internal/yarv-headers/regparse.h +362 -0
  118. data/ext/cached/ruby-1.9.3/internal/yarv-headers/revision.h +1 -0
  119. data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_pthread.h +51 -0
  120. data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_win32.h +40 -0
  121. data/ext/cached/ruby-1.9.3/internal/yarv-headers/timev.h +21 -0
  122. data/ext/cached/ruby-1.9.3/internal/yarv-headers/transcode_data.h +117 -0
  123. data/ext/cached/ruby-1.9.3/internal/yarv-headers/transdb.h +189 -0
  124. data/ext/cached/ruby-1.9.3/internal/yarv-headers/version.h +52 -0
  125. data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_core.h +756 -0
  126. data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_exec.h +184 -0
  127. data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_insnhelper.h +220 -0
  128. data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_opts.h +51 -0
  129. data/ext/internal/binding/block.h +20 -0
  130. data/ext/internal/method/internal_method.h +5 -38
  131. data/ext/internal/method/internal_method.h.rpp +0 -7
  132. data/ext/internal/method/method.c +52 -32
  133. data/ext/internal/module/classpath.c +18 -13
  134. data/ext/internal/module/classpath.h +3 -3
  135. data/ext/internal/module/extconf.rb +3 -2
  136. data/ext/internal/module/getcfp.h +13 -0
  137. data/ext/internal/module/getcfp.h.rpp +44 -0
  138. data/ext/internal/module/module.c +58 -21
  139. data/ext/internal/node/block.h +20 -0
  140. data/ext/internal/node/extconf.rb +2 -0
  141. data/ext/internal/node/global_entry.h +69 -13
  142. data/ext/internal/node/global_entry.h.rpp +11 -2
  143. data/ext/internal/node/node.c +30 -3
  144. data/ext/internal/node/node_type_descrip.c +47 -38
  145. data/ext/internal/node/nodeinfo.c +622 -306
  146. data/ext/internal/node/nodeinfo.h +1 -4
  147. data/ext/internal/proc/block.h +20 -0
  148. data/ext/internal/tag/tag.h +10 -0
  149. data/ext/internal/thread/thread.c +9 -3
  150. data/ext/internal/vm/extconf.rb +1 -0
  151. data/ext/internal/vm/instruction/insns_info.c +3 -5974
  152. data/ext/internal/vm/instruction/insns_info.h +0 -878
  153. data/ext/internal/vm/iseq/extconf.rb +1 -0
  154. data/ext/internal/vm/iseq/iseq.c +38 -4
  155. data/ext/internal/vm/iseq/iseq_load.inc.rpp +23 -5
  156. data/ext/internal/vm/vm.c +28 -0
  157. data/lib/internal/classtree.rb +28 -0
  158. data/lib/internal/debug.rb +10 -2
  159. data/lib/internal/method/as_code.rb +25 -0
  160. data/lib/internal/method/as_expression.rb +2 -3
  161. data/lib/internal/method/origin.rb +29 -0
  162. data/lib/internal/method/signature.rb +5 -300
  163. data/lib/internal/method/signature/argument.rb +102 -0
  164. data/lib/internal/method/signature/iseq.rb +52 -0
  165. data/lib/internal/method/signature/node.rb +160 -0
  166. data/lib/internal/method/signature/signature.rb +23 -0
  167. data/lib/internal/proc/as_code.rb +2 -0
  168. data/lib/internal/proc/as_expression.rb +2 -0
  169. data/lib/internal/vm/bytedecoder.rb +5 -5
  170. data/lib/internal/vm/iseq/as_code.rb +2 -2
  171. data/lib/internal/vm/iseq/as_expression.rb +2 -2
  172. data/test/test_dump_method.rb +1 -1
  173. data/test/test_method.rb +21 -3
  174. data/test/test_node.rb +20 -4
  175. metadata +152 -155
  176. data/ext/cached/ruby-1.6.8/internal/binding/block.h +0 -35
  177. data/ext/cached/ruby-1.6.8/internal/method/method.h +0 -19
  178. data/ext/cached/ruby-1.6.8/internal/module/classpath.c +0 -3
  179. data/ext/cached/ruby-1.6.8/internal/module/classpath.h +0 -8
  180. data/ext/cached/ruby-1.6.8/internal/node/block.h +0 -35
  181. data/ext/cached/ruby-1.6.8/internal/node/global_entry.h +0 -15
  182. data/ext/cached/ruby-1.6.8/internal/node/node_type_descrip.c +0 -149
  183. data/ext/cached/ruby-1.6.8/internal/node/nodeinfo.h +0 -69
  184. data/ext/cached/ruby-1.6.8/internal/proc/block.h +0 -35
  185. data/ext/cached/ruby-1.6.8/internal/tag/tag.h +0 -15
  186. data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.c +0 -39
  187. data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.h +0 -21
  188. data/ext/cached/ruby-1.6.8/internal/vm/iseq/insns_info.inc +0 -12
  189. data/ext/cached/ruby-1.6.8/internal/vm/iseq/iseq_load.inc +0 -9
  190. data/ext/cached/ruby-1.8.0/internal/binding/block.h +0 -37
  191. data/ext/cached/ruby-1.8.0/internal/method/method.h +0 -19
  192. data/ext/cached/ruby-1.8.0/internal/module/classpath.c +0 -27
  193. data/ext/cached/ruby-1.8.0/internal/node/block.h +0 -37
  194. data/ext/cached/ruby-1.8.0/internal/node/global_entry.h +0 -10
  195. data/ext/cached/ruby-1.8.0/internal/node/node_type_descrip.c +0 -155
  196. data/ext/cached/ruby-1.8.0/internal/node/nodeinfo.c +0 -5744
  197. data/ext/cached/ruby-1.8.0/internal/proc/block.h +0 -37
  198. data/ext/cached/ruby-1.8.0/internal/tag/tag.h +0 -15
  199. data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.c +0 -39
  200. data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.h +0 -21
  201. data/ext/cached/ruby-1.8.0/internal/vm/iseq/insns_info.inc +0 -12
  202. data/ext/cached/ruby-1.8.0/internal/vm/iseq/iseq_load.inc +0 -9
  203. data/ext/cached/ruby-1.8.1/internal/binding/block.h +0 -31
  204. data/ext/cached/ruby-1.8.1/internal/method/method.h +0 -19
  205. data/ext/cached/ruby-1.8.1/internal/module/classpath.c +0 -27
  206. data/ext/cached/ruby-1.8.1/internal/module/classpath.h +0 -14
  207. data/ext/cached/ruby-1.8.1/internal/node/block.h +0 -31
  208. data/ext/cached/ruby-1.8.1/internal/node/global_entry.h +0 -10
  209. data/ext/cached/ruby-1.8.1/internal/node/node_type_descrip.c +0 -154
  210. data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.c +0 -5736
  211. data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.h +0 -69
  212. data/ext/cached/ruby-1.8.1/internal/proc/block.h +0 -31
  213. data/ext/cached/ruby-1.8.1/internal/tag/tag.h +0 -16
  214. data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.c +0 -39
  215. data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.h +0 -21
  216. data/ext/cached/ruby-1.8.1/internal/vm/iseq/insns_info.inc +0 -12
  217. data/ext/cached/ruby-1.8.1/internal/vm/iseq/iseq_load.inc +0 -9
  218. data/ext/cached/ruby-1.8.2/internal/binding/block.h +0 -32
  219. data/ext/cached/ruby-1.8.2/internal/method/method.h +0 -19
  220. data/ext/cached/ruby-1.8.2/internal/module/classpath.c +0 -45
  221. data/ext/cached/ruby-1.8.2/internal/module/classpath.h +0 -17
  222. data/ext/cached/ruby-1.8.2/internal/node/block.h +0 -32
  223. data/ext/cached/ruby-1.8.2/internal/node/global_entry.h +0 -10
  224. data/ext/cached/ruby-1.8.2/internal/node/node_type_descrip.c +0 -154
  225. data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.c +0 -5736
  226. data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.h +0 -69
  227. data/ext/cached/ruby-1.8.2/internal/proc/block.h +0 -32
  228. data/ext/cached/ruby-1.8.2/internal/tag/tag.h +0 -16
  229. data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.c +0 -39
  230. data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.h +0 -21
  231. data/ext/cached/ruby-1.8.2/internal/vm/iseq/insns_info.inc +0 -12
  232. data/ext/cached/ruby-1.8.2/internal/vm/iseq/iseq_load.inc +0 -9
  233. data/ext/cached/ruby-1.8.3/internal/binding/block.h +0 -32
  234. data/ext/cached/ruby-1.8.3/internal/module/classpath.c +0 -45
  235. data/ext/cached/ruby-1.8.3/internal/module/classpath.h +0 -17
  236. data/ext/cached/ruby-1.8.3/internal/node/block.h +0 -32
  237. data/ext/cached/ruby-1.8.3/internal/node/global_entry.h +0 -10
  238. data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.c +0 -5736
  239. data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.h +0 -69
  240. data/ext/cached/ruby-1.8.3/internal/proc/block.h +0 -32
  241. data/ext/cached/ruby-1.8.3/internal/tag/tag.h +0 -16
  242. data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.c +0 -39
  243. data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.h +0 -21
  244. data/ext/cached/ruby-1.8.3/internal/vm/iseq/insns_info.inc +0 -12
  245. data/ext/cached/ruby-1.8.3/internal/vm/iseq/iseq_load.inc +0 -9
  246. data/ext/cached/ruby-1.8.7/internal/method/method.h +0 -20
  247. data/ext/cached/ruby-1.9.0/internal/module/classpath.c +0 -42
  248. data/ext/cached/ruby-1.9.0/internal/node/global_entry.h +0 -10
  249. data/ext/cached/ruby-1.9.0/internal/vm/iseq/iseq_load.inc +0 -13
  250. data/ext/cached/ruby-1.9.0/internal/yarv-headers/id.h +0 -83
  251. data/ext/cached/ruby-1.9.0/internal/yarv-headers/revision.h +0 -1
  252. data/ext/cached/ruby-1.9.0/internal/yarv-headers/transdb.h +0 -67
  253. data/ext/cached/ruby-1.9.0/internal/yarv-headers/version.h +0 -57
  254. data/ext/internal/module/cfp.h +0 -13
@@ -1,35 +0,0 @@
1
- #ifndef ruby_internal_block__h_
2
- #define ruby_internal_block__h_
3
-
4
- #include <ruby.h>
5
-
6
- #ifndef RUBY_VM
7
- #include "env.h"
8
- #endif
9
-
10
- struct BLOCKTAG {
11
- struct RBasic super;
12
- long dst;
13
- long flags;
14
- };
15
-
16
- struct BLOCK {
17
- NODE *var;
18
- NODE *body;
19
- VALUE self;
20
- struct FRAME frame;
21
- struct SCOPE *scope;
22
- struct BLOCKTAG *tag;
23
- VALUE klass;
24
- int iter;
25
- int vmode;
26
- int flags;
27
- struct RVarmap *dyna_vars;
28
- VALUE orig_thread;
29
- VALUE wrapper;
30
- struct BLOCK *prev;
31
- };
32
-
33
-
34
- #endif
35
-
@@ -1,19 +0,0 @@
1
- #ifndef ruby_internal_method__h_
2
- #define ruby_internal_method__h_
3
-
4
- #include <ruby.h>
5
-
6
- #include "internal/node/ruby_internal_node.h"
7
-
8
- struct METHOD {
9
- VALUE klass, oklass;
10
- VALUE recv;
11
- ID id, oid;
12
- NODE *body;
13
- };
14
-
15
- #define METHOD_OCLASS(m) m->klass
16
- #define METHOD_RCLASS(m) m->klass
17
-
18
- #endif
19
-
@@ -1,3 +0,0 @@
1
- #include "classpath.h"
2
-
3
-
@@ -1,8 +0,0 @@
1
- #ifndef CLASSPATH_H
2
- #define CLASSPATH_H
3
-
4
- #include "ruby.h"
5
-
6
-
7
- #endif
8
-
@@ -1,35 +0,0 @@
1
- #ifndef ruby_internal_block__h_
2
- #define ruby_internal_block__h_
3
-
4
- #include <ruby.h>
5
-
6
- #ifndef RUBY_VM
7
- #include "env.h"
8
- #endif
9
-
10
- struct BLOCKTAG {
11
- struct RBasic super;
12
- long dst;
13
- long flags;
14
- };
15
-
16
- struct BLOCK {
17
- NODE *var;
18
- NODE *body;
19
- VALUE self;
20
- struct FRAME frame;
21
- struct SCOPE *scope;
22
- struct BLOCKTAG *tag;
23
- VALUE klass;
24
- int iter;
25
- int vmode;
26
- int flags;
27
- struct RVarmap *dyna_vars;
28
- VALUE orig_thread;
29
- VALUE wrapper;
30
- struct BLOCK *prev;
31
- };
32
-
33
-
34
- #endif
35
-
@@ -1,15 +0,0 @@
1
- #ifndef global_entry__h_
2
- #define global_entry__h_
3
-
4
- struct global_entry {
5
- ID id;
6
- void *data;
7
- VALUE (*getter)();
8
- void (*setter)();
9
- void (*marker)();
10
- int block_trace;
11
- struct trace_var *trace;
12
- };
13
-
14
- #endif
15
-
@@ -1,149 +0,0 @@
1
- #include "node_type_descrip.h"
2
- #include "version.h"
3
-
4
- Node_Type_Descrip node_type_descrips_unsorted[] = {
5
- { NODE_ALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "ALIAS" },
6
- #ifdef HAVE_NODE_ALLOCA
7
- { NODE_ALLOCA, NEN_CFNC, NEN_VALUE, NEN_CNT, "ALLOCA" },
8
- #endif
9
- { NODE_AND, NEN_1ST, NEN_2ND, NEN_NONE, "AND" },
10
- { NODE_ARGS, NEN_REST, NEN_OPT, NEN_CNT, "ARGS" },
11
- { NODE_ARGSCAT, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSCAT" },
12
- { NODE_ARGSPUSH, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSPUSH" },
13
- { NODE_ARRAY, NEN_HEAD, NEN_ALEN, NEN_NEXT, "ARRAY" },
14
- { NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
15
- { NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
16
- { NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
17
- { NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
18
- { NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
19
- { NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
20
- { NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
21
- { NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
22
- { NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
23
- { NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
24
- { NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
25
- { NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
26
- { NODE_CLASS, NEN_BODY, NEN_CNAME, NEN_SUPER, "CLASS" },
27
- { NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
28
- { NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
29
- { NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
30
- { NODE_CREF, NEN_BODY, NEN_NEXT, NEN_CLSS, "CREF" },
31
- { NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
32
- { NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
33
- { NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
34
- { NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
35
- { NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
36
- { NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
37
- { NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
38
- { NODE_DEFS, NEN_DEFN, NEN_MID, NEN_RECV, "DEFS" },
39
- { NODE_DMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "DMETHOD" },
40
- { NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
41
- { NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
42
- { NODE_DREGX, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX" },
43
- { NODE_DREGX_ONCE, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX_ONCE" },
44
- { NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
45
- { NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
46
- { NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
47
- { NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
48
- { NODE_EVSTR, NEN_LIT, NEN_NONE, NEN_NONE, "EVSTR" },
49
- { NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
50
- { NODE_FBODY, NEN_HEAD, NEN_ORIG, NEN_MID, "FBODY" },
51
- { NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
52
- { NODE_FLIP2, NEN_BEG, NEN_END, NEN_CNT, "FLIP2" },
53
- { NODE_FLIP3, NEN_BEG, NEN_END, NEN_CNT, "FLIP3" },
54
- { NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
55
- { NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
56
- { NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
57
- { NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
58
- { NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
59
- { NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
60
- { NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
61
- { NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
62
- { NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
63
- { NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
64
- { NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
65
- { NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
66
- { NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
67
- { NODE_MATCH, NEN_HEAD, NEN_VALUE, NEN_NONE, "MATCH" },
68
- { NODE_MATCH2, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH2" },
69
- { NODE_MATCH3, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH3" },
70
- { NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
71
- { NODE_METHOD, NEN_BODY, NEN_NOEX, NEN_NONE, "METHOD" },
72
- { NODE_MODULE, NEN_BODY, NEN_CNAME, NEN_NONE, "MODULE" },
73
- { NODE_NEWLINE, NEN_NEXT, NEN_NONE, NEN_NONE, "NEWLINE" },
74
- { NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
75
- { NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
76
- { NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
77
- { NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
78
- { NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
79
- { NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
80
- { NODE_OP_ASGN2, NEN_VALUE, NEN_NEXT, NEN_RECV, "OP_ASGN2" },
81
- { NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
82
- { NODE_OP_ASGN_AND, NEN_VALUE, NEN_RECV, NEN_NONE, "OP_ASGN_AND" },
83
- { NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
84
- { NODE_OR, NEN_1ST, NEN_2ND, NEN_NONE, "OR" },
85
- { NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
86
- { NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
87
- { NODE_RESBODY, NEN_HEAD, NEN_ARGS, NEN_BODY, "RESBODY" },
88
- { NODE_RESCUE, NEN_HEAD, NEN_ELSE, NEN_RESQ, "RESCUE" },
89
- { NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
90
- { NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
91
- { NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
92
- { NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
93
- { NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
94
- { NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
95
- { NODE_SUPER, NEN_ARGS, NEN_NONE, NEN_NONE, "SUPER" },
96
- { NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
97
- { NODE_UNDEF, NEN_MID, NEN_NONE, NEN_NONE, "UNDEF" },
98
- { NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
99
- { NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
100
- { NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
101
- { NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
102
- { NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
103
- { NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
104
- { NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
105
- { NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
106
- { NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
107
- { NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
108
- };
109
-
110
- static Node_Type_Descrip * node_type_descrips[NUM_NODE_TYPE_DESCRIPS];
111
- static int node_type_descrips_initialized = 0;
112
-
113
- static void init_node_type_descrips()
114
- {
115
- if(!node_type_descrips_initialized)
116
- {
117
- Node_Type_Descrip * descrip;
118
- memset(node_type_descrips, 0, sizeof(node_type_descrips));
119
- for(descrip = node_type_descrips_unsorted;
120
- descrip->nt != NODE_LAST;
121
- ++descrip)
122
- {
123
- if(node_type_descrips[descrip->nt])
124
- {
125
- rb_raise(rb_eRuntimeError, "duplicate entry for node type %d (%s is also %s)\n", descrip->nt, descrip->name, node_type_descrips[descrip->nt]->name);
126
- }
127
- else
128
- {
129
- node_type_descrips[descrip->nt] = descrip;
130
- }
131
- }
132
- node_type_descrips_initialized = 1;
133
- }
134
- }
135
-
136
- /* Given a node, find out the types of the three elements it contains */
137
- Node_Type_Descrip const * node_type_descrip(enum node_type nt)
138
- {
139
- init_node_type_descrips();
140
- if(node_type_descrips[nt])
141
- {
142
- return node_type_descrips[nt];
143
- }
144
- else
145
- {
146
- rb_raise(rb_eArgError, "Unknown node type %d", nt);
147
- }
148
- }
149
-
@@ -1,69 +0,0 @@
1
- #ifndef nodeinfo_h
2
- #define nodeinfo_h
3
-
4
- #include "ruby_internal_node.h"
5
-
6
- #include "ruby.h"
7
-
8
- enum Node_Elem_Name
9
- {
10
- NEN_NONE,
11
- NEN_1ST,
12
- NEN_2ND,
13
- NEN_AID,
14
- NEN_ALEN,
15
- NEN_ARGC,
16
- NEN_ARGS,
17
- NEN_BEG,
18
- NEN_BODY,
19
- NEN_CFLAG,
20
- NEN_CFNC,
21
- NEN_CLSS,
22
- NEN_CNAME,
23
- NEN_CNT,
24
- NEN_COND,
25
- NEN_CVAL,
26
- NEN_DEFN,
27
- NEN_ELSE,
28
- NEN_END,
29
- NEN_ENSR,
30
- NEN_ENTRY,
31
- NEN_FRML,
32
- NEN_HEAD,
33
- NEN_IBDY,
34
- NEN_ITER,
35
- NEN_LIT,
36
- NEN_MID,
37
- NEN_MODL,
38
- NEN_NEW,
39
- NEN_NEXT,
40
- NEN_NOEX,
41
- NEN_NTH,
42
- NEN_OLD,
43
- NEN_OPT,
44
- NEN_ORIG,
45
- NEN_RECV,
46
- NEN_RESQ,
47
- NEN_REST,
48
- NEN_RVAL,
49
- NEN_STATE,
50
- NEN_STTS,
51
- NEN_SUPER,
52
- NEN_TAG,
53
- NEN_TBL,
54
- NEN_TVAL,
55
- NEN_VALUE,
56
- NEN_VAR,
57
- NEN_VID,
58
- };
59
-
60
- VALUE dump_node_elem(enum Node_Elem_Name nen, NODE * n, VALUE node_hash);
61
- void load_node_elem(enum Node_Elem_Name nen, VALUE v, NODE * n, VALUE node_hash, VALUE id_hash);
62
- VALUE node_s_members(VALUE klass);
63
- void define_node_subclass_methods();
64
-
65
- #define NODE_OP_ASGN2_ARG NODE_LAST + 1
66
- #define NUM_NODE_TYPE_DESCRIPS NODE_OP_ASGN2_ARG + 1
67
-
68
- #endif
69
-
@@ -1,35 +0,0 @@
1
- #ifndef ruby_internal_block__h_
2
- #define ruby_internal_block__h_
3
-
4
- #include <ruby.h>
5
-
6
- #ifndef RUBY_VM
7
- #include "env.h"
8
- #endif
9
-
10
- struct BLOCKTAG {
11
- struct RBasic super;
12
- long dst;
13
- long flags;
14
- };
15
-
16
- struct BLOCK {
17
- NODE *var;
18
- NODE *body;
19
- VALUE self;
20
- struct FRAME frame;
21
- struct SCOPE *scope;
22
- struct BLOCKTAG *tag;
23
- VALUE klass;
24
- int iter;
25
- int vmode;
26
- int flags;
27
- struct RVarmap *dyna_vars;
28
- VALUE orig_thread;
29
- VALUE wrapper;
30
- struct BLOCK *prev;
31
- };
32
-
33
-
34
- #endif
35
-
@@ -1,15 +0,0 @@
1
- #include <ruby.h>
2
-
3
- #ifdef RUBY_VM
4
- #include "eval_intern.h"
5
- #endif
6
-
7
- #define TAG_RETURN 0x1
8
- #define TAG_BREAK 0x2
9
- #define TAG_NEXT 0x3
10
- #define TAG_RETRY 0x4
11
- #define TAG_REDO 0x5
12
- #define TAG_RAISE 0x6
13
- #define TAG_THROW 0x7
14
- #define TAG_FATAL 0x8
15
- #define TAG_MASK 0xf
@@ -1,39 +0,0 @@
1
- #include "insns_info.h"
2
-
3
- #ifdef RUBY_VM
4
-
5
-
6
- VALUE instruction_class[VM_INSTRUCTION_SIZE];
7
-
8
- static ID operand_type_name_of(int operand_type)
9
- {
10
- char const * retval = "????";
11
-
12
- switch(operand_type)
13
- {
14
- case TS_ISEQ: retval = "iseq"; break;
15
- case TS_GENTRY: retval = "gentry"; break;
16
- case TS_OFFSET: retval = "operand"; break;
17
- case TS_DINDEX: retval = "dindex"; break;
18
- case TS_VARIABLE: retval = "variable"; break;
19
- case TS_CDHASH: retval = "cdhash"; break;
20
- case TS_IC: retval = "ic"; break;
21
- case TS_ID: retval = "id"; break;
22
- case TS_VALUE: retval = "value"; break;
23
- case TS_LINDEX: retval = "lindex"; break;
24
- case TS_NUM: retval = "num"; break;
25
- }
26
-
27
- return rb_intern(retval);
28
- }
29
-
30
-
31
- void define_instruction_subclasses(VALUE rb_cInstruction)
32
- {
33
- /* For rdoc: rb_cVM = rb_define_class("VM", rb_cObject); */
34
- /* For rdoc: rb_cInstruction = rb_define_class_under(rb_cVM, "Instruction", rb_cObject); */
35
-
36
- }
37
-
38
- #endif
39
-
@@ -1,21 +0,0 @@
1
- #ifndef insns_info__h_
2
- #define insns_info__h_
3
-
4
- #include "ruby.h"
5
-
6
- #ifdef RUBY_VM
7
-
8
- #include "vm_core.h"
9
-
10
- #ifdef HAVE_VM_H
11
- #include "vm.h"
12
- #endif
13
-
14
-
15
- extern VALUE instruction_class[VM_INSTRUCTION_SIZE];
16
- void define_instruction_subclasses(VALUE rb_cInstruction);
17
-
18
- #endif
19
-
20
- #endif
21
-