debase-ruby_core_source 0.9.9 → 0.9.10

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 (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/addr2line.h +0 -0
  4. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/build_assert/build_assert.h +0 -0
  5. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/check_type/check_type.h +0 -0
  6. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/container_of/container_of.h +0 -0
  7. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ccan/list/list.h +28 -166
  8. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/ccan/str/str.h +0 -0
  9. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/constant.h +3 -10
  10. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/dln.h +0 -0
  11. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/eval_intern.h +49 -89
  12. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/gc.h +1 -8
  13. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/id.h +5 -15
  14. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/insns.inc +107 -0
  15. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/insns_info.inc +45 -89
  16. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/internal.h +164 -666
  17. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/iseq.h +158 -0
  18. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/known_errors.inc +0 -0
  19. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/method.h +144 -0
  20. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/node.h +42 -18
  21. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/node_name.inc +6 -2
  22. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/opt_sc.inc +0 -40
  23. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/optinsn.inc +0 -0
  24. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/optunifs.inc +0 -5
  25. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/parse.h +8 -28
  26. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/probes_helper.h +67 -0
  27. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regenc.h +16 -16
  28. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regint.h +10 -33
  29. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/regparse.h +1 -5
  30. data/lib/debase/ruby_core_source/ruby-2.2.8-p477/revision.h +1 -0
  31. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/ruby_atomic.h +5 -68
  32. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/siphash.h +0 -0
  33. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/symbol.h +13 -33
  34. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/thread_pthread.h +2 -2
  35. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/thread_win32.h +0 -0
  36. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/timev.h +0 -0
  37. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/transcode_data.h +7 -23
  38. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/version.h +10 -31
  39. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm.inc +497 -542
  40. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_core.h +305 -784
  41. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_debug.h +0 -0
  42. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.2.8-p477}/vm_exec.h +0 -0
  43. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.2.8-p477}/vm_insnhelper.h +56 -50
  44. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vm_opts.h +7 -8
  45. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.2.8-p477}/vmtc.inc +0 -5
  46. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/addr2line.h +0 -0
  47. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/build_assert/build_assert.h +0 -0
  48. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/check_type/check_type.h +0 -0
  49. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/container_of/container_of.h +0 -0
  50. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ccan/list/list.h +0 -0
  51. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/ccan/str/str.h +0 -0
  52. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/constant.h +1 -1
  53. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/dln.h +0 -0
  54. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/encindex.h +0 -0
  55. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/eval_intern.h +3 -4
  56. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/gc.h +0 -0
  57. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/id.h +0 -9
  58. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/id_table.h +0 -0
  59. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns.inc +46 -48
  60. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/insns_info.inc +0 -20
  61. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/internal.h +58 -290
  62. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/iseq.h +15 -18
  63. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/known_errors.inc +0 -0
  64. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/method.h +2 -2
  65. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/node.h +2 -2
  66. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/node_name.inc +0 -0
  67. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/opt_sc.inc +0 -16
  68. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/optinsn.inc +0 -0
  69. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/optunifs.inc +0 -2
  70. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/parse.h +8 -27
  71. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/probes_helper.h +0 -0
  72. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regenc.h +14 -14
  73. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/regint.h +0 -8
  74. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/regparse.h +0 -0
  75. data/lib/debase/ruby_core_source/ruby-2.3.5-p376/revision.h +1 -0
  76. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/ruby_atomic.h +0 -0
  77. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/siphash.h +0 -0
  78. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/symbol.h +3 -3
  79. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/thread_pthread.h +0 -0
  80. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/thread_win32.h +0 -0
  81. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/timev.h +0 -0
  82. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/transcode_data.h +0 -0
  83. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.3.5-p376}/version.h +9 -27
  84. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm.inc +255 -264
  85. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_call_iseq_optimized.inc +5 -5
  86. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_core.h +37 -28
  87. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_debug.h +0 -0
  88. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vm_exec.h +0 -0
  89. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_insnhelper.h +32 -16
  90. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.3.5-p376}/vm_opts.h +0 -0
  91. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.3.5-p376}/vmtc.inc +0 -2
  92. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/addr2line.h +0 -0
  93. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/build_assert/build_assert.h +0 -0
  94. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/check_type/check_type.h +0 -0
  95. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/container_of/container_of.h +0 -0
  96. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ccan/list/list.h +0 -0
  97. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/ccan/str/str.h +0 -0
  98. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/constant.h +0 -0
  99. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/dln.h +0 -0
  100. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/encindex.h +0 -0
  101. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/eval_intern.h +0 -0
  102. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/gc.h +0 -0
  103. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/id.h +0 -0
  104. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/id_table.h +0 -0
  105. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns.inc +0 -0
  106. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/insns_info.inc +0 -0
  107. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/internal.h +116 -51
  108. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/iseq.h +0 -0
  109. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/known_errors.inc +0 -0
  110. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/method.h +0 -0
  111. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node.h +2 -2
  112. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/node_name.inc +0 -0
  113. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/opt_sc.inc +0 -0
  114. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/optinsn.inc +0 -0
  115. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/optunifs.inc +0 -0
  116. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/parse.h +8 -27
  117. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/probes_helper.h +0 -0
  118. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regenc.h +79 -67
  119. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/regint.h +187 -244
  120. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/regparse.h +30 -27
  121. data/lib/debase/ruby_core_source/ruby-2.4.2-p198/revision.h +1 -0
  122. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/ruby_assert.h +0 -0
  123. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/ruby_atomic.h +0 -0
  124. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/siphash.h +0 -0
  125. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/symbol.h +0 -0
  126. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/thread_pthread.h +0 -0
  127. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/thread_win32.h +0 -0
  128. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/timev.h +0 -0
  129. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/transcode_data.h +0 -0
  130. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/version.h +6 -6
  131. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm.inc +37 -34
  132. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_call_iseq_optimized.inc +0 -0
  133. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_core.h +9 -7
  134. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_debug.h +0 -0
  135. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_exec.h +0 -0
  136. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview3 → ruby-2.4.2-p198}/vm_insnhelper.h +30 -14
  137. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview2 → ruby-2.4.2-p198}/vm_opts.h +0 -0
  138. data/lib/debase/ruby_core_source/{ruby-2.4.0-preview1 → ruby-2.4.2-p198}/vmtc.inc +0 -0
  139. data/lib/debase/ruby_core_source/version.rb +1 -1
  140. metadata +138 -143
  141. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/method.h +0 -213
  142. data/lib/debase/ruby_core_source/ruby-2.4.0-preview1/revision.h +0 -1
  143. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/revision.h +0 -1
  144. data/lib/debase/ruby_core_source/ruby-2.4.0-preview2/ruby_assert.h +0 -54
  145. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/encindex.h +0 -67
  146. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/id_table.h +0 -31
  147. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/insns.inc +0 -112
  148. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/iseq.h +0 -252
  149. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/probes_helper.h +0 -43
  150. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/revision.h +0 -1
  151. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/ruby_assert.h +0 -54
  152. data/lib/debase/ruby_core_source/ruby-2.4.0-preview3/vm_call_iseq_optimized.inc +0 -212
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6553b76ff794b05e96049e4e422c53c77a741ee1
4
- data.tar.gz: 65edf1f1b0ea8e8e97719ce6ecf3ce698922267d
3
+ metadata.gz: 865a2c1b416c2d034724e9cbae49d0a01257c006
4
+ data.tar.gz: 11ef26d145574ee1cbe6eba1524326c82ae5bdae
5
5
  SHA512:
6
- metadata.gz: 644a1834faad79aef7d32ab0b30c8b844a8ccc1dad6e0dd3f07ea75ec73f9dacccdd0c6c72c928742bb0b9fc8c1faeadf4c7b198b57354d78634a61b69e0a386
7
- data.tar.gz: b611b07fb5c33f02bc3b1cc890813881ae0d94c464955b1a3610350c04d551682706a9832cca054212863dfa72fe6a287dd52af26720613773ad96a6f0def1ac
6
+ metadata.gz: d41e4e2f8de1aa50f382012791250b7f8fb688e7108ffaea20d6048822db0909f238ddccdba9a6986507d50659830cf3c6a05e7b683fadaaa77287a68f907129
7
+ data.tar.gz: 2feb4daceb484907e5cba5de1409dc1b5687fbc5d3488dc67a4daf41cc3a29cd8fc6cab4e8a38ef5f78d4bd4d36060c8162596a16683b03f8e54b74bb4d62425
@@ -1,3 +1,10 @@
1
+ ## [0.9.10](https::/github.com/os97673/debase-ruby_core_source/compare/v0.9.9...v0.9.10)
2
+
3
+ * ruby 2.4.0 previews deleted
4
+ * ruby 2.2.8 added
5
+ * ruby 2.3.5 added
6
+ * ruby 2.4.2 added
7
+
1
8
  ## [0.9.9](https::/github.com/os97673/debase-ruby_core_source/compare/v0.9.8...v0.9.9)
2
9
 
3
10
  * ruby 2.3.4 added
@@ -42,8 +42,8 @@ struct list_head
42
42
  };
43
43
 
44
44
  #define LIST_LOC __FILE__ ":" stringify(__LINE__)
45
- #define list_debug(h, loc) ((void)loc, h)
46
- #define list_debug_node(n, loc) ((void)loc, n)
45
+ #define list_debug(h, loc) (h)
46
+ #define list_debug_node(n, loc) (n)
47
47
 
48
48
  /**
49
49
  * LIST_HEAD_INIT - initializer for an empty list_head
@@ -103,36 +103,6 @@ static inline void list_node_init(struct list_node *n)
103
103
  n->next = n->prev = n;
104
104
  }
105
105
 
106
- /**
107
- * list_add_after - add an entry after an existing node in a linked list
108
- * @h: the list_head to add the node to (for debugging)
109
- * @p: the existing list_node to add the node after
110
- * @n: the new list_node to add to the list.
111
- *
112
- * The existing list_node must already be a member of the list.
113
- * The new list_node does not need to be initialized; it will be overwritten.
114
- *
115
- * Example:
116
- * struct child c1, c2, c3;
117
- * LIST_HEAD(h);
118
- *
119
- * list_add_tail(&h, &c1.list);
120
- * list_add_tail(&h, &c3.list);
121
- * list_add_after(&h, &c1.list, &c2.list);
122
- */
123
- #define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)
124
- static inline void list_add_after_(struct list_head *h,
125
- struct list_node *p,
126
- struct list_node *n,
127
- const char *abortstr)
128
- {
129
- n->next = p->next;
130
- n->prev = p;
131
- p->next->prev = n;
132
- p->next = n;
133
- (void)list_debug(h, abortstr);
134
- }
135
-
136
106
  /**
137
107
  * list_add - add an entry at the start of a linked list.
138
108
  * @h: the list_head to add the node to
@@ -151,34 +121,10 @@ static inline void list_add_(struct list_head *h,
151
121
  struct list_node *n,
152
122
  const char *abortstr)
153
123
  {
154
- list_add_after_(h, &h->n, n, abortstr);
155
- }
156
-
157
- /**
158
- * list_add_before - add an entry before an existing node in a linked list
159
- * @h: the list_head to add the node to (for debugging)
160
- * @p: the existing list_node to add the node before
161
- * @n: the new list_node to add to the list.
162
- *
163
- * The existing list_node must already be a member of the list.
164
- * The new list_node does not need to be initialized; it will be overwritten.
165
- *
166
- * Example:
167
- * list_head_init(&h);
168
- * list_add_tail(&h, &c1.list);
169
- * list_add_tail(&h, &c3.list);
170
- * list_add_before(&h, &c3.list, &c2.list);
171
- */
172
- #define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)
173
- static inline void list_add_before_(struct list_head *h,
174
- struct list_node *p,
175
- struct list_node *n,
176
- const char *abortstr)
177
- {
178
- n->next = p;
179
- n->prev = p->prev;
180
- p->prev->next = n;
181
- p->prev = n;
124
+ n->next = h->n.next;
125
+ n->prev = &h->n;
126
+ h->n.next->prev = n;
127
+ h->n.next = n;
182
128
  (void)list_debug(h, abortstr);
183
129
  }
184
130
 
@@ -197,7 +143,11 @@ static inline void list_add_tail_(struct list_head *h,
197
143
  struct list_node *n,
198
144
  const char *abortstr)
199
145
  {
200
- list_add_before_(h, &h->n, n, abortstr);
146
+ n->next = &h->n;
147
+ n->prev = h->n.prev;
148
+ h->n.prev->next = n;
149
+ h->n.prev = n;
150
+ (void)list_debug(h, abortstr);
201
151
  }
202
152
 
203
153
  /**
@@ -314,39 +264,6 @@ static inline void list_del_from(struct list_head *h, struct list_node *n)
314
264
  list_del(n);
315
265
  }
316
266
 
317
- /**
318
- * list_swap - swap out an entry from an (unknown) linked list for a new one.
319
- * @o: the list_node to replace from the list.
320
- * @n: the list_node to insert in place of the old one.
321
- *
322
- * Note that this leaves @o in an undefined state; it can be added to
323
- * another list, but not deleted/swapped again.
324
- *
325
- * See also:
326
- * list_del()
327
- *
328
- * Example:
329
- * struct child x1, x2;
330
- * LIST_HEAD(xh);
331
- *
332
- * list_add(&xh, &x1.list);
333
- * list_swap(&x1.list, &x2.list);
334
- */
335
- #define list_swap(o, n) list_swap_(o, n, LIST_LOC)
336
- static inline void list_swap_(struct list_node *o,
337
- struct list_node *n,
338
- const char* abortstr)
339
- {
340
- (void)list_debug_node(o, abortstr);
341
- *n = *o;
342
- n->next->prev = n;
343
- n->prev->next = n;
344
- #ifdef CCAN_LIST_DEBUG
345
- /* Catch use-after-del. */
346
- o->next = o->prev = NULL;
347
- #endif
348
- }
349
-
350
267
  /**
351
268
  * list_entry - convert a list_node back into the structure containing it.
352
269
  * @n: the list_node
@@ -468,29 +385,9 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
468
385
  * printf("Name: %s\n", child->name);
469
386
  */
470
387
  #define list_for_each_rev(h, i, member) \
471
- list_for_each_rev_off(h, i, list_off_var_(i, member))
472
-
473
- /**
474
- * list_for_each_rev_safe - iterate through a list backwards,
475
- * maybe during deletion
476
- * @h: the list_head
477
- * @i: the structure containing the list_node
478
- * @nxt: the structure containing the list_node
479
- * @member: the list_node member of the structure
480
- *
481
- * This is a convenient wrapper to iterate @i over the entire list backwards.
482
- * It's a for loop, so you can break and continue as normal. The extra
483
- * variable * @nxt is used to hold the next element, so you can delete @i
484
- * from the list.
485
- *
486
- * Example:
487
- * struct child *next;
488
- * list_for_each_rev_safe(&parent->children, child, next, list) {
489
- * printf("Name: %s\n", child->name);
490
- * }
491
- */
492
- #define list_for_each_rev_safe(h, i, nxt, member) \
493
- list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))
388
+ for (i = container_of_var(list_debug(h, LIST_LOC)->n.prev, i, member); \
389
+ &i->member != &(h)->n; \
390
+ i = container_of_var(i->member.prev, i, member))
494
391
 
495
392
  /**
496
393
  * list_for_each_safe - iterate through a list, maybe during deletion
@@ -504,6 +401,7 @@ static inline const void *list_tail_(const struct list_head *h, size_t off)
504
401
  * @nxt is used to hold the next element, so you can delete @i from the list.
505
402
  *
506
403
  * Example:
404
+ * struct child *next;
507
405
  * list_for_each_safe(&parent->children, child, next, list) {
508
406
  * list_del(&child->list);
509
407
  * parent->num_children--;
@@ -618,24 +516,6 @@ static inline void list_prepend_list_(struct list_head *to,
618
516
  list_head_init(from);
619
517
  }
620
518
 
621
- /* internal macros, do not use directly */
622
- #define list_for_each_off_dir_(h, i, off, dir) \
623
- for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
624
- (off)); \
625
- list_node_from_off_((void *)i, (off)) != &(h)->n; \
626
- i = list_node_to_off_(list_node_from_off_((void *)i, (off))->dir, \
627
- (off)))
628
-
629
- #define list_for_each_safe_off_dir_(h, i, nxt, off, dir) \
630
- for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.dir, \
631
- (off)), \
632
- nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
633
- (off)); \
634
- list_node_from_off_(i, (off)) != &(h)->n; \
635
- i = nxt, \
636
- nxt = list_node_to_off_(list_node_from_off_(i, (off))->dir, \
637
- (off)))
638
-
639
519
  /**
640
520
  * list_for_each_off - iterate through a list of memory regions.
641
521
  * @h: the list_head
@@ -666,18 +546,11 @@ static inline void list_prepend_list_(struct list_head *to,
666
546
  * printf("Name: %s\n", child->name);
667
547
  */
668
548
  #define list_for_each_off(h, i, off) \
669
- list_for_each_off_dir_((h),(i),(off),next)
670
-
671
- /**
672
- * list_for_each_rev_off - iterate through a list of memory regions backwards
673
- * @h: the list_head
674
- * @i: the pointer to a memory region wich contains list node data.
675
- * @off: offset(relative to @i) at which list node data resides.
676
- *
677
- * See list_for_each_off for details
678
- */
679
- #define list_for_each_rev_off(h, i, off) \
680
- list_for_each_off_dir_((h),(i),(off),prev)
549
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.next, \
550
+ (off)); \
551
+ list_node_from_off_((void *)i, (off)) != &(h)->n; \
552
+ i = list_node_to_off_(list_node_from_off_((void *)i, (off))->next, \
553
+ (off)))
681
554
 
682
555
  /**
683
556
  * list_for_each_safe_off - iterate through a list of memory regions, maybe
@@ -696,26 +569,15 @@ static inline void list_prepend_list_(struct list_head *to,
696
569
  * printf("Name: %s\n", child->name);
697
570
  */
698
571
  #define list_for_each_safe_off(h, i, nxt, off) \
699
- list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)
572
+ for (i = list_node_to_off_(list_debug(h, LIST_LOC)->n.next, \
573
+ (off)), \
574
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->next, \
575
+ (off)); \
576
+ list_node_from_off_(i, (off)) != &(h)->n; \
577
+ i = nxt, \
578
+ nxt = list_node_to_off_(list_node_from_off_(i, (off))->next, \
579
+ (off)))
700
580
 
701
- /**
702
- * list_for_each_rev_safe_off - iterate backwards through a list of
703
- * memory regions, maybe during deletion
704
- * @h: the list_head
705
- * @i: the pointer to a memory region wich contains list node data.
706
- * @nxt: the structure containing the list_node
707
- * @off: offset(relative to @i) at which list node data resides.
708
- *
709
- * For details see `list_for_each_rev_off' and `list_for_each_rev_safe'
710
- * descriptions.
711
- *
712
- * Example:
713
- * list_for_each_rev_safe_off(&parent->children, child,
714
- * next, offsetof(struct child, list))
715
- * printf("Name: %s\n", child->name);
716
- */
717
- #define list_for_each_rev_safe_off(h, i, nxt, off) \
718
- list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)
719
581
 
720
582
  /* Other -off variants. */
721
583
  #define list_entry_off(n, type, off) \
@@ -12,21 +12,15 @@
12
12
  #define CONSTANT_H
13
13
 
14
14
  typedef enum {
15
- CONST_DEPRECATED = 0x100,
16
-
17
- CONST_VISIBILITY_MASK = 0xff,
18
15
  CONST_PUBLIC = 0x00,
19
16
  CONST_PRIVATE,
20
17
  CONST_VISIBILITY_MAX
21
18
  } rb_const_flag_t;
22
19
 
23
20
  #define RB_CONST_PRIVATE_P(ce) \
24
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PRIVATE)
21
+ ((ce)->flag == CONST_PRIVATE)
25
22
  #define RB_CONST_PUBLIC_P(ce) \
26
- (((ce)->flag & CONST_VISIBILITY_MASK) == CONST_PUBLIC)
27
-
28
- #define RB_CONST_DEPRECATED_P(ce) \
29
- ((ce)->flag & CONST_DEPRECATED)
23
+ ((ce)->flag == CONST_PUBLIC)
30
24
 
31
25
  typedef struct rb_const_entry_struct {
32
26
  rb_const_flag_t flag;
@@ -37,8 +31,7 @@ typedef struct rb_const_entry_struct {
37
31
 
38
32
  VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);
39
33
  VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);
40
- VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);
41
- void rb_free_const_table(struct rb_id_table *tbl);
34
+ void rb_free_const_table(st_table *tbl);
42
35
  VALUE rb_public_const_get(VALUE klass, ID id);
43
36
  VALUE rb_public_const_get_at(VALUE klass, ID id);
44
37
  VALUE rb_public_const_get_from(VALUE klass, ID id);
@@ -4,24 +4,15 @@
4
4
  #include "ruby/ruby.h"
5
5
  #include "vm_core.h"
6
6
 
7
- static inline void
8
- vm_passed_block_handler_set(rb_thread_t *th, VALUE block_handler)
9
- {
10
- VM_ASSERT(vm_block_handler_verify(block_handler));
11
- th->passed_block_handler = block_handler;
12
- }
13
-
14
- static inline void
15
- pass_passed_block_handler(rb_thread_t *th)
16
- {
17
- VALUE block_handler = rb_vm_frame_block_handler(th->cfp);
18
- VM_ASSERT(vm_block_handler_verify(block_handler));
19
- vm_passed_block_handler_set(th, block_handler);
20
- VM_ENV_FLAGS_SET(th->cfp->ep, VM_FRAME_FLAG_PASSED);
21
- }
7
+ #define PASS_PASSED_BLOCK_TH(th) do { \
8
+ (th)->passed_block = rb_vm_control_frame_block_ptr(th->cfp); \
9
+ (th)->cfp->flag |= VM_FRAME_FLAG_PASSED; \
10
+ } while (0)
22
11
 
23
- #define PASS_PASSED_BLOCK_HANDLER_TH(th) pass_passed_block_handler(th)
24
- #define PASS_PASSED_BLOCK_HANDLER() pass_passed_block_handler(GET_THREAD())
12
+ #define PASS_PASSED_BLOCK() do { \
13
+ rb_thread_t * const __th__ = GET_THREAD(); \
14
+ PASS_PASSED_BLOCK_TH(__th__); \
15
+ } while (0)
25
16
 
26
17
  #ifdef HAVE_STDLIB_H
27
18
  #include <stdlib.h>
@@ -131,7 +122,7 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
131
122
  #define TH_PUSH_TAG(th) do { \
132
123
  rb_thread_t * const _th = (th); \
133
124
  struct rb_vm_tag _tag; \
134
- _tag.tag = 0; \
125
+ _tag.tag = Qundef; \
135
126
  _tag.prev = _th->tag;
136
127
 
137
128
  #define TH_POP_TAG() \
@@ -149,11 +140,9 @@ LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
149
140
  #if defined __GNUC__ && __GNUC__ == 4 && (__GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8)
150
141
  # define VAR_FROM_MEMORY(var) __extension__(*(__typeof__(var) volatile *)&(var))
151
142
  # define VAR_INITIALIZED(var) ((var) = VAR_FROM_MEMORY(var))
152
- # define VAR_NOCLOBBERED(var) volatile var
153
143
  #else
154
144
  # define VAR_FROM_MEMORY(var) (var)
155
145
  # define VAR_INITIALIZED(var) ((void)&(var))
156
- # define VAR_NOCLOBBERED(var) var
157
146
  #endif
158
147
 
159
148
  /* clear th->state, and return the value */
@@ -189,70 +178,41 @@ rb_threadptr_tag_jump(rb_thread_t *th, int st)
189
178
 
190
179
  #define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
191
180
 
192
- /* CREF operators */
193
-
194
- #define CREF_FL_PUSHED_BY_EVAL IMEMO_FL_USER1
195
- #define CREF_FL_OMOD_SHARED IMEMO_FL_USER2
196
-
197
- static inline VALUE
198
- CREF_CLASS(const rb_cref_t *cref)
199
- {
200
- return cref->klass;
201
- }
202
-
203
- static inline rb_cref_t *
204
- CREF_NEXT(const rb_cref_t *cref)
205
- {
206
- return cref->next;
207
- }
208
-
209
- static inline const rb_scope_visibility_t *
210
- CREF_SCOPE_VISI(const rb_cref_t *cref)
211
- {
212
- return &cref->scope_visi;
213
- }
214
-
215
- static inline VALUE
216
- CREF_REFINEMENTS(const rb_cref_t *cref)
217
- {
218
- return cref->refinements;
219
- }
220
-
221
- static inline void
222
- CREF_REFINEMENTS_SET(rb_cref_t *cref, VALUE refs)
223
- {
224
- RB_OBJ_WRITE(cref, &cref->refinements, refs);
225
- }
226
-
227
- static inline int
228
- CREF_PUSHED_BY_EVAL(const rb_cref_t *cref)
229
- {
230
- return cref->flags & CREF_FL_PUSHED_BY_EVAL;
231
- }
232
-
233
- static inline void
234
- CREF_PUSHED_BY_EVAL_SET(rb_cref_t *cref)
235
- {
236
- cref->flags |= CREF_FL_PUSHED_BY_EVAL;
237
- }
238
-
239
- static inline int
240
- CREF_OMOD_SHARED(const rb_cref_t *cref)
241
- {
242
- return cref->flags & CREF_FL_OMOD_SHARED;
243
- }
244
-
245
- static inline void
246
- CREF_OMOD_SHARED_SET(rb_cref_t *cref)
247
- {
248
- cref->flags |= CREF_FL_OMOD_SHARED;
249
- }
250
-
251
- static inline void
252
- CREF_OMOD_SHARED_UNSET(rb_cref_t *cref)
253
- {
254
- cref->flags &= ~CREF_FL_OMOD_SHARED;
255
- }
181
+ enum ruby_tag_type {
182
+ RUBY_TAG_RETURN = 0x1,
183
+ RUBY_TAG_BREAK = 0x2,
184
+ RUBY_TAG_NEXT = 0x3,
185
+ RUBY_TAG_RETRY = 0x4,
186
+ RUBY_TAG_REDO = 0x5,
187
+ RUBY_TAG_RAISE = 0x6,
188
+ RUBY_TAG_THROW = 0x7,
189
+ RUBY_TAG_FATAL = 0x8,
190
+ RUBY_TAG_MASK = 0xf
191
+ };
192
+ #define TAG_RETURN RUBY_TAG_RETURN
193
+ #define TAG_BREAK RUBY_TAG_BREAK
194
+ #define TAG_NEXT RUBY_TAG_NEXT
195
+ #define TAG_RETRY RUBY_TAG_RETRY
196
+ #define TAG_REDO RUBY_TAG_REDO
197
+ #define TAG_RAISE RUBY_TAG_RAISE
198
+ #define TAG_THROW RUBY_TAG_THROW
199
+ #define TAG_FATAL RUBY_TAG_FATAL
200
+ #define TAG_MASK RUBY_TAG_MASK
201
+
202
+ #define NEW_THROW_OBJECT(val, pt, st) \
203
+ ((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st)))
204
+ #define SET_THROWOBJ_CATCH_POINT(obj, val) \
205
+ (RNODE((obj))->u2.value = (val))
206
+ #define SET_THROWOBJ_STATE(obj, val) \
207
+ (RNODE((obj))->u3.value = (val))
208
+
209
+ #define GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value)
210
+ #define GET_THROWOBJ_CATCH_POINT(obj) ((rb_control_frame_t*)RNODE((obj))->u2.value)
211
+ #define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value)
212
+
213
+ #define SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f))
214
+ #define SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f))
215
+ #define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
256
216
 
257
217
  void rb_thread_cleanup(void);
258
218
  void rb_thread_wait_other_threads(void);
@@ -276,20 +236,20 @@ NORETURN(void rb_method_name_error(VALUE, VALUE));
276
236
 
277
237
  NORETURN(void rb_fiber_start(void));
278
238
 
279
- NORETURN(void rb_print_undef(VALUE, ID, rb_method_visibility_t));
239
+ NORETURN(void rb_print_undef(VALUE, ID, int));
280
240
  NORETURN(void rb_print_undef_str(VALUE, VALUE));
281
- NORETURN(void rb_print_inaccessible(VALUE, ID, rb_method_visibility_t));
241
+ NORETURN(void rb_print_inaccessible(VALUE, ID, int));
282
242
  NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
283
243
  NORETURN(void rb_vm_jump_tag_but_local_jump(int));
284
244
  NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv,
285
245
  VALUE obj, int call_status));
286
246
 
287
247
  VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
288
- rb_cref_t *rb_vm_cref(void);
289
- rb_cref_t *rb_vm_cref_replace_with_duplicated_cref(void);
290
- VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, VALUE block_handler, VALUE filename);
248
+ NODE *rb_vm_cref(void);
249
+ VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
291
250
  void rb_vm_set_progname(VALUE filename);
292
251
  void rb_thread_terminate_all(void);
252
+ VALUE rb_vm_top_self();
293
253
  VALUE rb_vm_cbase(void);
294
254
 
295
255
  #ifndef CharNext /* defined as CharNext[AW] on Windows. */