debase-ruby_core_source 3.2.1 → 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/addr2line.h +3 -1
  4. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/darray.h +246 -0
  5. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/debug_counter.h +7 -10
  6. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/eval_intern.h +3 -1
  7. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/id.h +44 -0
  8. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/insns_info.inc +128 -154
  9. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/array.h +9 -20
  10. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/bits.h +568 -0
  11. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/class.h +11 -2
  12. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/cmdlineopt.h +5 -1
  13. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compile.h +0 -1
  14. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/error.h +24 -2
  15. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/gc.h +29 -0
  16. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/hash.h +19 -44
  17. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/imemo.h +0 -1
  18. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/io.h +137 -0
  19. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/parse.h +108 -0
  20. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/process.h +0 -14
  21. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/range.h +2 -2
  22. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/re.h +1 -1
  23. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/ruby_parser.h +69 -0
  24. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/signal.h +4 -0
  25. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/string.h +15 -0
  26. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/struct.h +9 -34
  27. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/thread.h +14 -0
  28. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/variable.h +17 -35
  29. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/vm.h +9 -2
  30. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/iseq.h +4 -4
  31. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/method.h +8 -7
  32. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/node.h +128 -0
  33. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/node_name.inc +4 -2
  34. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/parse.h +19 -6
  35. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1/internal/bits.h → ruby-3.3.0-preview3/parser_bits.h} +4 -4
  36. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h +32 -0
  37. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_st.h +162 -0
  38. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_value.h +106 -0
  39. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h +18 -0
  40. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ractor_core.h +10 -4
  41. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regint.h +8 -0
  42. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regparse.h +2 -1
  43. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +5 -0
  44. data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h +1403 -0
  45. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/shape.h +32 -22
  46. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/symbol.h +2 -3
  47. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_none.h +1 -0
  48. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_pthread.h +66 -28
  49. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_win32.h +1 -6
  50. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/variable.h +9 -2
  51. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/version.h +7 -3
  52. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm.inc +383 -497
  53. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_callinfo.h +54 -16
  54. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_core.h +92 -57
  55. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_exec.h +11 -10
  56. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_insnhelper.h +20 -23
  57. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_opts.h +0 -5
  58. data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/yjit.h +12 -12
  59. data/lib/debase/ruby_core_source/version.rb +1 -1
  60. metadata +120 -115
  61. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/darray.h +0 -179
  62. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/internal/io.h +0 -38
  63. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/internal/parse.h +0 -25
  64. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/node.h +0 -514
  65. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/opt_sc.inc +0 -109
  66. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/revision.h +0 -5
  67. data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/transient_heap.h +0 -65
  68. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/builtin.h +0 -0
  69. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/build_assert/build_assert.h +0 -0
  70. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/check_type/check_type.h +0 -0
  71. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/container_of/container_of.h +0 -0
  72. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/list/list.h +0 -0
  73. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/str/str.h +0 -0
  74. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/constant.h +0 -0
  75. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/dln.h +0 -0
  76. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/encindex.h +0 -0
  77. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/hrtime.h +0 -0
  78. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/id_table.h +0 -0
  79. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/insns.inc +0 -0
  80. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/basic_operators.h +0 -0
  81. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/bignum.h +0 -0
  82. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compar.h +0 -0
  83. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compilers.h +0 -0
  84. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/complex.h +0 -0
  85. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/cont.h +0 -0
  86. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/dir.h +0 -0
  87. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enc.h +0 -0
  88. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/encoding.h +0 -0
  89. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enum.h +0 -0
  90. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enumerator.h +0 -0
  91. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/eval.h +0 -0
  92. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/file.h +0 -0
  93. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/fixnum.h +0 -0
  94. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/inits.h +0 -0
  95. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/load.h +0 -0
  96. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/loadpath.h +0 -0
  97. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/math.h +0 -0
  98. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/missing.h +0 -0
  99. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/numeric.h +0 -0
  100. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/object.h +0 -0
  101. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/proc.h +0 -0
  102. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/ractor.h +0 -0
  103. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/random.h +0 -0
  104. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/rational.h +0 -0
  105. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/sanitizers.h +0 -0
  106. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/serial.h +0 -0
  107. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/static_assert.h +0 -0
  108. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/symbol.h +0 -0
  109. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/time.h +0 -0
  110. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/transcode.h +0 -0
  111. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/util.h +0 -0
  112. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/warnings.h +0 -0
  113. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal.h +0 -0
  114. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/known_errors.inc +0 -0
  115. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/optinsn.inc +0 -0
  116. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/optunifs.inc +0 -0
  117. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/probes_helper.h +0 -0
  118. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regenc.h +0 -0
  119. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/rjit.h +0 -0
  120. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/rjit_c.h +0 -0
  121. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ruby_assert.h +0 -0
  122. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ruby_atomic.h +0 -0
  123. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/siphash.h +0 -0
  124. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/timev.h +0 -0
  125. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/transcode_data.h +0 -0
  126. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_call_iseq_optimized.inc +0 -0
  127. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_debug.h +0 -0
  128. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_sync.h +0 -0
  129. /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vmtc.inc +0 -0
@@ -1,514 +0,0 @@
1
- #ifndef RUBY_NODE_H
2
- #define RUBY_NODE_H 1
3
- /**********************************************************************
4
-
5
- node.h -
6
-
7
- $Author$
8
- created at: Fri May 28 15:14:02 JST 1993
9
-
10
- Copyright (C) 1993-2007 Yukihiro Matsumoto
11
-
12
- **********************************************************************/
13
-
14
- #include "internal/compilers.h"
15
-
16
- #if defined(__cplusplus)
17
- extern "C" {
18
- #if 0
19
- } /* satisfy cc-mode */
20
- #endif
21
- #endif
22
-
23
- enum node_type {
24
- NODE_SCOPE,
25
- NODE_BLOCK,
26
- NODE_IF,
27
- NODE_UNLESS,
28
- NODE_CASE,
29
- NODE_CASE2,
30
- NODE_CASE3,
31
- NODE_WHEN,
32
- NODE_IN,
33
- NODE_WHILE,
34
- NODE_UNTIL,
35
- NODE_ITER,
36
- NODE_FOR,
37
- NODE_FOR_MASGN,
38
- NODE_BREAK,
39
- NODE_NEXT,
40
- NODE_REDO,
41
- NODE_RETRY,
42
- NODE_BEGIN,
43
- NODE_RESCUE,
44
- NODE_RESBODY,
45
- NODE_ENSURE,
46
- NODE_AND,
47
- NODE_OR,
48
- NODE_MASGN,
49
- NODE_LASGN,
50
- NODE_DASGN,
51
- NODE_GASGN,
52
- NODE_IASGN,
53
- NODE_CDECL,
54
- NODE_CVASGN,
55
- NODE_OP_ASGN1,
56
- NODE_OP_ASGN2,
57
- NODE_OP_ASGN_AND,
58
- NODE_OP_ASGN_OR,
59
- NODE_OP_CDECL,
60
- NODE_CALL,
61
- NODE_OPCALL,
62
- NODE_FCALL,
63
- NODE_VCALL,
64
- NODE_QCALL,
65
- NODE_SUPER,
66
- NODE_ZSUPER,
67
- NODE_LIST,
68
- NODE_ZLIST,
69
- NODE_VALUES,
70
- NODE_HASH,
71
- NODE_RETURN,
72
- NODE_YIELD,
73
- NODE_LVAR,
74
- NODE_DVAR,
75
- NODE_GVAR,
76
- NODE_IVAR,
77
- NODE_CONST,
78
- NODE_CVAR,
79
- NODE_NTH_REF,
80
- NODE_BACK_REF,
81
- NODE_MATCH,
82
- NODE_MATCH2,
83
- NODE_MATCH3,
84
- NODE_LIT,
85
- NODE_STR,
86
- NODE_DSTR,
87
- NODE_XSTR,
88
- NODE_DXSTR,
89
- NODE_EVSTR,
90
- NODE_DREGX,
91
- NODE_ONCE,
92
- NODE_ARGS,
93
- NODE_ARGS_AUX,
94
- NODE_OPT_ARG,
95
- NODE_KW_ARG,
96
- NODE_POSTARG,
97
- NODE_ARGSCAT,
98
- NODE_ARGSPUSH,
99
- NODE_SPLAT,
100
- NODE_BLOCK_PASS,
101
- NODE_DEFN,
102
- NODE_DEFS,
103
- NODE_ALIAS,
104
- NODE_VALIAS,
105
- NODE_UNDEF,
106
- NODE_CLASS,
107
- NODE_MODULE,
108
- NODE_SCLASS,
109
- NODE_COLON2,
110
- NODE_COLON3,
111
- NODE_DOT2,
112
- NODE_DOT3,
113
- NODE_FLIP2,
114
- NODE_FLIP3,
115
- NODE_SELF,
116
- NODE_NIL,
117
- NODE_TRUE,
118
- NODE_FALSE,
119
- NODE_ERRINFO,
120
- NODE_DEFINED,
121
- NODE_POSTEXE,
122
- NODE_DSYM,
123
- NODE_ATTRASGN,
124
- NODE_LAMBDA,
125
- NODE_ARYPTN,
126
- NODE_HSHPTN,
127
- NODE_FNDPTN,
128
- NODE_ERROR,
129
- NODE_LAST
130
- };
131
-
132
- typedef struct rb_code_position_struct {
133
- int lineno;
134
- int column;
135
- } rb_code_position_t;
136
-
137
- typedef struct rb_code_location_struct {
138
- rb_code_position_t beg_pos;
139
- rb_code_position_t end_pos;
140
- } rb_code_location_t;
141
-
142
- static inline rb_code_location_t
143
- code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
144
- {
145
- rb_code_location_t loc;
146
- loc.beg_pos = loc1->beg_pos;
147
- loc.end_pos = loc2->end_pos;
148
- return loc;
149
- }
150
-
151
- typedef struct rb_ast_id_table {
152
- int size;
153
- ID ids[FLEX_ARY_LEN];
154
- } rb_ast_id_table_t;
155
-
156
- typedef struct RNode {
157
- VALUE flags;
158
- union {
159
- struct RNode *node;
160
- ID id;
161
- VALUE value;
162
- rb_ast_id_table_t *tbl;
163
- } u1;
164
- union {
165
- struct RNode *node;
166
- ID id;
167
- long argc;
168
- VALUE value;
169
- } u2;
170
- union {
171
- struct RNode *node;
172
- ID id;
173
- long state;
174
- struct rb_args_info *args;
175
- struct rb_ary_pattern_info *apinfo;
176
- struct rb_fnd_pattern_info *fpinfo;
177
- VALUE value;
178
- } u3;
179
- rb_code_location_t nd_loc;
180
- int node_id;
181
- } NODE;
182
-
183
- #define RNODE(obj) ((struct RNode *)(obj))
184
-
185
- /* FL : 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: FINALIZE, 8: UNUSED, 9: UNUSED, 10: EXIVAR, 11: FREEZE */
186
- /* NODE_FL: 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: NODE_FL_NEWLINE,
187
- * 8..14: nd_type,
188
- * 15..: nd_line
189
- */
190
- #define NODE_FL_NEWLINE (((VALUE)1)<<7)
191
-
192
- #define NODE_TYPESHIFT 8
193
- #define NODE_TYPEMASK (((VALUE)0x7f)<<NODE_TYPESHIFT)
194
-
195
- #define nd_type(n) ((int) (((n)->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
196
- #define nd_set_type(n,t) \
197
- rb_node_set_type(n, t)
198
- #define nd_init_type(n,t) \
199
- (n)->flags=(((n)->flags&~NODE_TYPEMASK)|((((unsigned long)(t))<<NODE_TYPESHIFT)&NODE_TYPEMASK))
200
-
201
- #define NODE_LSHIFT (NODE_TYPESHIFT+7)
202
- #define NODE_LMASK (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1)
203
- #define nd_line(n) (int)(((SIGNED_VALUE)(n)->flags)>>NODE_LSHIFT)
204
- #define nd_set_line(n,l) \
205
- (n)->flags=(((n)->flags&~((VALUE)(-1)<<NODE_LSHIFT))|((VALUE)((l)&NODE_LMASK)<<NODE_LSHIFT))
206
-
207
- #define nd_first_column(n) ((int)((n)->nd_loc.beg_pos.column))
208
- #define nd_set_first_column(n, v) ((n)->nd_loc.beg_pos.column = (v))
209
- #define nd_first_lineno(n) ((int)((n)->nd_loc.beg_pos.lineno))
210
- #define nd_set_first_lineno(n, v) ((n)->nd_loc.beg_pos.lineno = (v))
211
- #define nd_first_loc(n) ((n)->nd_loc.beg_pos)
212
- #define nd_set_first_loc(n, v) (nd_first_loc(n) = (v))
213
-
214
- #define nd_last_column(n) ((int)((n)->nd_loc.end_pos.column))
215
- #define nd_set_last_column(n, v) ((n)->nd_loc.end_pos.column = (v))
216
- #define nd_last_lineno(n) ((int)((n)->nd_loc.end_pos.lineno))
217
- #define nd_set_last_lineno(n, v) ((n)->nd_loc.end_pos.lineno = (v))
218
- #define nd_last_loc(n) ((n)->nd_loc.end_pos)
219
- #define nd_set_last_loc(n, v) (nd_last_loc(n) = (v))
220
- #define nd_node_id(n) ((n)->node_id)
221
- #define nd_set_node_id(n,id) ((n)->node_id = (id))
222
-
223
- #define nd_head u1.node
224
- #define nd_alen u2.argc
225
- #define nd_next u3.node
226
-
227
- #define nd_cond u1.node
228
- #define nd_body u2.node
229
- #define nd_else u3.node
230
-
231
- #define nd_resq u2.node
232
- #define nd_ensr u3.node
233
-
234
- #define nd_1st u1.node
235
- #define nd_2nd u2.node
236
-
237
- #define nd_stts u1.node
238
-
239
- #define nd_entry u3.id
240
- #define nd_vid u1.id
241
-
242
- #define nd_var u1.node
243
- #define nd_iter u3.node
244
-
245
- #define nd_value u2.node
246
- #define nd_aid u3.id
247
-
248
- #define nd_lit u1.value
249
-
250
- #define nd_recv u1.node
251
- #define nd_mid u2.id
252
- #define nd_args u3.node
253
- #define nd_ainfo u3.args
254
-
255
- #define nd_defn u3.node
256
-
257
- #define nd_cpath u1.node
258
- #define nd_super u3.node
259
-
260
- #define nd_beg u1.node
261
- #define nd_end u2.node
262
- #define nd_state u3.state
263
-
264
- #define nd_nth u2.argc
265
-
266
- #define nd_alias u1.id
267
- #define nd_orig u2.id
268
- #define nd_undef u2.node
269
-
270
- #define nd_brace u2.argc
271
-
272
- #define nd_pconst u1.node
273
- #define nd_pkwargs u2.node
274
- #define nd_pkwrestarg u3.node
275
-
276
- #define nd_apinfo u3.apinfo
277
-
278
- #define nd_fpinfo u3.fpinfo
279
-
280
- // for NODE_SCOPE
281
- #define nd_tbl u1.tbl
282
-
283
- // for NODE_ARGS_AUX
284
- #define nd_pid u1.id
285
- #define nd_plen u2.argc
286
- #define nd_cflag u2.id
287
-
288
- // for ripper
289
- #define nd_cval u3.value
290
- #define nd_rval u2.value
291
- #define nd_tag u1.id
292
-
293
- #define NEW_NODE(t,a0,a1,a2,loc) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2),loc)
294
- #define NEW_NODE_WITH_LOCALS(t,a1,a2,loc) node_newnode_with_locals(p, (t),(VALUE)(a1),(VALUE)(a2),loc)
295
-
296
- #define NEW_DEFN(i,a,d,loc) NEW_NODE(NODE_DEFN,0,i,NEW_SCOPE(a,d,loc),loc)
297
- #define NEW_DEFS(r,i,a,d,loc) NEW_NODE(NODE_DEFS,r,i,NEW_SCOPE(a,d,loc),loc)
298
- #define NEW_SCOPE(a,b,loc) NEW_NODE_WITH_LOCALS(NODE_SCOPE,b,a,loc)
299
- #define NEW_BLOCK(a,loc) NEW_NODE(NODE_BLOCK,a,0,0,loc)
300
- #define NEW_IF(c,t,e,loc) NEW_NODE(NODE_IF,c,t,e,loc)
301
- #define NEW_UNLESS(c,t,e,loc) NEW_NODE(NODE_UNLESS,c,t,e,loc)
302
- #define NEW_CASE(h,b,loc) NEW_NODE(NODE_CASE,h,b,0,loc)
303
- #define NEW_CASE2(b,loc) NEW_NODE(NODE_CASE2,0,b,0,loc)
304
- #define NEW_CASE3(h,b,loc) NEW_NODE(NODE_CASE3,h,b,0,loc)
305
- #define NEW_WHEN(c,t,e,loc) NEW_NODE(NODE_WHEN,c,t,e,loc)
306
- #define NEW_IN(c,t,e,loc) NEW_NODE(NODE_IN,c,t,e,loc)
307
- #define NEW_WHILE(c,b,n,loc) NEW_NODE(NODE_WHILE,c,b,n,loc)
308
- #define NEW_UNTIL(c,b,n,loc) NEW_NODE(NODE_UNTIL,c,b,n,loc)
309
- #define NEW_FOR(i,b,loc) NEW_NODE(NODE_FOR,0,b,i,loc)
310
- #define NEW_FOR_MASGN(v,loc) NEW_NODE(NODE_FOR_MASGN,v,0,0,loc)
311
- #define NEW_ITER(a,b,loc) NEW_NODE(NODE_ITER,0,NEW_SCOPE(a,b,loc),0,loc)
312
- #define NEW_LAMBDA(a,b,loc) NEW_NODE(NODE_LAMBDA,0,NEW_SCOPE(a,b,loc),0,loc)
313
- #define NEW_BREAK(s,loc) NEW_NODE(NODE_BREAK,s,0,0,loc)
314
- #define NEW_NEXT(s,loc) NEW_NODE(NODE_NEXT,s,0,0,loc)
315
- #define NEW_REDO(loc) NEW_NODE(NODE_REDO,0,0,0,loc)
316
- #define NEW_RETRY(loc) NEW_NODE(NODE_RETRY,0,0,0,loc)
317
- #define NEW_BEGIN(b,loc) NEW_NODE(NODE_BEGIN,0,b,0,loc)
318
- #define NEW_RESCUE(b,res,e,loc) NEW_NODE(NODE_RESCUE,b,res,e,loc)
319
- #define NEW_RESBODY(a,ex,n,loc) NEW_NODE(NODE_RESBODY,n,ex,a,loc)
320
- #define NEW_ENSURE(b,en,loc) NEW_NODE(NODE_ENSURE,b,0,en,loc)
321
- #define NEW_RETURN(s,loc) NEW_NODE(NODE_RETURN,s,0,0,loc)
322
- #define NEW_YIELD(a,loc) NEW_NODE(NODE_YIELD,a,0,0,loc)
323
- #define NEW_LIST(a,loc) NEW_NODE(NODE_LIST,a,1,0,loc)
324
- #define NEW_ZLIST(loc) NEW_NODE(NODE_ZLIST,0,0,0,loc)
325
- #define NEW_HASH(a,loc) NEW_NODE(NODE_HASH,a,0,0,loc)
326
- #define NEW_MASGN(l,r,loc) NEW_NODE(NODE_MASGN,l,0,r,loc)
327
- #define NEW_GASGN(v,val,loc) NEW_NODE(NODE_GASGN,v,val,v,loc)
328
- #define NEW_LASGN(v,val,loc) NEW_NODE(NODE_LASGN,v,val,0,loc)
329
- #define NEW_DASGN(v,val,loc) NEW_NODE(NODE_DASGN,v,val,0,loc)
330
- #define NEW_IASGN(v,val,loc) NEW_NODE(NODE_IASGN,v,val,0,loc)
331
- #define NEW_CDECL(v,val,path,loc) NEW_NODE(NODE_CDECL,v,val,path,loc)
332
- #define NEW_CVASGN(v,val,loc) NEW_NODE(NODE_CVASGN,v,val,0,loc)
333
- #define NEW_OP_ASGN1(p,id,a,loc) NEW_NODE(NODE_OP_ASGN1,p,id,a,loc)
334
- #define NEW_OP_ASGN2(r,t,i,o,val,loc) NEW_NODE(NODE_OP_ASGN2,r,val,NEW_OP_ASGN22(i,o,t,loc),loc)
335
- #define NEW_OP_ASGN22(i,o,t,loc) NEW_NODE(NODE_OP_ASGN2,i,o,t,loc)
336
- #define NEW_OP_ASGN_OR(i,val,loc) NEW_NODE(NODE_OP_ASGN_OR,i,val,0,loc)
337
- #define NEW_OP_ASGN_AND(i,val,loc) NEW_NODE(NODE_OP_ASGN_AND,i,val,0,loc)
338
- #define NEW_OP_CDECL(v,op,val,loc) NEW_NODE(NODE_OP_CDECL,v,val,op,loc)
339
- #define NEW_GVAR(v,loc) NEW_NODE(NODE_GVAR,v,0,v,loc)
340
- #define NEW_LVAR(v,loc) NEW_NODE(NODE_LVAR,v,0,0,loc)
341
- #define NEW_DVAR(v,loc) NEW_NODE(NODE_DVAR,v,0,0,loc)
342
- #define NEW_IVAR(v,loc) NEW_NODE(NODE_IVAR,v,0,0,loc)
343
- #define NEW_CONST(v,loc) NEW_NODE(NODE_CONST,v,0,0,loc)
344
- #define NEW_CVAR(v,loc) NEW_NODE(NODE_CVAR,v,0,0,loc)
345
- #define NEW_NTH_REF(n,loc) NEW_NODE(NODE_NTH_REF,0,n,0,loc)
346
- #define NEW_BACK_REF(n,loc) NEW_NODE(NODE_BACK_REF,0,n,0,loc)
347
- #define NEW_MATCH(c,loc) NEW_NODE(NODE_MATCH,c,0,0,loc)
348
- #define NEW_MATCH2(n1,n2,loc) NEW_NODE(NODE_MATCH2,n1,n2,0,loc)
349
- #define NEW_MATCH3(r,n2,loc) NEW_NODE(NODE_MATCH3,r,n2,0,loc)
350
- #define NEW_LIT(l,loc) NEW_NODE(NODE_LIT,l,0,0,loc)
351
- #define NEW_STR(s,loc) NEW_NODE(NODE_STR,s,0,0,loc)
352
- #define NEW_DSTR(s,loc) NEW_NODE(NODE_DSTR,s,1,0,loc)
353
- #define NEW_XSTR(s,loc) NEW_NODE(NODE_XSTR,s,0,0,loc)
354
- #define NEW_DXSTR(s,loc) NEW_NODE(NODE_DXSTR,s,0,0,loc)
355
- #define NEW_DSYM(s,loc) NEW_NODE(NODE_DSYM,s,0,0,loc)
356
- #define NEW_EVSTR(n,loc) NEW_NODE(NODE_EVSTR,0,(n),0,loc)
357
- #define NEW_CALL(r,m,a,loc) NEW_NODE(NODE_CALL,r,m,a,loc)
358
- #define NEW_OPCALL(r,m,a,loc) NEW_NODE(NODE_OPCALL,r,m,a,loc)
359
- #define NEW_FCALL(m,a,loc) NEW_NODE(NODE_FCALL,0,m,a,loc)
360
- #define NEW_VCALL(m,loc) NEW_NODE(NODE_VCALL,0,m,0,loc)
361
- #define NEW_SUPER(a,loc) NEW_NODE(NODE_SUPER,0,0,a,loc)
362
- #define NEW_ZSUPER(loc) NEW_NODE(NODE_ZSUPER,0,0,0,loc)
363
- #define NEW_ARGS_AUX(r,b,loc) NEW_NODE(NODE_ARGS_AUX,r,b,0,loc)
364
- #define NEW_OPT_ARG(i,v,loc) NEW_NODE(NODE_OPT_ARG,i,v,0,loc)
365
- #define NEW_KW_ARG(i,v,loc) NEW_NODE(NODE_KW_ARG,i,v,0,loc)
366
- #define NEW_POSTARG(i,v,loc) NEW_NODE(NODE_POSTARG,i,v,0,loc)
367
- #define NEW_ARGSCAT(a,b,loc) NEW_NODE(NODE_ARGSCAT,a,b,0,loc)
368
- #define NEW_ARGSPUSH(a,b,loc) NEW_NODE(NODE_ARGSPUSH,a,b,0,loc)
369
- #define NEW_SPLAT(a,loc) NEW_NODE(NODE_SPLAT,a,0,0,loc)
370
- #define NEW_BLOCK_PASS(b,loc) NEW_NODE(NODE_BLOCK_PASS,0,b,0,loc)
371
- #define NEW_ALIAS(n,o,loc) NEW_NODE(NODE_ALIAS,n,o,0,loc)
372
- #define NEW_VALIAS(n,o,loc) NEW_NODE(NODE_VALIAS,n,o,0,loc)
373
- #define NEW_UNDEF(i,loc) NEW_NODE(NODE_UNDEF,0,i,0,loc)
374
- #define NEW_CLASS(n,b,s,loc) NEW_NODE(NODE_CLASS,n,NEW_SCOPE(0,b,loc),(s),loc)
375
- #define NEW_SCLASS(r,b,loc) NEW_NODE(NODE_SCLASS,r,NEW_SCOPE(0,b,loc),0,loc)
376
- #define NEW_MODULE(n,b,loc) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(0,b,loc),0,loc)
377
- #define NEW_COLON2(c,i,loc) NEW_NODE(NODE_COLON2,c,i,0,loc)
378
- #define NEW_COLON3(i,loc) NEW_NODE(NODE_COLON3,0,i,0,loc)
379
- #define NEW_DOT2(b,e,loc) NEW_NODE(NODE_DOT2,b,e,0,loc)
380
- #define NEW_DOT3(b,e,loc) NEW_NODE(NODE_DOT3,b,e,0,loc)
381
- #define NEW_SELF(loc) NEW_NODE(NODE_SELF,0,0,1,loc)
382
- #define NEW_NIL(loc) NEW_NODE(NODE_NIL,0,0,0,loc)
383
- #define NEW_TRUE(loc) NEW_NODE(NODE_TRUE,0,0,0,loc)
384
- #define NEW_FALSE(loc) NEW_NODE(NODE_FALSE,0,0,0,loc)
385
- #define NEW_ERRINFO(loc) NEW_NODE(NODE_ERRINFO,0,0,0,loc)
386
- #define NEW_DEFINED(e,loc) NEW_NODE(NODE_DEFINED,e,0,0,loc)
387
- #define NEW_POSTEXE(b,loc) NEW_NODE(NODE_POSTEXE,0,b,0,loc)
388
- #define NEW_ATTRASGN(r,m,a,loc) NEW_NODE(NODE_ATTRASGN,r,m,a,loc)
389
- #define NEW_ERROR(loc) NEW_NODE(NODE_ERROR,0,0,0,loc)
390
-
391
- #define NODE_SPECIAL_REQUIRED_KEYWORD ((NODE *)-1)
392
- #define NODE_REQUIRED_KEYWORD_P(node) ((node)->nd_value == NODE_SPECIAL_REQUIRED_KEYWORD)
393
- #define NODE_SPECIAL_NO_NAME_REST ((NODE *)-1)
394
- #define NODE_NAMED_REST_P(node) ((node) != NODE_SPECIAL_NO_NAME_REST)
395
- #define NODE_SPECIAL_EXCESSIVE_COMMA ((ID)1)
396
- #define NODE_SPECIAL_NO_REST_KEYWORD ((NODE *)-1)
397
-
398
- VALUE rb_node_case_when_optimizable_literal(const NODE *const node);
399
-
400
- RUBY_SYMBOL_EXPORT_BEGIN
401
-
402
- typedef struct node_buffer_struct node_buffer_t;
403
- /* T_IMEMO/ast */
404
- typedef struct rb_ast_body_struct {
405
- const NODE *root;
406
- VALUE compile_option;
407
- VALUE script_lines;
408
- // script_lines is either:
409
- // - a Fixnum that represents the line count of the original source, or
410
- // - an Array that contains the lines of the original source
411
- } rb_ast_body_t;
412
- typedef struct rb_ast_struct {
413
- VALUE flags;
414
- node_buffer_t *node_buffer;
415
- rb_ast_body_t body;
416
- } rb_ast_t;
417
- rb_ast_t *rb_ast_new(void);
418
- void rb_ast_mark(rb_ast_t*);
419
- void rb_ast_update_references(rb_ast_t*);
420
- void rb_ast_dispose(rb_ast_t*);
421
- void rb_ast_free(rb_ast_t*);
422
- size_t rb_ast_memsize(const rb_ast_t*);
423
- void rb_ast_add_mark_object(rb_ast_t*, VALUE);
424
- void rb_ast_set_tokens(rb_ast_t*, VALUE);
425
- VALUE rb_ast_tokens(rb_ast_t *ast);
426
- NODE *rb_ast_newnode(rb_ast_t*, enum node_type type);
427
- void rb_ast_delete_node(rb_ast_t*, NODE *n);
428
- rb_ast_id_table_t *rb_ast_new_local_table(rb_ast_t*, int);
429
- rb_ast_id_table_t *rb_ast_resize_latest_local_table(rb_ast_t*, int);
430
-
431
- VALUE rb_parser_new(void);
432
- VALUE rb_parser_end_seen_p(VALUE);
433
- VALUE rb_parser_encoding(VALUE);
434
- VALUE rb_parser_set_yydebug(VALUE, VALUE);
435
- VALUE rb_parser_dump_tree(const NODE *node, int comment);
436
- void rb_parser_set_options(VALUE, int, int, int, int);
437
-
438
- rb_ast_t *rb_parser_compile_string(VALUE, const char*, VALUE, int);
439
- rb_ast_t *rb_parser_compile_string_path(VALUE vparser, VALUE fname, VALUE src, int line);
440
- rb_ast_t *rb_parser_compile_file_path(VALUE vparser, VALUE fname, VALUE input, int line);
441
- rb_ast_t *rb_parser_compile_generic(VALUE vparser, VALUE (*lex_gets)(VALUE, int), VALUE fname, VALUE input, int line);
442
-
443
- void rb_node_init(NODE *n, enum node_type type, VALUE a0, VALUE a1, VALUE a2);
444
- const char *ruby_node_name(int node);
445
-
446
- const struct kwtable *rb_reserved_word(const char *, unsigned int);
447
-
448
- struct rb_args_info {
449
- NODE *pre_init;
450
- NODE *post_init;
451
-
452
- int pre_args_num; /* count of mandatory pre-arguments */
453
- int post_args_num; /* count of mandatory post-arguments */
454
-
455
- ID first_post_arg;
456
-
457
- ID rest_arg;
458
- ID block_arg;
459
-
460
- NODE *kw_args;
461
- NODE *kw_rest_arg;
462
-
463
- NODE *opt_args;
464
- unsigned int no_kwarg: 1;
465
- unsigned int ruby2_keywords: 1;
466
- unsigned int forwarding: 1;
467
-
468
- VALUE imemo;
469
- };
470
-
471
- struct rb_ary_pattern_info {
472
- NODE *pre_args;
473
- NODE *rest_arg;
474
- NODE *post_args;
475
- };
476
-
477
- struct rb_fnd_pattern_info {
478
- NODE *pre_rest_arg;
479
- NODE *args;
480
- NODE *post_rest_arg;
481
- };
482
-
483
- struct parser_params;
484
- void *rb_parser_malloc(struct parser_params *, size_t);
485
- void *rb_parser_realloc(struct parser_params *, void *, size_t);
486
- void *rb_parser_calloc(struct parser_params *, size_t, size_t);
487
- void rb_parser_free(struct parser_params *, void *);
488
- PRINTF_ARGS(void rb_parser_printf(struct parser_params *parser, const char *fmt, ...), 2, 3);
489
- void rb_ast_node_type_change(NODE *n, enum node_type type);
490
-
491
- RUBY_SYMBOL_EXPORT_END
492
-
493
- static inline VALUE
494
- rb_node_set_type(NODE *n, enum node_type t)
495
- {
496
- #if RUBY_DEBUG
497
- rb_ast_node_type_change(n, t);
498
- #endif
499
- return nd_init_type(n, t);
500
- }
501
-
502
- static inline bool
503
- nd_type_p(const NODE *n, enum node_type t)
504
- {
505
- return (enum node_type)nd_type(n) == t;
506
- }
507
- #if defined(__cplusplus)
508
- #if 0
509
- { /* satisfy cc-mode */
510
- #endif
511
- } /* extern "C" { */
512
- #endif
513
-
514
- #endif /* RUBY_NODE_H */
@@ -1,109 +0,0 @@
1
- /* -*- C -*- */
2
-
3
- /* This is an auto-generated file and is a part of the programming language
4
- * Ruby. The person who created a program to generate this file (``I''
5
- * hereafter) would like to refrain from defining licensing of this generated
6
- * source code.
7
- *
8
- * This file consists of many small parts of codes copyrighted by each author,
9
- * not only the ``I'' person. Those original authors agree with some
10
- * open-source license. I believe that the license we agree is the condition
11
- * mentioned in the file COPYING. It states "4. You may modify and include
12
- * the part of the software into any other software ...". But the problem is,
13
- * the license never makes it clear if such modified parts still remain in the
14
- * same license, or not. The fact that we agree with the source code's
15
- * licensing terms does not automatically define that of generated ones. This
16
- * is the reason why this file is under an unclear situation. All what I know
17
- * is that above provision guarantees this file to exist.
18
- *
19
- * Please let me hesitate to declare something about this nuanced contract. I
20
- * am not in the position to take over other authors' license to merge into my
21
- * one. Changing them to (say) GPLv3 is not doable by myself. Perhaps someday
22
- * it might turn out to be okay to say this file is under a license. I wish
23
- * the situation would become more clear in the future. */
24
-
25
- /*******************************************************************/
26
- /*******************************************************************/
27
- /*******************************************************************/
28
- /**
29
- This file is for threaded code.
30
-
31
- ----
32
- This file is auto generated by insns2vm.rb
33
- DO NOT TOUCH!
34
-
35
- If you want to fix something, you must edit "tool/ruby_vm/views/opt_sc.inc.erb"
36
- or tool/insns2vm.rb
37
- */
38
-
39
- #define SC_STATE_SIZE 6
40
-
41
- #define SCS_XX 1
42
- #define SCS_AX 2
43
- #define SCS_BX 3
44
- #define SCS_AB 4
45
- #define SCS_BA 5
46
-
47
- #define SC_ERROR 0xffffffff
48
-
49
- static const VALUE sc_insn_info[][SC_STATE_SIZE] = {
50
- #define NO_SC { SC_ERROR, SC_ERROR, SC_ERROR, SC_ERROR, SC_ERROR, SC_ERROR }
51
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
52
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
53
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
54
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
55
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
56
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
57
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
58
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
59
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
60
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
61
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
62
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
63
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
64
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
65
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
66
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
67
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
68
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
69
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
70
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
71
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
72
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
73
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
74
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
75
- NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC, NO_SC,
76
- NO_SC, NO_SC,
77
- #undef NO_SC
78
- };
79
-
80
- static const VALUE sc_insn_next[] = {
81
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
82
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
83
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
84
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
85
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
86
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
87
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
88
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
89
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
90
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
91
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
92
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
93
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
94
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
95
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
96
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
97
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
98
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
99
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
100
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
101
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
102
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
103
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
104
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
105
- SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX, SCS_XX,
106
- SCS_XX, SCS_XX,
107
- };
108
-
109
- ASSERT_VM_INSTRUCTION_SIZE(sc_insn_next);
@@ -1,5 +0,0 @@
1
- #define RUBY_REVISION "a1b01e7701"
2
- #define RUBY_FULL_REVISION "a1b01e7701f9fc370f8dff777aad6d39a2c5a3e3"
3
- #define RUBY_RELEASE_YEAR 2023
4
- #define RUBY_RELEASE_MONTH 5
5
- #define RUBY_RELEASE_DAY 12
@@ -1,65 +0,0 @@
1
- #ifndef RUBY_TRANSIENT_HEAP_H
2
- #define RUBY_TRANSIENT_HEAP_H
3
- /**********************************************************************
4
-
5
- transient_heap.h - declarations of transient_heap related APIs.
6
-
7
- Copyright (C) 2018 Koichi Sasada
8
-
9
- **********************************************************************/
10
-
11
- #include "internal.h"
12
-
13
- #if USE_TRANSIENT_HEAP
14
-
15
- /* public API */
16
-
17
- /* Allocate req_size bytes from transient_heap.
18
- Allocated memories are free-ed when next GC
19
- if this memory is not marked by `rb_transient_heap_mark()`.
20
- */
21
- void *rb_transient_heap_alloc(VALUE obj, size_t req_size);
22
-
23
- /* If `obj` uses a memory pointed by `ptr` from transient_heap,
24
- you need to call `rb_transient_heap_mark(obj, ptr)`
25
- to assert liveness of `obj` (and ptr). */
26
- void rb_transient_heap_mark(VALUE obj, const void *ptr);
27
-
28
- /* used by gc.c */
29
- void rb_transient_heap_promote(VALUE obj);
30
- void rb_transient_heap_start_marking(int full_marking);
31
- void rb_transient_heap_finish_marking(void);
32
- void rb_transient_heap_update_references(void);
33
-
34
- /* used by ractor.c */
35
- void rb_transient_heap_evacuate(void);
36
-
37
- /* for debug API */
38
- void rb_transient_heap_dump(void);
39
- void rb_transient_heap_verify(void);
40
- int rb_transient_heap_managed_ptr_p(const void *ptr);
41
-
42
- /* evacuate functions for each type */
43
- void rb_ary_transient_heap_evacuate(VALUE ary, int promote);
44
- void rb_obj_transient_heap_evacuate(VALUE obj, int promote);
45
- void rb_hash_transient_heap_evacuate(VALUE hash, int promote);
46
- void rb_struct_transient_heap_evacuate(VALUE st, int promote);
47
-
48
- #else /* USE_TRANSIENT_HEAP */
49
-
50
- #define rb_transient_heap_alloc(o, s) NULL
51
- #define rb_transient_heap_verify() ((void)0)
52
- #define rb_transient_heap_promote(obj) ((void)0)
53
- #define rb_transient_heap_start_marking(full_marking) ((void)0)
54
- #define rb_transient_heap_update_references() ((void)0)
55
- #define rb_transient_heap_evacuate() ((void)0)
56
- #define rb_transient_heap_finish_marking() ((void)0)
57
- #define rb_transient_heap_mark(obj, ptr) ((void)0)
58
-
59
- #define rb_ary_transient_heap_evacuate(x, y) ((void)0)
60
- #define rb_obj_transient_heap_evacuate(x, y) ((void)0)
61
- #define rb_hash_transient_heap_evacuate(x, y) ((void)0)
62
- #define rb_struct_transient_heap_evacuate(x, y) ((void)0)
63
-
64
- #endif /* USE_TRANSIENT_HEAP */
65
- #endif