debase-ruby_core_source 0.10.6 → 0.10.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/debase/ruby_core_source.rb +2 -1
  4. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/addr2line.h +21 -0
  5. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ccan/build_assert/build_assert.h +40 -0
  6. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ccan/check_type/check_type.h +63 -0
  7. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ccan/container_of/container_of.h +142 -0
  8. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ccan/list/list.h +788 -0
  9. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ccan/str/str.h +16 -0
  10. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/constant.h +54 -0
  11. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/debug_counter.h +378 -0
  12. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/dln.h +51 -0
  13. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/encindex.h +69 -0
  14. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/eval_intern.h +314 -0
  15. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/gc.h +129 -0
  16. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/hrtime.h +168 -0
  17. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/id.h +292 -0
  18. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/id_table.h +34 -0
  19. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/insns.inc +249 -0
  20. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/insns_info.inc +9614 -0
  21. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/internal.h +2682 -0
  22. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/iseq.h +312 -0
  23. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/known_errors.inc +791 -0
  24. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/method.h +232 -0
  25. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/mjit.h +179 -0
  26. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/mjit_compile.inc +7883 -0
  27. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/node.h +483 -0
  28. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/node_name.inc +210 -0
  29. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/opt_sc.inc +109 -0
  30. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/optinsn.inc +128 -0
  31. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/optunifs.inc +43 -0
  32. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/parse.h +210 -0
  33. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/probes_helper.h +42 -0
  34. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/regenc.h +254 -0
  35. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/regint.h +938 -0
  36. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/regparse.h +370 -0
  37. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/revision.h +2 -0
  38. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_assert.h +15 -0
  39. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/ruby_atomic.h +244 -0
  40. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/siphash.h +48 -0
  41. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/symbol.h +119 -0
  42. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/thread_pthread.h +75 -0
  43. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/thread_win32.h +36 -0
  44. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/timev.h +56 -0
  45. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/transcode_data.h +139 -0
  46. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/transient_heap.h +62 -0
  47. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/version.h +77 -0
  48. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm.inc +5269 -0
  49. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_call_iseq_optimized.inc +237 -0
  50. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_core.h +1955 -0
  51. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_debug.h +34 -0
  52. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_exec.h +193 -0
  53. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_insnhelper.h +255 -0
  54. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vm_opts.h +70 -0
  55. data/lib/debase/ruby_core_source/ruby-2.7.0-preview2/vmtc.inc +243 -0
  56. data/lib/debase/ruby_core_source/version.rb +1 -1
  57. metadata +55 -3
@@ -0,0 +1,168 @@
1
+ #ifndef RB_HRTIME_H
2
+ #define RB_HRTIME_H
3
+ #include "ruby/ruby.h"
4
+ #include <time.h>
5
+ #if defined(HAVE_SYS_TIME_H)
6
+ # include <sys/time.h>
7
+ #endif
8
+
9
+ /*
10
+ * Hi-res monotonic clock. It is currently nsec resolution, which has over
11
+ * 500 years of range (with an unsigned 64-bit integer). Developers
12
+ * targeting small systems may try 32-bit and low-resolution (milliseconds).
13
+ *
14
+ * TBD: Is nsec even necessary? usec resolution seems enough for userspace
15
+ * and it'll be suitable for use with devices lasting over 500,000 years
16
+ * (maybe some devices designed for long-term space travel)
17
+ *
18
+ * Current API:
19
+ *
20
+ * * rb_hrtime_now - current clock value (monotonic if available)
21
+ * * rb_hrtime_mul - multiply with overflow check
22
+ * * rb_hrtime_add - add with overflow check
23
+ * * rb_timeval2hrtime - convert from timeval
24
+ * * rb_timespec2hrtime - convert from timespec
25
+ * * rb_msec2hrtime - convert from millisecond
26
+ * * rb_sec2hrtime - convert from time_t (seconds)
27
+ * * rb_hrtime2timeval - convert to timeval
28
+ * * rb_hrtime2timespec - convert to timespec
29
+ *
30
+ * Note: no conversion to milliseconds is provided here because different
31
+ * functions have different limits (e.g. epoll_wait vs w32_wait_events).
32
+ * So we provide RB_HRTIME_PER_MSEC and similar macros for implementing
33
+ * this for each use case.
34
+ */
35
+ #define RB_HRTIME_PER_USEC ((rb_hrtime_t)1000)
36
+ #define RB_HRTIME_PER_MSEC (RB_HRTIME_PER_USEC * (rb_hrtime_t)1000)
37
+ #define RB_HRTIME_PER_SEC (RB_HRTIME_PER_MSEC * (rb_hrtime_t)1000)
38
+ #define RB_HRTIME_MAX UINT64_MAX
39
+
40
+ /*
41
+ * Lets try to support time travelers. Lets assume anybody with a time machine
42
+ * also has access to a modern gcc or clang with 128-bit int support
43
+ */
44
+ #ifdef MY_RUBY_BUILD_MAY_TIME_TRAVEL
45
+ typedef int128_t rb_hrtime_t;
46
+ #else
47
+ typedef uint64_t rb_hrtime_t;
48
+ #endif
49
+
50
+ /* thread.c */
51
+ /* returns the value of the monotonic clock (if available) */
52
+ rb_hrtime_t rb_hrtime_now(void);
53
+
54
+ /*
55
+ * multiply @a and @b with overflow check and return the
56
+ * (clamped to RB_HRTIME_MAX) result.
57
+ */
58
+ static inline rb_hrtime_t
59
+ rb_hrtime_mul(rb_hrtime_t a, rb_hrtime_t b)
60
+ {
61
+ rb_hrtime_t c;
62
+
63
+ #ifdef HAVE_BUILTIN___BUILTIN_MUL_OVERFLOW
64
+ if (__builtin_mul_overflow(a, b, &c))
65
+ return RB_HRTIME_MAX;
66
+ #else
67
+ if (b != 0 && a > RB_HRTIME_MAX / b) /* overflow */
68
+ return RB_HRTIME_MAX;
69
+ c = a * b;
70
+ #endif
71
+ return c;
72
+ }
73
+
74
+ /*
75
+ * add @a and @b with overflow check and return the
76
+ * (clamped to RB_HRTIME_MAX) result.
77
+ */
78
+ static inline rb_hrtime_t
79
+ rb_hrtime_add(rb_hrtime_t a, rb_hrtime_t b)
80
+ {
81
+ rb_hrtime_t c;
82
+
83
+ #ifdef HAVE_BUILTIN___BUILTIN_ADD_OVERFLOW
84
+ if (__builtin_add_overflow(a, b, &c))
85
+ return RB_HRTIME_MAX;
86
+ #else
87
+ c = a + b;
88
+ if (c < a) /* overflow */
89
+ return RB_HRTIME_MAX;
90
+ #endif
91
+ return c;
92
+ }
93
+
94
+ /*
95
+ * convert a timeval struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
96
+ */
97
+ static inline rb_hrtime_t
98
+ rb_timeval2hrtime(const struct timeval *tv)
99
+ {
100
+ rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)tv->tv_sec, RB_HRTIME_PER_SEC);
101
+ rb_hrtime_t u = rb_hrtime_mul((rb_hrtime_t)tv->tv_usec, RB_HRTIME_PER_USEC);
102
+
103
+ return rb_hrtime_add(s, u);
104
+ }
105
+
106
+ /*
107
+ * convert a timespec struct to rb_hrtime_t, clamping at RB_HRTIME_MAX
108
+ */
109
+ static inline rb_hrtime_t
110
+ rb_timespec2hrtime(const struct timespec *ts)
111
+ {
112
+ rb_hrtime_t s = rb_hrtime_mul((rb_hrtime_t)ts->tv_sec, RB_HRTIME_PER_SEC);
113
+
114
+ return rb_hrtime_add(s, (rb_hrtime_t)ts->tv_nsec);
115
+ }
116
+
117
+ /*
118
+ * convert a millisecond value to rb_hrtime_t, clamping at RB_HRTIME_MAX
119
+ */
120
+ static inline rb_hrtime_t
121
+ rb_msec2hrtime(unsigned long msec)
122
+ {
123
+ return rb_hrtime_mul((rb_hrtime_t)msec, RB_HRTIME_PER_MSEC);
124
+ }
125
+
126
+ /*
127
+ * convert a time_t value to rb_hrtime_t, clamping at RB_HRTIME_MAX
128
+ * Negative values will be clamped at 0.
129
+ */
130
+ static inline rb_hrtime_t
131
+ rb_sec2hrtime(time_t sec)
132
+ {
133
+ if (sec <= 0) return 0;
134
+
135
+ return rb_hrtime_mul((rb_hrtime_t)sec, RB_HRTIME_PER_SEC);
136
+ }
137
+
138
+ /*
139
+ * convert a rb_hrtime_t value to a timespec, suitable for calling
140
+ * functions like ppoll(2) or kevent(2)
141
+ */
142
+ static inline struct timespec *
143
+ rb_hrtime2timespec(struct timespec *ts, const rb_hrtime_t *hrt)
144
+ {
145
+ if (hrt) {
146
+ ts->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
147
+ ts->tv_nsec = (int32_t)(*hrt % RB_HRTIME_PER_SEC);
148
+ return ts;
149
+ }
150
+ return 0;
151
+ }
152
+
153
+ /*
154
+ * convert a rb_hrtime_t value to a timeval, suitable for calling
155
+ * functions like select(2)
156
+ */
157
+ static inline struct timeval *
158
+ rb_hrtime2timeval(struct timeval *tv, const rb_hrtime_t *hrt)
159
+ {
160
+ if (hrt) {
161
+ tv->tv_sec = (time_t)(*hrt / RB_HRTIME_PER_SEC);
162
+ tv->tv_usec = (int32_t)((*hrt % RB_HRTIME_PER_SEC)/RB_HRTIME_PER_USEC);
163
+
164
+ return tv;
165
+ }
166
+ return 0;
167
+ }
168
+ #endif /* RB_HRTIME_H */
@@ -0,0 +1,292 @@
1
+ /* DO NOT EDIT THIS FILE DIRECTLY */
2
+ /**********************************************************************
3
+
4
+ id.h -
5
+
6
+ $Author$
7
+ created at: Sun Oct 19 21:12:51 2008
8
+
9
+ Copyright (C) 2007 Koichi Sasada
10
+
11
+ **********************************************************************/
12
+
13
+ #ifndef RUBY_ID_H
14
+ #define RUBY_ID_H
15
+
16
+ enum ruby_id_types {
17
+ RUBY_ID_STATIC_SYM = 0x01,
18
+ RUBY_ID_LOCAL = 0x00,
19
+ RUBY_ID_INSTANCE = (0x01<<1),
20
+ RUBY_ID_GLOBAL = (0x03<<1),
21
+ RUBY_ID_ATTRSET = (0x04<<1),
22
+ RUBY_ID_CONST = (0x05<<1),
23
+ RUBY_ID_CLASS = (0x06<<1),
24
+ RUBY_ID_JUNK = (0x07<<1),
25
+ RUBY_ID_INTERNAL = RUBY_ID_JUNK,
26
+ RUBY_ID_SCOPE_SHIFT = 4,
27
+ RUBY_ID_SCOPE_MASK = (~(~0U<<(RUBY_ID_SCOPE_SHIFT-1))<<1)
28
+ };
29
+
30
+ #define ID_STATIC_SYM RUBY_ID_STATIC_SYM
31
+ #define ID_SCOPE_SHIFT RUBY_ID_SCOPE_SHIFT
32
+ #define ID_SCOPE_MASK RUBY_ID_SCOPE_MASK
33
+ #define ID_LOCAL RUBY_ID_LOCAL
34
+ #define ID_INSTANCE RUBY_ID_INSTANCE
35
+ #define ID_GLOBAL RUBY_ID_GLOBAL
36
+ #define ID_ATTRSET RUBY_ID_ATTRSET
37
+ #define ID_CONST RUBY_ID_CONST
38
+ #define ID_CLASS RUBY_ID_CLASS
39
+ #define ID_JUNK RUBY_ID_JUNK
40
+ #define ID_INTERNAL RUBY_ID_INTERNAL
41
+
42
+ #define symIFUNC ID2SYM(idIFUNC)
43
+ #define symCFUNC ID2SYM(idCFUNC)
44
+
45
+ #define RUBY_TOKEN_DOT2 128
46
+ #define RUBY_TOKEN_DOT3 129
47
+ #define RUBY_TOKEN_BDOT2 130
48
+ #define RUBY_TOKEN_BDOT3 131
49
+ #define RUBY_TOKEN_UPLUS 132
50
+ #define RUBY_TOKEN_UMINUS 133
51
+ #define RUBY_TOKEN_POW 134
52
+ #define RUBY_TOKEN_CMP 135
53
+ #define RUBY_TOKEN_LSHFT 136
54
+ #define RUBY_TOKEN_RSHFT 137
55
+ #define RUBY_TOKEN_LEQ 138
56
+ #define RUBY_TOKEN_GEQ 139
57
+ #define RUBY_TOKEN_EQ 140
58
+ #define RUBY_TOKEN_EQQ 141
59
+ #define RUBY_TOKEN_NEQ 142
60
+ #define RUBY_TOKEN_MATCH 143
61
+ #define RUBY_TOKEN_NMATCH 144
62
+ #define RUBY_TOKEN_AREF 145
63
+ #define RUBY_TOKEN_ASET 146
64
+ #define RUBY_TOKEN_COLON2 147
65
+ #define RUBY_TOKEN_ANDOP 148
66
+ #define RUBY_TOKEN_OROP 149
67
+ #define RUBY_TOKEN_ANDDOT 150
68
+ #define RUBY_TOKEN_METHREF 151
69
+ #define RUBY_TOKEN(t) RUBY_TOKEN_##t
70
+
71
+ #define RUBY_TOKEN2ID_TYPE(tok, type) ((tok<<RUBY_ID_SCOPE_SHIFT)|type|RUBY_ID_STATIC_SYM)
72
+ #define TOKEN2LOCALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_LOCAL)
73
+ #define TOKEN2INSTANCEID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_INSTANCE)
74
+ #define TOKEN2GLOBALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_GLOBAL)
75
+ #define TOKEN2CONSTID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CONST)
76
+ #define TOKEN2CLASSID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CLASS)
77
+ #define TOKEN2ATTRSETID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_ATTRSET)
78
+
79
+ enum ruby_method_ids {
80
+ idDot2 = RUBY_TOKEN(DOT2),
81
+ idDot3 = RUBY_TOKEN(DOT3),
82
+ idUPlus = RUBY_TOKEN(UPLUS),
83
+ idUMinus = RUBY_TOKEN(UMINUS),
84
+ idPow = RUBY_TOKEN(POW),
85
+ idCmp = RUBY_TOKEN(CMP),
86
+ idPLUS = '+',
87
+ idMINUS = '-',
88
+ idMULT = '*',
89
+ idDIV = '/',
90
+ idMOD = '%',
91
+ idLTLT = RUBY_TOKEN(LSHFT),
92
+ idGTGT = RUBY_TOKEN(RSHFT),
93
+ idLT = '<',
94
+ idLE = RUBY_TOKEN(LEQ),
95
+ idGT = '>',
96
+ idGE = RUBY_TOKEN(GEQ),
97
+ idEq = RUBY_TOKEN(EQ),
98
+ idEqq = RUBY_TOKEN(EQQ),
99
+ idNeq = RUBY_TOKEN(NEQ),
100
+ idNot = '!',
101
+ idAnd = '&',
102
+ idOr = '|',
103
+ idBackquote = '`',
104
+ idEqTilde = RUBY_TOKEN(MATCH),
105
+ idNeqTilde = RUBY_TOKEN(NMATCH),
106
+ idAREF = RUBY_TOKEN(AREF),
107
+ idASET = RUBY_TOKEN(ASET),
108
+ idCOLON2 = RUBY_TOKEN(COLON2),
109
+ idANDOP = RUBY_TOKEN(ANDOP),
110
+ idOROP = RUBY_TOKEN(OROP),
111
+ idANDDOT = RUBY_TOKEN(ANDDOT),
112
+ idMETHREF = RUBY_TOKEN(METHREF),
113
+ tPRESERVED_ID_BEGIN = 151,
114
+ idNilP,
115
+ idNULL,
116
+ idEmptyP,
117
+ idEqlP,
118
+ idRespond_to,
119
+ idRespond_to_missing,
120
+ idIFUNC,
121
+ idCFUNC,
122
+ id_core_set_method_alias,
123
+ id_core_set_variable_alias,
124
+ id_core_undef_method,
125
+ id_core_define_method,
126
+ id_core_define_singleton_method,
127
+ id_core_set_postexe,
128
+ id_core_hash_merge_ptr,
129
+ id_core_hash_merge_kwd,
130
+ id_core_raise,
131
+ id_debug_created_info,
132
+ tPRESERVED_ID_END,
133
+ tTOKEN_LOCAL_BEGIN = tPRESERVED_ID_END-1,
134
+ tMax,
135
+ tMin,
136
+ tFreeze,
137
+ tInspect,
138
+ tIntern,
139
+ tObject_id,
140
+ tConst_missing,
141
+ tMethodMissing,
142
+ tMethod_added,
143
+ tSingleton_method_added,
144
+ tMethod_removed,
145
+ tSingleton_method_removed,
146
+ tMethod_undefined,
147
+ tSingleton_method_undefined,
148
+ tLength,
149
+ tSize,
150
+ tGets,
151
+ tSucc,
152
+ tEach,
153
+ tProc,
154
+ tLambda,
155
+ tSend,
156
+ t__send__,
157
+ t__attached__,
158
+ tInitialize,
159
+ tInitialize_copy,
160
+ tInitialize_clone,
161
+ tInitialize_dup,
162
+ tTo_int,
163
+ tTo_ary,
164
+ tTo_str,
165
+ tTo_sym,
166
+ tTo_hash,
167
+ tTo_proc,
168
+ tTo_io,
169
+ tTo_a,
170
+ tTo_s,
171
+ tTo_i,
172
+ tTo_f,
173
+ tTo_r,
174
+ tBt,
175
+ tBt_locations,
176
+ tCall,
177
+ tMesg,
178
+ tException,
179
+ tLocals,
180
+ tNOT,
181
+ tAND,
182
+ tOR,
183
+ tDiv,
184
+ tDivmod,
185
+ tFdiv,
186
+ tQuo,
187
+ tName,
188
+ tNil,
189
+ tUScore,
190
+ tNUMPARAM_1,
191
+ tNUMPARAM_2,
192
+ tNUMPARAM_3,
193
+ tNUMPARAM_4,
194
+ tNUMPARAM_5,
195
+ tNUMPARAM_6,
196
+ tNUMPARAM_7,
197
+ tNUMPARAM_8,
198
+ tNUMPARAM_9,
199
+ tTOKEN_LOCAL_END,
200
+ tTOKEN_INSTANCE_BEGIN = tTOKEN_LOCAL_END-1,
201
+ tTOKEN_INSTANCE_END,
202
+ tTOKEN_GLOBAL_BEGIN = tTOKEN_INSTANCE_END-1,
203
+ tLASTLINE,
204
+ tBACKREF,
205
+ tERROR_INFO,
206
+ tTOKEN_GLOBAL_END,
207
+ tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
208
+ tTOKEN_CONST_END,
209
+ tTOKEN_CLASS_BEGIN = tTOKEN_CONST_END-1,
210
+ tTOKEN_CLASS_END,
211
+ tTOKEN_ATTRSET_BEGIN = tTOKEN_CLASS_END-1,
212
+ tTOKEN_ATTRSET_END,
213
+ tNEXT_ID = tTOKEN_ATTRSET_END,
214
+ #define DEFINE_LOCALID_FROM_TOKEN(n) id##n = TOKEN2LOCALID(t##n)
215
+ DEFINE_LOCALID_FROM_TOKEN(Max),
216
+ DEFINE_LOCALID_FROM_TOKEN(Min),
217
+ DEFINE_LOCALID_FROM_TOKEN(Freeze),
218
+ DEFINE_LOCALID_FROM_TOKEN(Inspect),
219
+ DEFINE_LOCALID_FROM_TOKEN(Intern),
220
+ DEFINE_LOCALID_FROM_TOKEN(Object_id),
221
+ DEFINE_LOCALID_FROM_TOKEN(Const_missing),
222
+ DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
223
+ DEFINE_LOCALID_FROM_TOKEN(Method_added),
224
+ DEFINE_LOCALID_FROM_TOKEN(Singleton_method_added),
225
+ DEFINE_LOCALID_FROM_TOKEN(Method_removed),
226
+ DEFINE_LOCALID_FROM_TOKEN(Singleton_method_removed),
227
+ DEFINE_LOCALID_FROM_TOKEN(Method_undefined),
228
+ DEFINE_LOCALID_FROM_TOKEN(Singleton_method_undefined),
229
+ DEFINE_LOCALID_FROM_TOKEN(Length),
230
+ DEFINE_LOCALID_FROM_TOKEN(Size),
231
+ DEFINE_LOCALID_FROM_TOKEN(Gets),
232
+ DEFINE_LOCALID_FROM_TOKEN(Succ),
233
+ DEFINE_LOCALID_FROM_TOKEN(Each),
234
+ DEFINE_LOCALID_FROM_TOKEN(Proc),
235
+ DEFINE_LOCALID_FROM_TOKEN(Lambda),
236
+ DEFINE_LOCALID_FROM_TOKEN(Send),
237
+ DEFINE_LOCALID_FROM_TOKEN(__send__),
238
+ DEFINE_LOCALID_FROM_TOKEN(__attached__),
239
+ DEFINE_LOCALID_FROM_TOKEN(Initialize),
240
+ DEFINE_LOCALID_FROM_TOKEN(Initialize_copy),
241
+ DEFINE_LOCALID_FROM_TOKEN(Initialize_clone),
242
+ DEFINE_LOCALID_FROM_TOKEN(Initialize_dup),
243
+ DEFINE_LOCALID_FROM_TOKEN(To_int),
244
+ DEFINE_LOCALID_FROM_TOKEN(To_ary),
245
+ DEFINE_LOCALID_FROM_TOKEN(To_str),
246
+ DEFINE_LOCALID_FROM_TOKEN(To_sym),
247
+ DEFINE_LOCALID_FROM_TOKEN(To_hash),
248
+ DEFINE_LOCALID_FROM_TOKEN(To_proc),
249
+ DEFINE_LOCALID_FROM_TOKEN(To_io),
250
+ DEFINE_LOCALID_FROM_TOKEN(To_a),
251
+ DEFINE_LOCALID_FROM_TOKEN(To_s),
252
+ DEFINE_LOCALID_FROM_TOKEN(To_i),
253
+ DEFINE_LOCALID_FROM_TOKEN(To_f),
254
+ DEFINE_LOCALID_FROM_TOKEN(To_r),
255
+ DEFINE_LOCALID_FROM_TOKEN(Bt),
256
+ DEFINE_LOCALID_FROM_TOKEN(Bt_locations),
257
+ DEFINE_LOCALID_FROM_TOKEN(Call),
258
+ DEFINE_LOCALID_FROM_TOKEN(Mesg),
259
+ DEFINE_LOCALID_FROM_TOKEN(Exception),
260
+ DEFINE_LOCALID_FROM_TOKEN(Locals),
261
+ DEFINE_LOCALID_FROM_TOKEN(NOT),
262
+ DEFINE_LOCALID_FROM_TOKEN(AND),
263
+ DEFINE_LOCALID_FROM_TOKEN(OR),
264
+ DEFINE_LOCALID_FROM_TOKEN(Div),
265
+ DEFINE_LOCALID_FROM_TOKEN(Divmod),
266
+ DEFINE_LOCALID_FROM_TOKEN(Fdiv),
267
+ DEFINE_LOCALID_FROM_TOKEN(Quo),
268
+ DEFINE_LOCALID_FROM_TOKEN(Name),
269
+ DEFINE_LOCALID_FROM_TOKEN(Nil),
270
+ DEFINE_LOCALID_FROM_TOKEN(UScore),
271
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
272
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
273
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_3),
274
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_4),
275
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_5),
276
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_6),
277
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_7),
278
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_8),
279
+ DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_9),
280
+ #define DEFINE_INSTANCEID_FROM_TOKEN(n) id##n = TOKEN2INSTANCEID(t##n)
281
+ #define DEFINE_GLOBALID_FROM_TOKEN(n) id##n = TOKEN2GLOBALID(t##n)
282
+ DEFINE_GLOBALID_FROM_TOKEN(LASTLINE),
283
+ DEFINE_GLOBALID_FROM_TOKEN(BACKREF),
284
+ DEFINE_GLOBALID_FROM_TOKEN(ERROR_INFO),
285
+ #define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
286
+ #define DEFINE_CLASSID_FROM_TOKEN(n) id##n = TOKEN2CLASSID(t##n)
287
+ #define DEFINE_ATTRSETID_FROM_TOKEN(n) id##n = TOKEN2ATTRSETID(t##n)
288
+ tLAST_OP_ID = tPRESERVED_ID_END-1,
289
+ idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
290
+ };
291
+
292
+ #endif /* RUBY_ID_H */