ruby-internal 0.7.3 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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,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_CNT,
23
- NEN_COND,
24
- NEN_CPATH,
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,31 +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 BLOCK {
11
- NODE *var;
12
- NODE *body;
13
- VALUE self;
14
- struct FRAME frame;
15
- struct SCOPE *scope;
16
- VALUE klass;
17
- NODE *cref;
18
- int iter;
19
- int vmode;
20
- int flags;
21
- struct RVarmap *dyna_vars;
22
- VALUE orig_thread;
23
- VALUE wrapper;
24
- VALUE block_obj;
25
- struct BLOCK *outer;
26
- struct BLOCK *prev;
27
- };
28
-
29
-
30
- #endif
31
-
@@ -1,16 +0,0 @@
1
- #include <ruby.h>
2
-
3
- #ifdef RUBY_VM
4
- #include "eval_intern.h"
5
- #endif
6
-
7
- #define TAG_DST() (_tag.dst == (VALUE)ruby_frame->uniq)
8
- #define TAG_RETURN 0x1
9
- #define TAG_BREAK 0x2
10
- #define TAG_NEXT 0x3
11
- #define TAG_RETRY 0x4
12
- #define TAG_REDO 0x5
13
- #define TAG_RAISE 0x6
14
- #define TAG_THROW 0x7
15
- #define TAG_FATAL 0x8
16
- #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
-
@@ -1,12 +0,0 @@
1
- #ifndef ruby_internal_insns_info__inc_
2
- #define ruby_internal_insns_info__inc_
3
-
4
- #include <ruby.h>
5
-
6
- #ifndef RUBY_VM
7
- #include "env.h"
8
- #endif
9
-
10
-
11
- #endif
12
-
@@ -1,9 +0,0 @@
1
- #ifndef ruby_internal_iseq_load__inc_
2
- #define ruby_internal_iseq_load__inc_
3
-
4
- #include "internal/yarv-headers/gc.h"
5
- #include "internal/yarv-headers/iseq.h"
6
-
7
-
8
- #endif
9
-
@@ -1,32 +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 BLOCK {
11
- NODE *var;
12
- NODE *body;
13
- VALUE self;
14
- struct FRAME frame;
15
- struct SCOPE *scope;
16
- VALUE klass;
17
- NODE *cref;
18
- int iter;
19
- int vmode;
20
- int flags;
21
- int uniq;
22
- struct RVarmap *dyna_vars;
23
- VALUE orig_thread;
24
- VALUE wrapper;
25
- VALUE block_obj;
26
- struct BLOCK *outer;
27
- struct BLOCK *prev;
28
- };
29
-
30
-
31
- #endif
32
-
@@ -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, rklass;
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->rklass
17
-
18
- #endif
19
-
@@ -1,45 +0,0 @@
1
- #include "classpath.h"
2
-
3
- VALUE
4
- class2path(klass)
5
- VALUE klass;
6
- {
7
- VALUE path = rb_class_path(klass);
8
- char *n = RSTRING(path)->ptr;
9
-
10
- if (n[0] == '#') {
11
- rb_raise(rb_eTypeError, "can't dump anonymous %s %s",
12
- (TYPE(klass) == T_CLASS ? "class" : "module"),
13
- n);
14
- }
15
- if (rb_path2class(n) != rb_class_real(klass)) {
16
- rb_raise(rb_eTypeError, "%s cannot be referred", n);
17
- }
18
- return path;
19
- }
20
-
21
- VALUE
22
- path2class(path)
23
- char *path;
24
- {
25
- VALUE v = rb_path2class(path);
26
-
27
- if (TYPE(v) != T_CLASS) {
28
- rb_raise(rb_eArgError, "%s does not refer class", path);
29
- }
30
- return v;
31
- }
32
-
33
- VALUE
34
- path2module(path)
35
- char *path;
36
- {
37
- VALUE v = rb_path2class(path);
38
-
39
- if (TYPE(v) != T_MODULE) {
40
- rb_raise(rb_eArgError, "%s does not refer module", path);
41
- }
42
- return v;
43
- }
44
-
45
-
@@ -1,17 +0,0 @@
1
- #ifndef CLASSPATH_H
2
- #define CLASSPATH_H
3
-
4
- #include "ruby.h"
5
-
6
- VALUE class2path(
7
- VALUE klass
8
- );
9
- VALUE path2class(
10
- char *path
11
- );
12
- VALUE path2module(
13
- char *path
14
- );
15
-
16
- #endif
17
-
@@ -1,32 +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 BLOCK {
11
- NODE *var;
12
- NODE *body;
13
- VALUE self;
14
- struct FRAME frame;
15
- struct SCOPE *scope;
16
- VALUE klass;
17
- NODE *cref;
18
- int iter;
19
- int vmode;
20
- int flags;
21
- int uniq;
22
- struct RVarmap *dyna_vars;
23
- VALUE orig_thread;
24
- VALUE wrapper;
25
- VALUE block_obj;
26
- struct BLOCK *outer;
27
- struct BLOCK *prev;
28
- };
29
-
30
-
31
- #endif
32
-
@@ -1,10 +0,0 @@
1
- #ifndef global_entry__h_
2
- #define global_entry__h_
3
-
4
- struct global_entry {
5
- struct global_variable *var;
6
- ID id;
7
- };
8
-
9
- #endif
10
-
@@ -1,154 +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_ATTRASGN, NEN_ARGS, NEN_MID, NEN_RECV, "ATTRASGN" },
15
- { NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
16
- { NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
17
- { NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
18
- { NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
19
- { NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
20
- { NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
21
- { NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
22
- { NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
23
- { NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
24
- { NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
25
- { NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
26
- { NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
27
- { NODE_CLASS, NEN_CPATH, NEN_BODY, NEN_SUPER, "CLASS" },
28
- { NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
29
- { NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
30
- { NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
31
- { NODE_CREF, NEN_BODY, NEN_NEXT, NEN_CLSS, "CREF" },
32
- { NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
33
- { NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
34
- { NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
35
- { NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
36
- { NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
37
- { NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
38
- { NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
39
- { NODE_DEFS, NEN_DEFN, NEN_MID, NEN_RECV, "DEFS" },
40
- { NODE_DMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "DMETHOD" },
41
- { NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
42
- { NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
43
- { NODE_DREGX, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX" },
44
- { NODE_DREGX_ONCE, NEN_LIT, NEN_CFLAG, NEN_NEXT, "DREGX_ONCE" },
45
- { NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
46
- { NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
47
- { NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
48
- { NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
49
- { NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
50
- { NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
51
- { NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
52
- { NODE_FBODY, NEN_HEAD, NEN_ORIG, NEN_MID, "FBODY" },
53
- { NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
54
- { NODE_FLIP2, NEN_BEG, NEN_END, NEN_CNT, "FLIP2" },
55
- { NODE_FLIP3, NEN_BEG, NEN_END, NEN_CNT, "FLIP3" },
56
- { NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
57
- { NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
58
- { NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
59
- { NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
60
- { NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
61
- { NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
62
- { NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
63
- { NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
64
- { NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
65
- { NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
66
- { NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
67
- { NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
68
- { NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
69
- { NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
70
- { NODE_MATCH2, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH2" },
71
- { NODE_MATCH3, NEN_VALUE, NEN_RECV, NEN_NONE, "MATCH3" },
72
- { NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
73
- { NODE_METHOD, NEN_BODY, NEN_NOEX, NEN_NONE, "METHOD" },
74
- { NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
75
- { NODE_NEWLINE, NEN_NEXT, NEN_NONE, NEN_NONE, "NEWLINE" },
76
- { NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
77
- { NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
78
- { NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
79
- { NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
80
- { NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
81
- { NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
82
- { NODE_OP_ASGN2, NEN_VALUE, NEN_NEXT, NEN_RECV, "OP_ASGN2" },
83
- { NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
84
- { NODE_OP_ASGN_AND, NEN_VALUE, NEN_RECV, NEN_NONE, "OP_ASGN_AND" },
85
- { NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
86
- { NODE_OR, NEN_1ST, NEN_2ND, NEN_NONE, "OR" },
87
- { NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
88
- { NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
89
- { NODE_RESBODY, NEN_HEAD, NEN_ARGS, NEN_BODY, "RESBODY" },
90
- { NODE_RESCUE, NEN_HEAD, NEN_ELSE, NEN_RESQ, "RESCUE" },
91
- { NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
92
- { NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
93
- { NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
94
- { NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
95
- { NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
96
- { NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
97
- { NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
98
- { NODE_SUPER, NEN_ARGS, NEN_NONE, NEN_NONE, "SUPER" },
99
- { NODE_SVALUE, NEN_HEAD, NEN_NONE, NEN_NONE, "SVALUE" },
100
- { NODE_TO_ARY, NEN_HEAD, NEN_NONE, NEN_NONE, "TO_ARY" },
101
- { NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
102
- { NODE_UNDEF, NEN_MID, NEN_NONE, NEN_NONE, "UNDEF" },
103
- { NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
104
- { NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
105
- { NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
106
- { NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
107
- { NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
108
- { NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
109
- { NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
110
- { NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
111
- { NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
112
- { NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
113
- };
114
-
115
- static Node_Type_Descrip * node_type_descrips[NUM_NODE_TYPE_DESCRIPS];
116
- static int node_type_descrips_initialized = 0;
117
-
118
- static void init_node_type_descrips()
119
- {
120
- if(!node_type_descrips_initialized)
121
- {
122
- Node_Type_Descrip * descrip;
123
- memset(node_type_descrips, 0, sizeof(node_type_descrips));
124
- for(descrip = node_type_descrips_unsorted;
125
- descrip->nt != NODE_LAST;
126
- ++descrip)
127
- {
128
- if(node_type_descrips[descrip->nt])
129
- {
130
- 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);
131
- }
132
- else
133
- {
134
- node_type_descrips[descrip->nt] = descrip;
135
- }
136
- }
137
- node_type_descrips_initialized = 1;
138
- }
139
- }
140
-
141
- /* Given a node, find out the types of the three elements it contains */
142
- Node_Type_Descrip const * node_type_descrip(enum node_type nt)
143
- {
144
- init_node_type_descrips();
145
- if(node_type_descrips[nt])
146
- {
147
- return node_type_descrips[nt];
148
- }
149
- else
150
- {
151
- rb_raise(rb_eArgError, "Unknown node type %d", nt);
152
- }
153
- }
154
-