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
@@ -1 +0,0 @@
1
- #define RUBY_REVISION 55466
@@ -1 +0,0 @@
1
- #define RUBY_REVISION 56129
@@ -1,54 +0,0 @@
1
- #ifndef RUBY_ASSERT_H
2
- #define RUBY_ASSERT_H
3
-
4
- #include "ruby/ruby.h"
5
-
6
- #if defined(__cplusplus)
7
- extern "C" {
8
- #if 0
9
- } /* satisfy cc-mode */
10
- #endif
11
- #endif
12
-
13
- NORETURN(void rb_assert_failure(const char *, int, const char *, const char *));
14
- #ifdef RUBY_FUNCTION_NAME_STRING
15
- # define RUBY_ASSERT_FAIL(expr) \
16
- rb_assert_failure(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, expr)
17
- #else
18
- # define RUBY_ASSERT_FAIL(expr) \
19
- rb_assert_failure(__FILE__, __LINE__, NULL, expr)
20
- #endif
21
- #define RUBY_ASSERT_MESG(expr, mesg) \
22
- ((expr) ? (void)0 : RUBY_ASSERT_FAIL(mesg))
23
- #ifdef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
24
- # define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
25
- __builtin_choose_expr( \
26
- __builtin_constant_p(cond), \
27
- __builtin_choose_expr(cond, RUBY_ASSERT_MESG(expr, mesg), (void)0), \
28
- RUBY_ASSERT_MESG(!(cond) || (expr), mesg))
29
- #else
30
- # define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
31
- RUBY_ASSERT_MESG(!(cond) || (expr), mesg)
32
- #endif
33
- #define RUBY_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(!RUBY_NDEBUG+0, expr, #expr)
34
- #define RUBY_ASSERT_WHEN(cond, expr) RUBY_ASSERT_MESG_WHEN(cond, expr, #expr)
35
-
36
- #undef assert
37
- #define assert RUBY_ASSERT
38
-
39
- #ifndef RUBY_NDEBUG
40
- # ifdef NDEBUG
41
- # define RUBY_NDEBUG 1
42
- # else
43
- # define RUBY_NDEBUG 0
44
- # endif
45
- #endif
46
-
47
- #if defined(__cplusplus)
48
- #if 0
49
- { /* satisfy cc-mode */
50
- #endif
51
- } /* extern "C" { */
52
- #endif
53
-
54
- #endif
@@ -1,67 +0,0 @@
1
- /**********************************************************************
2
-
3
- encindex.h -
4
-
5
- $Author$
6
- created at: Tue Sep 15 13:21:14 JST 2015
7
-
8
- Copyright (C) 2015 Yukihiro Matsumoto
9
-
10
- **********************************************************************/
11
-
12
- #ifndef RUBY_ENCINDEX_H
13
- #define RUBY_ENCINDEX_H 1
14
- #if defined(__cplusplus)
15
- extern "C" {
16
- #if 0
17
- } /* satisfy cc-mode */
18
- #endif
19
- #endif
20
-
21
- enum ruby_preserved_encindex {
22
- RUBY_ENCINDEX_ASCII,
23
- RUBY_ENCINDEX_UTF_8,
24
- RUBY_ENCINDEX_US_ASCII,
25
-
26
- /* preserved indexes */
27
- RUBY_ENCINDEX_UTF_16BE,
28
- RUBY_ENCINDEX_UTF_16LE,
29
- RUBY_ENCINDEX_UTF_32BE,
30
- RUBY_ENCINDEX_UTF_32LE,
31
- RUBY_ENCINDEX_UTF_16,
32
- RUBY_ENCINDEX_UTF_32,
33
- RUBY_ENCINDEX_UTF8_MAC,
34
-
35
- /* for old options of regexp */
36
- RUBY_ENCINDEX_EUC_JP,
37
- RUBY_ENCINDEX_Windows_31J,
38
-
39
- RUBY_ENCINDEX_BUILTIN_MAX
40
- };
41
-
42
- #define ENCINDEX_ASCII RUBY_ENCINDEX_ASCII
43
- #define ENCINDEX_UTF_8 RUBY_ENCINDEX_UTF_8
44
- #define ENCINDEX_US_ASCII RUBY_ENCINDEX_US_ASCII
45
- #define ENCINDEX_UTF_16BE RUBY_ENCINDEX_UTF_16BE
46
- #define ENCINDEX_UTF_16LE RUBY_ENCINDEX_UTF_16LE
47
- #define ENCINDEX_UTF_32BE RUBY_ENCINDEX_UTF_32BE
48
- #define ENCINDEX_UTF_32LE RUBY_ENCINDEX_UTF_32LE
49
- #define ENCINDEX_UTF_16 RUBY_ENCINDEX_UTF_16
50
- #define ENCINDEX_UTF_32 RUBY_ENCINDEX_UTF_32
51
- #define ENCINDEX_UTF8_MAC RUBY_ENCINDEX_UTF8_MAC
52
- #define ENCINDEX_EUC_JP RUBY_ENCINDEX_EUC_JP
53
- #define ENCINDEX_Windows_31J RUBY_ENCINDEX_Windows_31J
54
- #define ENCINDEX_BUILTIN_MAX RUBY_ENCINDEX_BUILTIN_MAX
55
-
56
- #define rb_ascii8bit_encindex() RUBY_ENCINDEX_ASCII
57
- #define rb_utf8_encindex() RUBY_ENCINDEX_UTF_8
58
- #define rb_usascii_encindex() RUBY_ENCINDEX_US_ASCII
59
-
60
- #if defined(__cplusplus)
61
- #if 0
62
- { /* satisfy cc-mode */
63
- #endif
64
- } /* extern "C" { */
65
- #endif
66
-
67
- #endif /* RUBY_ENCINDEX_H */
@@ -1,31 +0,0 @@
1
- #ifndef RUBY_ID_TABLE_H
2
- #define RUBY_ID_TABLE_H 1
3
- #include "ruby/ruby.h"
4
-
5
- struct rb_id_table;
6
-
7
- /* compatible with ST_* */
8
- enum rb_id_table_iterator_result {
9
- ID_TABLE_CONTINUE = ST_CONTINUE,
10
- ID_TABLE_STOP = ST_STOP,
11
- ID_TABLE_DELETE = ST_DELETE,
12
- ID_TABLE_ITERATOR_RESULT_END
13
- };
14
-
15
- struct rb_id_table *rb_id_table_create(size_t size);
16
- void rb_id_table_free(struct rb_id_table *tbl);
17
- void rb_id_table_clear(struct rb_id_table *tbl);
18
-
19
- size_t rb_id_table_size(const struct rb_id_table *tbl);
20
- size_t rb_id_table_memsize(const struct rb_id_table *tbl);
21
-
22
- int rb_id_table_insert(struct rb_id_table *tbl, ID id, VALUE val);
23
- int rb_id_table_lookup(struct rb_id_table *tbl, ID id, VALUE *valp);
24
- int rb_id_table_delete(struct rb_id_table *tbl, ID id);
25
-
26
- typedef enum rb_id_table_iterator_result rb_id_table_foreach_func_t(ID id, VALUE val, void *data);
27
- typedef enum rb_id_table_iterator_result rb_id_table_foreach_values_func_t(VALUE val, void *data);
28
- void rb_id_table_foreach(struct rb_id_table *tbl, rb_id_table_foreach_func_t *func, void *data);
29
- void rb_id_table_foreach_values(struct rb_id_table *tbl, rb_id_table_foreach_values_func_t *func, void *data);
30
-
31
- #endif /* RUBY_ID_TABLE_H */
@@ -1,112 +0,0 @@
1
- /** -*-c-*-
2
- This file contains YARV instructions list.
3
-
4
- ----
5
- This file is auto generated by insns2vm.rb
6
- DO NOT TOUCH!
7
-
8
- If you want to fix something, you must edit 'template/insns.inc.tmpl'
9
- or tool/insns2vm.rb
10
- */
11
-
12
-
13
- /* BIN : Basic Instruction Name */
14
- #define BIN(n) YARVINSN_##n
15
-
16
- enum ruby_vminsn_type {
17
- BIN(nop) = 0,
18
- BIN(getlocal) = 1,
19
- BIN(setlocal) = 2,
20
- BIN(getspecial) = 3,
21
- BIN(setspecial) = 4,
22
- BIN(getinstancevariable) = 5,
23
- BIN(setinstancevariable) = 6,
24
- BIN(getclassvariable) = 7,
25
- BIN(setclassvariable) = 8,
26
- BIN(getconstant) = 9,
27
- BIN(setconstant) = 10,
28
- BIN(getglobal) = 11,
29
- BIN(setglobal) = 12,
30
- BIN(putnil) = 13,
31
- BIN(putself) = 14,
32
- BIN(putobject) = 15,
33
- BIN(putspecialobject) = 16,
34
- BIN(putiseq) = 17,
35
- BIN(putstring) = 18,
36
- BIN(concatstrings) = 19,
37
- BIN(tostring) = 20,
38
- BIN(freezestring) = 21,
39
- BIN(toregexp) = 22,
40
- BIN(newarray) = 23,
41
- BIN(duparray) = 24,
42
- BIN(expandarray) = 25,
43
- BIN(concatarray) = 26,
44
- BIN(splatarray) = 27,
45
- BIN(newhash) = 28,
46
- BIN(newrange) = 29,
47
- BIN(pop) = 30,
48
- BIN(dup) = 31,
49
- BIN(dupn) = 32,
50
- BIN(swap) = 33,
51
- BIN(reverse) = 34,
52
- BIN(reput) = 35,
53
- BIN(topn) = 36,
54
- BIN(setn) = 37,
55
- BIN(adjuststack) = 38,
56
- BIN(defined) = 39,
57
- BIN(checkmatch) = 40,
58
- BIN(checkkeyword) = 41,
59
- BIN(trace) = 42,
60
- BIN(defineclass) = 43,
61
- BIN(send) = 44,
62
- BIN(opt_str_freeze) = 45,
63
- BIN(opt_newarray_max) = 46,
64
- BIN(opt_newarray_min) = 47,
65
- BIN(opt_send_without_block) = 48,
66
- BIN(invokesuper) = 49,
67
- BIN(invokeblock) = 50,
68
- BIN(leave) = 51,
69
- BIN(throw) = 52,
70
- BIN(jump) = 53,
71
- BIN(branchif) = 54,
72
- BIN(branchunless) = 55,
73
- BIN(branchnil) = 56,
74
- BIN(getinlinecache) = 57,
75
- BIN(setinlinecache) = 58,
76
- BIN(once) = 59,
77
- BIN(opt_case_dispatch) = 60,
78
- BIN(opt_plus) = 61,
79
- BIN(opt_minus) = 62,
80
- BIN(opt_mult) = 63,
81
- BIN(opt_div) = 64,
82
- BIN(opt_mod) = 65,
83
- BIN(opt_eq) = 66,
84
- BIN(opt_neq) = 67,
85
- BIN(opt_lt) = 68,
86
- BIN(opt_le) = 69,
87
- BIN(opt_gt) = 70,
88
- BIN(opt_ge) = 71,
89
- BIN(opt_ltlt) = 72,
90
- BIN(opt_aref) = 73,
91
- BIN(opt_aset) = 74,
92
- BIN(opt_aset_with) = 75,
93
- BIN(opt_aref_with) = 76,
94
- BIN(opt_length) = 77,
95
- BIN(opt_size) = 78,
96
- BIN(opt_empty_p) = 79,
97
- BIN(opt_succ) = 80,
98
- BIN(opt_not) = 81,
99
- BIN(opt_regexpmatch1) = 82,
100
- BIN(opt_regexpmatch2) = 83,
101
- BIN(opt_call_c_function) = 84,
102
- BIN(bitblt) = 85,
103
- BIN(answer) = 86,
104
- BIN(getlocal_OP__WC__0) = 87,
105
- BIN(getlocal_OP__WC__1) = 88,
106
- BIN(setlocal_OP__WC__0) = 89,
107
- BIN(setlocal_OP__WC__1) = 90,
108
- BIN(putobject_OP_INT2FIX_O_0_C_) = 91,
109
- BIN(putobject_OP_INT2FIX_O_1_C_) = 92,
110
- VM_INSTRUCTION_SIZE = 93
111
- };
112
-
@@ -1,252 +0,0 @@
1
- /**********************************************************************
2
-
3
- iseq.h -
4
-
5
- $Author: naruse $
6
- created at: 04/01/01 23:36:57 JST
7
-
8
- Copyright (C) 2004-2008 Koichi Sasada
9
-
10
- **********************************************************************/
11
-
12
- #ifndef RUBY_ISEQ_H
13
- #define RUBY_ISEQ_H 1
14
-
15
- #define ISEQ_MAJOR_VERSION 2
16
- #define ISEQ_MINOR_VERSION 3
17
-
18
- #ifndef rb_iseq_t
19
- typedef struct rb_iseq_struct rb_iseq_t;
20
- #define rb_iseq_t rb_iseq_t
21
- #endif
22
-
23
- static inline size_t
24
- rb_call_info_kw_arg_bytes(int keyword_len)
25
- {
26
- return sizeof(struct rb_call_info_kw_arg) + sizeof(VALUE) * (keyword_len - 1);
27
- }
28
-
29
- enum iseq_mark_ary_index {
30
- ISEQ_MARK_ARY_COVERAGE,
31
- ISEQ_MARK_ARY_FLIP_CNT,
32
- ISEQ_MARK_ARY_ORIGINAL_ISEQ,
33
- ISEQ_MARK_ARY_INITIAL_SIZE
34
- };
35
-
36
- static inline VALUE
37
- iseq_mark_ary_create(int flip_cnt)
38
- {
39
- VALUE ary = rb_ary_tmp_new(ISEQ_MARK_ARY_INITIAL_SIZE);
40
- rb_ary_push(ary, Qnil); /* ISEQ_MARK_ARY_COVERAGE */
41
- rb_ary_push(ary, INT2FIX(flip_cnt)); /* ISEQ_MARK_ARY_FLIP_CNT */
42
- rb_ary_push(ary, Qnil); /* ISEQ_MARK_ARY_ORIGINAL_ISEQ */
43
- return ary;
44
- }
45
-
46
- #define ISEQ_MARK_ARY(iseq) (iseq)->body->mark_ary
47
-
48
- #define ISEQ_COVERAGE(iseq) RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE)
49
- #define ISEQ_COVERAGE_SET(iseq, cov) RARRAY_ASET(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE, cov)
50
-
51
- #define ISEQ_FLIP_CNT(iseq) FIX2INT(RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_FLIP_CNT))
52
-
53
- static inline int
54
- ISEQ_FLIP_CNT_INCREMENT(const rb_iseq_t *iseq)
55
- {
56
- int cnt = ISEQ_FLIP_CNT(iseq);
57
- RARRAY_ASET(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_FLIP_CNT, INT2FIX(cnt+1));
58
- return cnt;
59
- }
60
-
61
- static inline VALUE *
62
- ISEQ_ORIGINAL_ISEQ(const rb_iseq_t *iseq)
63
- {
64
- VALUE str = RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_ORIGINAL_ISEQ);
65
- if (RTEST(str)) return (VALUE *)RSTRING_PTR(str);
66
- return NULL;
67
- }
68
-
69
- static inline VALUE *
70
- ISEQ_ORIGINAL_ISEQ_ALLOC(const rb_iseq_t *iseq, long size)
71
- {
72
- VALUE str = rb_str_tmp_new(size * sizeof(VALUE));
73
- RARRAY_ASET(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_ORIGINAL_ISEQ, str);
74
- return (VALUE *)RSTRING_PTR(str);
75
- }
76
-
77
- #define ISEQ_COMPILE_DATA(iseq) (iseq)->aux.compile_data
78
-
79
- static inline rb_iseq_t *
80
- iseq_imemo_alloc(void)
81
- {
82
- return (rb_iseq_t *)rb_imemo_new(imemo_iseq, 0, 0, 0, 0);
83
- }
84
-
85
- #define ISEQ_NOT_LOADED_YET IMEMO_FL_USER1
86
-
87
- VALUE iseq_ibf_dump(const rb_iseq_t *iseq, VALUE opt);
88
- void ibf_load_iseq_complete(rb_iseq_t *iseq);
89
- const rb_iseq_t *iseq_ibf_load(VALUE str);
90
- VALUE iseq_ibf_load_extra_data(VALUE str);
91
-
92
- RUBY_SYMBOL_EXPORT_BEGIN
93
-
94
- /* compile.c */
95
- VALUE rb_iseq_compile_node(rb_iseq_t *iseq, NODE *node);
96
- int rb_iseq_translate_threaded_code(rb_iseq_t *iseq);
97
- VALUE *rb_iseq_original_iseq(const rb_iseq_t *iseq);
98
- void rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE misc,
99
- VALUE locals, VALUE args,
100
- VALUE exception, VALUE body);
101
-
102
- /* iseq.c */
103
- void rb_iseq_add_mark_object(const rb_iseq_t *iseq, VALUE obj);
104
- VALUE rb_iseq_load(VALUE data, VALUE parent, VALUE opt);
105
- VALUE rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc);
106
- struct st_table *ruby_insn_make_insn_table(void);
107
- unsigned int rb_iseq_line_no(const rb_iseq_t *iseq, size_t pos);
108
-
109
- int rb_iseqw_line_trace_each(VALUE iseqval, int (*func)(int line, rb_event_flag_t *events_ptr, void *d), void *data);
110
- VALUE rb_iseqw_line_trace_all(VALUE iseqval);
111
- VALUE rb_iseqw_line_trace_specify(VALUE iseqval, VALUE pos, VALUE set);
112
- VALUE rb_iseqw_new(const rb_iseq_t *iseq);
113
- const rb_iseq_t *rb_iseqw_to_iseq(VALUE iseqw);
114
-
115
- VALUE rb_iseq_path(const rb_iseq_t *iseq);
116
- VALUE rb_iseq_absolute_path(const rb_iseq_t *iseq);
117
- VALUE rb_iseq_label(const rb_iseq_t *iseq);
118
- VALUE rb_iseq_base_label(const rb_iseq_t *iseq);
119
- VALUE rb_iseq_first_lineno(const rb_iseq_t *iseq);
120
- VALUE rb_iseq_method_name(const rb_iseq_t *iseq);
121
-
122
- /* proc.c */
123
- const rb_iseq_t *rb_method_iseq(VALUE body);
124
- const rb_iseq_t *rb_proc_get_iseq(VALUE proc, int *is_proc);
125
-
126
- struct rb_compile_option_struct {
127
- unsigned int inline_const_cache: 1;
128
- unsigned int peephole_optimization: 1;
129
- unsigned int tailcall_optimization: 1;
130
- unsigned int specialized_instruction: 1;
131
- unsigned int operands_unification: 1;
132
- unsigned int instructions_unification: 1;
133
- unsigned int stack_caching: 1;
134
- unsigned int trace_instruction: 1;
135
- unsigned int frozen_string_literal: 1;
136
- unsigned int debug_frozen_string_literal: 1;
137
- unsigned int coverage_enabled: 1;
138
- int debug_level;
139
- };
140
-
141
- struct iseq_line_info_entry {
142
- unsigned int position;
143
- unsigned int line_no;
144
- };
145
-
146
- struct iseq_catch_table_entry {
147
- enum catch_type {
148
- CATCH_TYPE_RESCUE = INT2FIX(1),
149
- CATCH_TYPE_ENSURE = INT2FIX(2),
150
- CATCH_TYPE_RETRY = INT2FIX(3),
151
- CATCH_TYPE_BREAK = INT2FIX(4),
152
- CATCH_TYPE_REDO = INT2FIX(5),
153
- CATCH_TYPE_NEXT = INT2FIX(6)
154
- } type;
155
- const rb_iseq_t *iseq;
156
- unsigned int start;
157
- unsigned int end;
158
- unsigned int cont;
159
- unsigned int sp;
160
- };
161
-
162
- PACKED_STRUCT_UNALIGNED(struct iseq_catch_table {
163
- unsigned int size;
164
- struct iseq_catch_table_entry entries[1]; /* flexible array */
165
- });
166
-
167
- static inline int
168
- iseq_catch_table_bytes(int n)
169
- {
170
- enum {
171
- catch_table_entries_max = (INT_MAX - sizeof(struct iseq_catch_table)) / sizeof(struct iseq_catch_table_entry)
172
- };
173
- if (n > catch_table_entries_max) rb_fatal("too large iseq_catch_table - %d", n);
174
- return (int)(sizeof(struct iseq_catch_table) +
175
- (n - 1) * sizeof(struct iseq_catch_table_entry));
176
- }
177
-
178
- #define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512)
179
-
180
- struct iseq_compile_data_storage {
181
- struct iseq_compile_data_storage *next;
182
- unsigned int pos;
183
- unsigned int size;
184
- char buff[1]; /* flexible array */
185
- };
186
-
187
- /* account for flexible array */
188
- #define SIZEOF_ISEQ_COMPILE_DATA_STORAGE \
189
- (sizeof(struct iseq_compile_data_storage) - 1)
190
-
191
- struct iseq_compile_data {
192
- /* GC is needed */
193
- const VALUE err_info;
194
- VALUE mark_ary;
195
- const VALUE catch_table_ary; /* Array */
196
-
197
- /* GC is not needed */
198
- struct iseq_label_data *start_label;
199
- struct iseq_label_data *end_label;
200
- struct iseq_label_data *redo_label;
201
- const rb_iseq_t *current_block;
202
- VALUE ensure_node;
203
- VALUE for_iseq;
204
- struct iseq_compile_data_ensure_node_stack *ensure_node_stack;
205
- int loopval_popped; /* used by NODE_BREAK */
206
- int cached_const;
207
- struct iseq_compile_data_storage *storage_head;
208
- struct iseq_compile_data_storage *storage_current;
209
- int last_line;
210
- int last_coverable_line;
211
- int label_no;
212
- int node_level;
213
- unsigned int ci_index;
214
- unsigned int ci_kw_index;
215
- const rb_compile_option_t *option;
216
- struct rb_id_table *ivar_cache_table;
217
- #if SUPPORT_JOKE
218
- st_table *labels_table;
219
- #endif
220
- };
221
-
222
- /* defined? */
223
-
224
- enum defined_type {
225
- DEFINED_NIL = 1,
226
- DEFINED_IVAR,
227
- DEFINED_LVAR,
228
- DEFINED_GVAR,
229
- DEFINED_CVAR,
230
- DEFINED_CONST,
231
- DEFINED_METHOD,
232
- DEFINED_YIELD,
233
- DEFINED_ZSUPER,
234
- DEFINED_SELF,
235
- DEFINED_TRUE,
236
- DEFINED_FALSE,
237
- DEFINED_ASGN,
238
- DEFINED_EXPR,
239
- DEFINED_IVAR2,
240
- DEFINED_REF,
241
- DEFINED_FUNC
242
- };
243
-
244
- VALUE rb_iseq_defined_string(enum defined_type type);
245
- void rb_iseq_make_compile_option(struct rb_compile_option_struct *option, VALUE opt);
246
-
247
- /* vm.c */
248
- VALUE rb_iseq_local_variables(const rb_iseq_t *iseq);
249
-
250
- RUBY_SYMBOL_EXPORT_END
251
-
252
- #endif /* RUBY_ISEQ_H */