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
@@ -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 */