binding_of_caller 0.7.2 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +5 -5
  2. data/.gemtest +0 -0
  3. data/.github/workflows/test.yml +108 -0
  4. data/.gitignore +12 -7
  5. data/.yardopts +0 -0
  6. data/Gemfile +6 -1
  7. data/LICENSE +0 -0
  8. data/README.md +17 -5
  9. data/Rakefile +4 -132
  10. data/binding_of_caller.gemspec +33 -35
  11. data/lib/binding_of_caller/jruby_interpreted.rb +123 -0
  12. data/lib/binding_of_caller/{mri2.rb → mri.rb} +8 -14
  13. data/lib/binding_of_caller/rubinius.rb +21 -28
  14. data/lib/binding_of_caller/version.rb +1 -1
  15. data/lib/binding_of_caller.rb +9 -10
  16. metadata +33 -109
  17. data/.travis.yml +0 -23
  18. data/HISTORY +0 -0
  19. data/examples/example.rb +0 -41
  20. data/ext/binding_of_caller/binding_of_caller.c +0 -225
  21. data/ext/binding_of_caller/extconf.rb +0 -33
  22. data/ext/binding_of_caller/ruby_headers/192/debug.h +0 -36
  23. data/ext/binding_of_caller/ruby_headers/192/dln.h +0 -41
  24. data/ext/binding_of_caller/ruby_headers/192/eval_intern.h +0 -232
  25. data/ext/binding_of_caller/ruby_headers/192/id.h +0 -173
  26. data/ext/binding_of_caller/ruby_headers/192/iseq.h +0 -104
  27. data/ext/binding_of_caller/ruby_headers/192/method.h +0 -103
  28. data/ext/binding_of_caller/ruby_headers/192/node.h +0 -483
  29. data/ext/binding_of_caller/ruby_headers/192/regenc.h +0 -211
  30. data/ext/binding_of_caller/ruby_headers/192/regint.h +0 -841
  31. data/ext/binding_of_caller/ruby_headers/192/regparse.h +0 -354
  32. data/ext/binding_of_caller/ruby_headers/192/rubys_gc.h +0 -77
  33. data/ext/binding_of_caller/ruby_headers/192/thread_pthread.h +0 -27
  34. data/ext/binding_of_caller/ruby_headers/192/thread_win32.h +0 -33
  35. data/ext/binding_of_caller/ruby_headers/192/timev.h +0 -21
  36. data/ext/binding_of_caller/ruby_headers/192/transcode_data.h +0 -109
  37. data/ext/binding_of_caller/ruby_headers/192/version.h +0 -55
  38. data/ext/binding_of_caller/ruby_headers/192/vm_core.h +0 -703
  39. data/ext/binding_of_caller/ruby_headers/192/vm_exec.h +0 -184
  40. data/ext/binding_of_caller/ruby_headers/192/vm_insnhelper.h +0 -208
  41. data/ext/binding_of_caller/ruby_headers/192/vm_opts.h +0 -51
  42. data/ext/binding_of_caller/ruby_headers/193/addr2line.h +0 -21
  43. data/ext/binding_of_caller/ruby_headers/193/atomic.h +0 -56
  44. data/ext/binding_of_caller/ruby_headers/193/constant.h +0 -34
  45. data/ext/binding_of_caller/ruby_headers/193/debug.h +0 -41
  46. data/ext/binding_of_caller/ruby_headers/193/dln.h +0 -50
  47. data/ext/binding_of_caller/ruby_headers/193/encdb.h +0 -167
  48. data/ext/binding_of_caller/ruby_headers/193/eval_intern.h +0 -234
  49. data/ext/binding_of_caller/ruby_headers/193/id.h +0 -175
  50. data/ext/binding_of_caller/ruby_headers/193/internal.h +0 -227
  51. data/ext/binding_of_caller/ruby_headers/193/iseq.h +0 -125
  52. data/ext/binding_of_caller/ruby_headers/193/method.h +0 -105
  53. data/ext/binding_of_caller/ruby_headers/193/node.h +0 -503
  54. data/ext/binding_of_caller/ruby_headers/193/parse.h +0 -186
  55. data/ext/binding_of_caller/ruby_headers/193/regenc.h +0 -219
  56. data/ext/binding_of_caller/ruby_headers/193/regint.h +0 -851
  57. data/ext/binding_of_caller/ruby_headers/193/regparse.h +0 -362
  58. data/ext/binding_of_caller/ruby_headers/193/revision.h +0 -1
  59. data/ext/binding_of_caller/ruby_headers/193/rubys_gc.h +0 -98
  60. data/ext/binding_of_caller/ruby_headers/193/thread_pthread.h +0 -51
  61. data/ext/binding_of_caller/ruby_headers/193/thread_win32.h +0 -40
  62. data/ext/binding_of_caller/ruby_headers/193/timev.h +0 -21
  63. data/ext/binding_of_caller/ruby_headers/193/transcode_data.h +0 -117
  64. data/ext/binding_of_caller/ruby_headers/193/transdb.h +0 -189
  65. data/ext/binding_of_caller/ruby_headers/193/version.h +0 -52
  66. data/ext/binding_of_caller/ruby_headers/193/vm_core.h +0 -755
  67. data/ext/binding_of_caller/ruby_headers/193/vm_exec.h +0 -184
  68. data/ext/binding_of_caller/ruby_headers/193/vm_insnhelper.h +0 -220
  69. data/ext/binding_of_caller/ruby_headers/193/vm_opts.h +0 -51
  70. data/test/test_binding_of_caller.rb +0 -161
@@ -1,167 +0,0 @@
1
- ENC_DEFINE("ASCII-8BIT");
2
- ENC_DEFINE("Big5");
3
- ENC_DEFINE("Big5-HKSCS");
4
- ENC_DEFINE("Big5-UAO");
5
- ENC_DEFINE("CP949");
6
- ENC_DEFINE("Emacs-Mule");
7
- ENC_DEFINE("EUC-JP");
8
- ENC_DEFINE("EUC-KR");
9
- ENC_DEFINE("EUC-TW");
10
- ENC_DEFINE("GB18030");
11
- ENC_DEFINE("GBK");
12
- ENC_DEFINE("ISO-8859-1");
13
- ENC_DEFINE("ISO-8859-2");
14
- ENC_DEFINE("ISO-8859-3");
15
- ENC_DEFINE("ISO-8859-4");
16
- ENC_DEFINE("ISO-8859-5");
17
- ENC_DEFINE("ISO-8859-6");
18
- ENC_DEFINE("ISO-8859-7");
19
- ENC_DEFINE("ISO-8859-8");
20
- ENC_DEFINE("ISO-8859-9");
21
- ENC_DEFINE("ISO-8859-10");
22
- ENC_DEFINE("ISO-8859-11");
23
- ENC_DEFINE("ISO-8859-13");
24
- ENC_DEFINE("ISO-8859-14");
25
- ENC_DEFINE("ISO-8859-15");
26
- ENC_DEFINE("ISO-8859-16");
27
- ENC_DEFINE("KOI8-R");
28
- ENC_DEFINE("KOI8-U");
29
- ENC_DEFINE("Shift_JIS");
30
- ENC_DEFINE("US-ASCII");
31
- ENC_DEFINE("UTF-8");
32
- ENC_DEFINE("UTF-16BE");
33
- ENC_DEFINE("UTF-16LE");
34
- ENC_DEFINE("UTF-32BE");
35
- ENC_DEFINE("UTF-32LE");
36
- ENC_DEFINE("Windows-1251");
37
- ENC_ALIAS("BINARY", "ASCII-8BIT");
38
- ENC_REPLICATE("IBM437", "ASCII-8BIT");
39
- ENC_ALIAS("CP437", "IBM437");
40
- ENC_REPLICATE("IBM737", "ASCII-8BIT");
41
- ENC_ALIAS("CP737", "IBM737");
42
- ENC_REPLICATE("IBM775", "ASCII-8BIT");
43
- ENC_ALIAS("CP775", "IBM775");
44
- ENC_REPLICATE("CP850", "ASCII-8BIT");
45
- ENC_ALIAS("IBM850", "CP850");
46
- ENC_REPLICATE("IBM852", "ASCII-8BIT");
47
- ENC_REPLICATE("CP852", "IBM852");
48
- ENC_REPLICATE("IBM855", "ASCII-8BIT");
49
- ENC_REPLICATE("CP855", "IBM855");
50
- ENC_REPLICATE("IBM857", "ASCII-8BIT");
51
- ENC_ALIAS("CP857", "IBM857");
52
- ENC_REPLICATE("IBM860", "ASCII-8BIT");
53
- ENC_ALIAS("CP860", "IBM860");
54
- ENC_REPLICATE("IBM861", "ASCII-8BIT");
55
- ENC_ALIAS("CP861", "IBM861");
56
- ENC_REPLICATE("IBM862", "ASCII-8BIT");
57
- ENC_ALIAS("CP862", "IBM862");
58
- ENC_REPLICATE("IBM863", "ASCII-8BIT");
59
- ENC_ALIAS("CP863", "IBM863");
60
- ENC_REPLICATE("IBM864", "ASCII-8BIT");
61
- ENC_ALIAS("CP864", "IBM864");
62
- ENC_REPLICATE("IBM865", "ASCII-8BIT");
63
- ENC_ALIAS("CP865", "IBM865");
64
- ENC_REPLICATE("IBM866", "ASCII-8BIT");
65
- ENC_ALIAS("CP866", "IBM866");
66
- ENC_REPLICATE("IBM869", "ASCII-8BIT");
67
- ENC_ALIAS("CP869", "IBM869");
68
- ENC_REPLICATE("Windows-1258", "ASCII-8BIT");
69
- ENC_ALIAS("CP1258", "Windows-1258");
70
- ENC_REPLICATE("GB1988", "ASCII-8BIT");
71
- ENC_REPLICATE("macCentEuro", "ASCII-8BIT");
72
- ENC_REPLICATE("macCroatian", "ASCII-8BIT");
73
- ENC_REPLICATE("macCyrillic", "ASCII-8BIT");
74
- ENC_REPLICATE("macGreek", "ASCII-8BIT");
75
- ENC_REPLICATE("macIceland", "ASCII-8BIT");
76
- ENC_REPLICATE("macRoman", "ASCII-8BIT");
77
- ENC_REPLICATE("macRomania", "ASCII-8BIT");
78
- ENC_REPLICATE("macThai", "ASCII-8BIT");
79
- ENC_REPLICATE("macTurkish", "ASCII-8BIT");
80
- ENC_REPLICATE("macUkraine", "ASCII-8BIT");
81
- ENC_REPLICATE("CP950", "Big5");
82
- ENC_SET_BASE("Big5-HKSCS", "Big5");
83
- ENC_ALIAS("Big5-HKSCS:2008", "Big5-HKSCS");
84
- ENC_REPLICATE("CP951", "Big5-HKSCS");
85
- ENC_SET_BASE("Big5-UAO", "Big5");
86
- ENC_REPLICATE("stateless-ISO-2022-JP", "Emacs-Mule");
87
- ENC_ALIAS("eucJP", "EUC-JP") /* UI-OSF Application Platform Profile for Japanese Environment Version 1.1 */;
88
- ENC_REPLICATE("eucJP-ms", "EUC-JP") /* TOG/JVC CDE/Motif Technical WG */;
89
- ENC_ALIAS("euc-jp-ms", "eucJP-ms");
90
- ENC_REPLICATE("CP51932", "EUC-JP");
91
- ENC_ALIAS("eucKR", "EUC-KR");
92
- ENC_ALIAS("eucTW", "EUC-TW");
93
- ENC_ALIAS("EUC-CN", "GB2312");
94
- ENC_ALIAS("eucCN", "GB2312");
95
- ENC_REPLICATE("GB12345", "GB2312");
96
- ENC_ALIAS("CP936", "GBK");
97
- ENC_DUMMY("ISO-2022-JP");
98
- ENC_ALIAS("ISO2022-JP", "ISO-2022-JP");
99
- ENC_REPLICATE("ISO-2022-JP-2", "ISO-2022-JP");
100
- ENC_ALIAS("ISO2022-JP2", "ISO-2022-JP-2");
101
- ENC_REPLICATE("CP50220", "ISO-2022-JP");
102
- ENC_REPLICATE("CP50221", "ISO-2022-JP");
103
- ENC_ALIAS("ISO8859-1", "ISO-8859-1");
104
- ENC_REPLICATE("Windows-1252", "ISO-8859-1");
105
- ENC_ALIAS("CP1252", "Windows-1252");
106
- ENC_ALIAS("ISO8859-2", "ISO-8859-2");
107
- ENC_REPLICATE("Windows-1250", "ISO-8859-2");
108
- ENC_ALIAS("CP1250", "Windows-1250");
109
- ENC_ALIAS("ISO8859-3", "ISO-8859-3");
110
- ENC_ALIAS("ISO8859-4", "ISO-8859-4");
111
- ENC_ALIAS("ISO8859-5", "ISO-8859-5");
112
- ENC_ALIAS("ISO8859-6", "ISO-8859-6");
113
- ENC_REPLICATE("Windows-1256", "ISO-8859-6");
114
- ENC_ALIAS("CP1256", "Windows-1256");
115
- ENC_ALIAS("ISO8859-7", "ISO-8859-7");
116
- ENC_REPLICATE("Windows-1253", "ISO-8859-7");
117
- ENC_ALIAS("CP1253", "Windows-1253");
118
- ENC_ALIAS("ISO8859-8", "ISO-8859-8");
119
- ENC_REPLICATE("Windows-1255", "ISO-8859-8");
120
- ENC_ALIAS("CP1255", "Windows-1255");
121
- ENC_ALIAS("ISO8859-9", "ISO-8859-9");
122
- ENC_REPLICATE("Windows-1254", "ISO-8859-9");
123
- ENC_ALIAS("CP1254", "Windows-1254");
124
- ENC_ALIAS("ISO8859-10", "ISO-8859-10");
125
- ENC_ALIAS("ISO8859-11", "ISO-8859-11");
126
- ENC_REPLICATE("TIS-620", "ISO-8859-11");
127
- ENC_REPLICATE("Windows-874", "ISO-8859-11");
128
- ENC_ALIAS("CP874", "Windows-874");
129
- ENC_ALIAS("ISO8859-13", "ISO-8859-13");
130
- ENC_REPLICATE("Windows-1257", "ISO-8859-13");
131
- ENC_ALIAS("CP1257", "Windows-1257");
132
- ENC_ALIAS("ISO8859-14", "ISO-8859-14");
133
- ENC_ALIAS("ISO8859-15", "ISO-8859-15");
134
- ENC_ALIAS("ISO8859-16", "ISO-8859-16");
135
- ENC_ALIAS("CP878", "KOI8-R");
136
- ENC_REPLICATE("Windows-31J", "Shift_JIS");
137
- ENC_ALIAS("CP932", "Windows-31J");
138
- ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */;
139
- ENC_ALIAS("SJIS", "Windows-31J");
140
- ENC_ALIAS("PCK", "Windows-31J");
141
- ENC_REPLICATE("MacJapanese", "Shift_JIS");
142
- ENC_ALIAS("MacJapan", "MacJapanese");
143
- ENC_ALIAS("ASCII", "US-ASCII");
144
- ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII");
145
- ENC_ALIAS("646", "US-ASCII");
146
- ENC_DUMMY("UTF-7");
147
- ENC_ALIAS("CP65000", "UTF-7");
148
- ENC_ALIAS("CP65001", "UTF-8");
149
- ENC_REPLICATE("UTF8-MAC", "UTF-8");
150
- ENC_ALIAS("UTF-8-MAC", "UTF8-MAC");
151
- ENC_ALIAS("UTF-8-HFS", "UTF8-MAC") /* Emacs 23.2 */;
152
- ENC_DUMMY("UTF-16");
153
- ENC_DUMMY("UTF-32");
154
- ENC_ALIAS("UCS-2BE", "UTF-16BE");
155
- ENC_ALIAS("UCS-4BE", "UTF-32BE");
156
- ENC_ALIAS("UCS-4LE", "UTF-32LE");
157
- ENC_ALIAS("CP1251", "Windows-1251");
158
- ENC_REPLICATE("UTF8-DoCoMo", "UTF-8");
159
- ENC_REPLICATE("SJIS-DoCoMo", "Windows-31J");
160
- ENC_REPLICATE("UTF8-KDDI", "UTF-8");
161
- ENC_REPLICATE("SJIS-KDDI", "Windows-31J");
162
- ENC_REPLICATE("ISO-2022-JP-KDDI", "ISO-2022-JP");
163
- ENC_REPLICATE("stateless-ISO-2022-JP-KDDI", "stateless-ISO-2022-JP");
164
- ENC_REPLICATE("UTF8-SoftBank", "UTF-8");
165
- ENC_REPLICATE("SJIS-SoftBank", "Windows-31J");
166
-
167
- #define ENCODING_COUNT 99
@@ -1,234 +0,0 @@
1
- #ifndef RUBY_EVAL_INTERN_H
2
- #define RUBY_EVAL_INTERN_H
3
-
4
- #include "ruby/ruby.h"
5
- #include "vm_core.h"
6
-
7
- #define PASS_PASSED_BLOCK_TH(th) do { \
8
- (th)->passed_block = GC_GUARDED_PTR_REF((rb_block_t *)(th)->cfp->lfp[0]); \
9
- (th)->cfp->flag |= VM_FRAME_FLAG_PASSED; \
10
- } while (0)
11
-
12
- #define PASS_PASSED_BLOCK() do { \
13
- rb_thread_t * const __th__ = GET_THREAD(); \
14
- PASS_PASSED_BLOCK_TH(__th__); \
15
- } while (0)
16
-
17
- #ifdef HAVE_STDLIB_H
18
- #include <stdlib.h>
19
- #endif
20
- #ifndef EXIT_SUCCESS
21
- #define EXIT_SUCCESS 0
22
- #endif
23
- #ifndef EXIT_FAILURE
24
- #define EXIT_FAILURE 1
25
- #endif
26
-
27
- #include <stdio.h>
28
- #include <setjmp.h>
29
-
30
- #ifdef __APPLE__
31
- #include <crt_externs.h>
32
- #endif
33
-
34
- /* Make alloca work the best possible way. */
35
- #ifdef __GNUC__
36
- # ifndef atarist
37
- # ifndef alloca
38
- # define alloca __builtin_alloca
39
- # endif
40
- # endif /* atarist */
41
- #else
42
- # ifdef HAVE_ALLOCA_H
43
- # include <alloca.h>
44
- # else
45
- # ifdef _AIX
46
- #pragma alloca
47
- # else
48
- # ifndef alloca /* predefined by HP cc +Olibcalls */
49
- void *alloca();
50
- # endif
51
- # endif /* AIX */
52
- # endif /* HAVE_ALLOCA_H */
53
- #endif /* __GNUC__ */
54
-
55
- #ifndef HAVE_STRING_H
56
- char *strrchr(const char *, const char);
57
- #endif
58
-
59
- #ifdef HAVE_UNISTD_H
60
- #include <unistd.h>
61
- #endif
62
-
63
- #ifdef HAVE_NET_SOCKET_H
64
- #include <net/socket.h>
65
- #endif
66
-
67
- #define ruby_setjmp(env) RUBY_SETJMP(env)
68
- #define ruby_longjmp(env,val) RUBY_LONGJMP((env),(val))
69
- #ifdef __CYGWIN__
70
- # ifndef _setjmp
71
- int _setjmp(jmp_buf);
72
- # endif
73
- # ifndef _longjmp
74
- NORETURN(void _longjmp(jmp_buf, int));
75
- # endif
76
- #endif
77
-
78
- #include <sys/types.h>
79
- #include <signal.h>
80
- #include <errno.h>
81
-
82
- #ifdef HAVE_SYS_SELECT_H
83
- #include <sys/select.h>
84
- #endif
85
-
86
- /*
87
- Solaris sys/select.h switches select to select_large_fdset to support larger
88
- file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment.
89
- But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically.
90
- So following definition is required to use select_large_fdset.
91
- */
92
- #ifdef HAVE_SELECT_LARGE_FDSET
93
- #define select(n, r, w, e, t) select_large_fdset((n), (r), (w), (e), (t))
94
- extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval *);
95
- #endif
96
-
97
- #ifdef HAVE_SYS_PARAM_H
98
- #include <sys/param.h>
99
- #endif
100
-
101
- #include <sys/stat.h>
102
-
103
- #define SAVE_ROOT_JMPBUF(th, stmt) do \
104
- if (ruby_setjmp((th)->root_jmpbuf) == 0) { \
105
- stmt; \
106
- } \
107
- else { \
108
- rb_fiber_start(); \
109
- } while (0)
110
-
111
- #define TH_PUSH_TAG(th) do { \
112
- rb_thread_t * const _th = (th); \
113
- struct rb_vm_tag _tag; \
114
- _tag.tag = 0; \
115
- _tag.prev = _th->tag; \
116
- _th->tag = &_tag;
117
-
118
- #define TH_POP_TAG() \
119
- _th->tag = _tag.prev; \
120
- } while (0)
121
-
122
- #define TH_POP_TAG2() \
123
- _th->tag = _tag.prev
124
-
125
- #define PUSH_TAG() TH_PUSH_TAG(GET_THREAD())
126
- #define POP_TAG() TH_POP_TAG()
127
-
128
- #define TH_EXEC_TAG() ruby_setjmp(_th->tag->buf)
129
-
130
- #define EXEC_TAG() \
131
- TH_EXEC_TAG()
132
-
133
- #define TH_JUMP_TAG(th, st) do { \
134
- ruby_longjmp((th)->tag->buf,(st)); \
135
- } while (0)
136
-
137
- #define JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), (st))
138
-
139
- #define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
140
-
141
- enum ruby_tag_type {
142
- RUBY_TAG_RETURN = 0x1,
143
- RUBY_TAG_BREAK = 0x2,
144
- RUBY_TAG_NEXT = 0x3,
145
- RUBY_TAG_RETRY = 0x4,
146
- RUBY_TAG_REDO = 0x5,
147
- RUBY_TAG_RAISE = 0x6,
148
- RUBY_TAG_THROW = 0x7,
149
- RUBY_TAG_FATAL = 0x8,
150
- RUBY_TAG_MASK = 0xf
151
- };
152
- #define TAG_RETURN RUBY_TAG_RETURN
153
- #define TAG_BREAK RUBY_TAG_BREAK
154
- #define TAG_NEXT RUBY_TAG_NEXT
155
- #define TAG_RETRY RUBY_TAG_RETRY
156
- #define TAG_REDO RUBY_TAG_REDO
157
- #define TAG_RAISE RUBY_TAG_RAISE
158
- #define TAG_THROW RUBY_TAG_THROW
159
- #define TAG_FATAL RUBY_TAG_FATAL
160
- #define TAG_MASK RUBY_TAG_MASK
161
-
162
- #define NEW_THROW_OBJECT(val, pt, st) \
163
- ((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st)))
164
- #define SET_THROWOBJ_CATCH_POINT(obj, val) \
165
- (RNODE((obj))->u2.value = (val))
166
- #define SET_THROWOBJ_STATE(obj, val) \
167
- (RNODE((obj))->u3.value = (val))
168
-
169
- #define GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value)
170
- #define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
171
- #define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value)
172
-
173
- #define SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f))
174
- #define SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f))
175
- #define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
176
-
177
- #define CHECK_STACK_OVERFLOW(cfp, margin) do \
178
- if ((VALUE *)((char *)(((VALUE *)(cfp)->sp) + (margin)) + sizeof(rb_control_frame_t)) >= ((VALUE *)(cfp))) { \
179
- rb_exc_raise(sysstack_error); \
180
- } \
181
- while (0)
182
-
183
- void rb_thread_cleanup(void);
184
- void rb_thread_wait_other_threads(void);
185
-
186
- enum {
187
- RAISED_EXCEPTION = 1,
188
- RAISED_STACKOVERFLOW = 2,
189
- RAISED_NOMEMORY = 4
190
- };
191
- int rb_threadptr_set_raised(rb_thread_t *th);
192
- int rb_threadptr_reset_raised(rb_thread_t *th);
193
- #define rb_thread_raised_set(th, f) ((th)->raised_flag |= (f))
194
- #define rb_thread_raised_reset(th, f) ((th)->raised_flag &= ~(f))
195
- #define rb_thread_raised_p(th, f) (((th)->raised_flag & (f)) != 0)
196
- #define rb_thread_raised_clear(th) ((th)->raised_flag = 0)
197
-
198
- VALUE rb_f_eval(int argc, VALUE *argv, VALUE self);
199
- VALUE rb_make_exception(int argc, VALUE *argv);
200
-
201
- NORETURN(void rb_fiber_start(void));
202
-
203
- NORETURN(void rb_print_undef(VALUE, ID, int));
204
- NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
205
- NORETURN(void rb_vm_jump_tag_but_local_jump(int, VALUE));
206
- NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, VALUE *argv,
207
- VALUE obj, int call_status));
208
-
209
- VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
210
- NODE *rb_vm_cref(void);
211
- VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
212
- void rb_vm_set_progname(VALUE filename);
213
- void rb_thread_terminate_all(void);
214
- VALUE rb_vm_top_self();
215
- VALUE rb_vm_cbase(void);
216
- void rb_trap_restore_mask(void);
217
-
218
- #ifndef CharNext /* defined as CharNext[AW] on Windows. */
219
- #define CharNext(p) ((p) + mblen((p), RUBY_MBCHAR_MAXSIZE))
220
- #endif
221
-
222
- #if defined DOSISH || defined __CYGWIN__
223
- static inline void
224
- translit_char(char *p, int from, int to)
225
- {
226
- while (*p) {
227
- if ((unsigned char)*p == from)
228
- *p = to;
229
- p = CharNext(p);
230
- }
231
- }
232
- #endif
233
-
234
- #endif /* RUBY_EVAL_INTERN_H */
@@ -1,175 +0,0 @@
1
- /* DO NOT EDIT THIS FILE DIRECTLY */
2
- /**********************************************************************
3
-
4
- id.h -
5
-
6
- $Author: akr $
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
- #define ID_SCOPE_SHIFT 3
17
- #define ID_SCOPE_MASK 0x07
18
- #define ID_LOCAL 0x00
19
- #define ID_INSTANCE 0x01
20
- #define ID_GLOBAL 0x03
21
- #define ID_ATTRSET 0x04
22
- #define ID_CONST 0x05
23
- #define ID_CLASS 0x06
24
- #define ID_JUNK 0x07
25
- #define ID_INTERNAL ID_JUNK
26
-
27
- #ifdef USE_PARSE_H
28
- #include "parse.h"
29
- #endif
30
-
31
- #include "vm_opts.h" /* for SUPPORT_JOKE */
32
-
33
- #define symIFUNC ID2SYM(idIFUNC)
34
- #define symCFUNC ID2SYM(idCFUNC)
35
-
36
- #if !defined tLAST_TOKEN && defined YYTOKENTYPE
37
- #define tLAST_TOKEN tLAST_TOKEN
38
- #endif
39
-
40
- enum ruby_method_ids {
41
- #ifndef tLAST_TOKEN
42
- tUPLUS = 321,
43
- tUMINUS = 322,
44
- tPOW = 323,
45
- tCMP = 324,
46
- tEQ = 325,
47
- tEQQ = 326,
48
- tNEQ = 327,
49
- tGEQ = 328,
50
- tLEQ = 329,
51
- tANDOP = 330,
52
- tOROP = 331,
53
- tMATCH = 332,
54
- tNMATCH = 333,
55
- tDOT2 = 334,
56
- tDOT3 = 335,
57
- tAREF = 336,
58
- tASET = 337,
59
- tLSHFT = 338,
60
- tRSHFT = 339,
61
- tLAMBDA = 352,
62
- idNULL = 365,
63
- idRespond_to = 366,
64
- idIFUNC = 367,
65
- idCFUNC = 368,
66
- id_core_set_method_alias = 369,
67
- id_core_set_variable_alias = 370,
68
- id_core_undef_method = 371,
69
- id_core_define_method = 372,
70
- id_core_define_singleton_method = 373,
71
- id_core_set_postexe = 374,
72
- tLAST_TOKEN = 375,
73
- #endif
74
- idDot2 = tDOT2,
75
- idDot3 = tDOT3,
76
- idUPlus = tUPLUS,
77
- idUMinus = tUMINUS,
78
- idPow = tPOW,
79
- idCmp = tCMP,
80
- idPLUS = '+',
81
- idMINUS = '-',
82
- idMULT = '*',
83
- idDIV = '/',
84
- idMOD = '%',
85
- idLT = '<',
86
- idLTLT = tLSHFT,
87
- idLE = tLEQ,
88
- idGT = '>',
89
- idGE = tGEQ,
90
- idEq = tEQ,
91
- idEqq = tEQQ,
92
- idNeq = tNEQ,
93
- idNot = '!',
94
- idBackquote = '`',
95
- idEqTilde = tMATCH,
96
- idNeqTilde = tNMATCH,
97
- idAREF = tAREF,
98
- idASET = tASET,
99
- idLAST_TOKEN = tLAST_TOKEN >> ID_SCOPE_SHIFT,
100
- tIntern,
101
- tMethodMissing,
102
- tLength,
103
- tSize,
104
- tGets,
105
- tSucc,
106
- tEach,
107
- tLambda,
108
- tSend,
109
- t__send__,
110
- tInitialize,
111
- tUScore,
112
- #if SUPPORT_JOKE
113
- tBitblt,
114
- tAnswer,
115
- #endif
116
- tLAST_ID,
117
- #define TOKEN2ID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
118
- #if SUPPORT_JOKE
119
- TOKEN2ID(Bitblt),
120
- TOKEN2ID(Answer),
121
- #endif
122
- TOKEN2ID(Intern),
123
- TOKEN2ID(MethodMissing),
124
- TOKEN2ID(Length),
125
- TOKEN2ID(Size),
126
- TOKEN2ID(Gets),
127
- TOKEN2ID(Succ),
128
- TOKEN2ID(Each),
129
- TOKEN2ID(Lambda),
130
- TOKEN2ID(Send),
131
- TOKEN2ID(__send__),
132
- TOKEN2ID(Initialize),
133
- TOKEN2ID(UScore),
134
- TOKEN2ID(LAST_ID)
135
- };
136
-
137
- #ifdef tLAST_TOKEN
138
- struct ruby_method_ids_check {
139
- #define ruby_method_id_check_for(name, value) \
140
- int checking_for_##name[name == (value) ? 1 : -1]
141
- ruby_method_id_check_for(tUPLUS, 321);
142
- ruby_method_id_check_for(tUMINUS, 322);
143
- ruby_method_id_check_for(tPOW, 323);
144
- ruby_method_id_check_for(tCMP, 324);
145
- ruby_method_id_check_for(tEQ, 325);
146
- ruby_method_id_check_for(tEQQ, 326);
147
- ruby_method_id_check_for(tNEQ, 327);
148
- ruby_method_id_check_for(tGEQ, 328);
149
- ruby_method_id_check_for(tLEQ, 329);
150
- ruby_method_id_check_for(tANDOP, 330);
151
- ruby_method_id_check_for(tOROP, 331);
152
- ruby_method_id_check_for(tMATCH, 332);
153
- ruby_method_id_check_for(tNMATCH, 333);
154
- ruby_method_id_check_for(tDOT2, 334);
155
- ruby_method_id_check_for(tDOT3, 335);
156
- ruby_method_id_check_for(tAREF, 336);
157
- ruby_method_id_check_for(tASET, 337);
158
- ruby_method_id_check_for(tLSHFT, 338);
159
- ruby_method_id_check_for(tRSHFT, 339);
160
- ruby_method_id_check_for(tLAMBDA, 352);
161
- ruby_method_id_check_for(idNULL, 365);
162
- ruby_method_id_check_for(idRespond_to, 366);
163
- ruby_method_id_check_for(idIFUNC, 367);
164
- ruby_method_id_check_for(idCFUNC, 368);
165
- ruby_method_id_check_for(id_core_set_method_alias, 369);
166
- ruby_method_id_check_for(id_core_set_variable_alias, 370);
167
- ruby_method_id_check_for(id_core_undef_method, 371);
168
- ruby_method_id_check_for(id_core_define_method, 372);
169
- ruby_method_id_check_for(id_core_define_singleton_method, 373);
170
- ruby_method_id_check_for(id_core_set_postexe, 374);
171
- ruby_method_id_check_for(tLAST_TOKEN, 375);
172
- };
173
- #endif
174
-
175
- #endif /* RUBY_ID_H */