debase-ruby_core_source 0.9.9 → 0.9.10

Sign up to get free protection for your applications and to get access to all the features.
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. */