debase-ruby_core_source 0.10.6 → 0.10.7

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