bindex 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +13 -33
  3. data/bindex.gemspec +1 -1
  4. data/ext/bindex/com/gsamokovarov/bindex/JRubyIntegration.java +2 -2
  5. data/ext/bindex/cruby.c +41 -13
  6. data/ext/bindex/extconf.rb +0 -15
  7. data/lib/bindex/jruby.rb +0 -1
  8. data/lib/bindex/jruby_internals.jar +0 -0
  9. data/lib/bindex/jruby_internals_9k.jar +0 -0
  10. data/lib/bindex/version.rb +1 -1
  11. metadata +17 -152
  12. data/ext/bindex/bindex.h +0 -11
  13. data/ext/bindex/bindings.c +0 -106
  14. data/ext/bindex/ruby_193.h +0 -101
  15. data/ext/bindex/ruby_193/addr2line.h +0 -21
  16. data/ext/bindex/ruby_193/constant.h +0 -34
  17. data/ext/bindex/ruby_193/debug.h +0 -41
  18. data/ext/bindex/ruby_193/dln.h +0 -50
  19. data/ext/bindex/ruby_193/encdb.h +0 -167
  20. data/ext/bindex/ruby_193/eval_intern.h +0 -234
  21. data/ext/bindex/ruby_193/gc.h +0 -99
  22. data/ext/bindex/ruby_193/id.h +0 -177
  23. data/ext/bindex/ruby_193/internal.h +0 -242
  24. data/ext/bindex/ruby_193/iseq.h +0 -126
  25. data/ext/bindex/ruby_193/method.h +0 -105
  26. data/ext/bindex/ruby_193/node.h +0 -504
  27. data/ext/bindex/ruby_193/parse.h +0 -302
  28. data/ext/bindex/ruby_193/probes.h +0 -369
  29. data/ext/bindex/ruby_193/regenc.h +0 -219
  30. data/ext/bindex/ruby_193/regint.h +0 -850
  31. data/ext/bindex/ruby_193/regparse.h +0 -362
  32. data/ext/bindex/ruby_193/revision.h +0 -1
  33. data/ext/bindex/ruby_193/ruby_atomic.h +0 -175
  34. data/ext/bindex/ruby_193/siphash.h +0 -48
  35. data/ext/bindex/ruby_193/thread_pthread.h +0 -51
  36. data/ext/bindex/ruby_193/thread_win32.h +0 -40
  37. data/ext/bindex/ruby_193/timev.h +0 -21
  38. data/ext/bindex/ruby_193/transcode_data.h +0 -117
  39. data/ext/bindex/ruby_193/transdb.h +0 -186
  40. data/ext/bindex/ruby_193/verconf.h +0 -12
  41. data/ext/bindex/ruby_193/version.h +0 -52
  42. data/ext/bindex/ruby_193/vm_core.h +0 -763
  43. data/ext/bindex/ruby_193/vm_exec.h +0 -184
  44. data/ext/bindex/ruby_193/vm_insnhelper.h +0 -220
  45. data/ext/bindex/ruby_193/vm_opts.h +0 -51
  46. data/ext/bindex/ruby_20.h +0 -142
  47. data/ext/bindex/ruby_20/addr2line.h +0 -21
  48. data/ext/bindex/ruby_20/constant.h +0 -36
  49. data/ext/bindex/ruby_20/dln.h +0 -50
  50. data/ext/bindex/ruby_20/encdb.h +0 -169
  51. data/ext/bindex/ruby_20/eval_intern.h +0 -241
  52. data/ext/bindex/ruby_20/gc.h +0 -104
  53. data/ext/bindex/ruby_20/id.h +0 -135
  54. data/ext/bindex/ruby_20/internal.h +0 -395
  55. data/ext/bindex/ruby_20/iseq.h +0 -140
  56. data/ext/bindex/ruby_20/method.h +0 -138
  57. data/ext/bindex/ruby_20/node.h +0 -541
  58. data/ext/bindex/ruby_20/parse.h +0 -292
  59. data/ext/bindex/ruby_20/probes.h +0 -369
  60. data/ext/bindex/ruby_20/probes_helper.h +0 -67
  61. data/ext/bindex/ruby_20/regenc.h +0 -227
  62. data/ext/bindex/ruby_20/regint.h +0 -915
  63. data/ext/bindex/ruby_20/regparse.h +0 -367
  64. data/ext/bindex/ruby_20/revision.h +0 -1
  65. data/ext/bindex/ruby_20/ruby_atomic.h +0 -170
  66. data/ext/bindex/ruby_20/siphash.h +0 -48
  67. data/ext/bindex/ruby_20/thread_pthread.h +0 -56
  68. data/ext/bindex/ruby_20/thread_win32.h +0 -45
  69. data/ext/bindex/ruby_20/timev.h +0 -21
  70. data/ext/bindex/ruby_20/transcode_data.h +0 -127
  71. data/ext/bindex/ruby_20/transdb.h +0 -190
  72. data/ext/bindex/ruby_20/verconf.h +0 -12
  73. data/ext/bindex/ruby_20/version.h +0 -52
  74. data/ext/bindex/ruby_20/vm_core.h +0 -1018
  75. data/ext/bindex/ruby_20/vm_debug.h +0 -41
  76. data/ext/bindex/ruby_20/vm_exec.h +0 -173
  77. data/ext/bindex/ruby_20/vm_insnhelper.h +0 -274
  78. data/ext/bindex/ruby_20/vm_opts.h +0 -56
  79. data/ext/bindex/ruby_21.h +0 -142
  80. data/ext/bindex/ruby_21/addr2line.h +0 -21
  81. data/ext/bindex/ruby_21/constant.h +0 -36
  82. data/ext/bindex/ruby_21/dln.h +0 -51
  83. data/ext/bindex/ruby_21/encdb.h +0 -170
  84. data/ext/bindex/ruby_21/eval_intern.h +0 -260
  85. data/ext/bindex/ruby_21/gc.h +0 -101
  86. data/ext/bindex/ruby_21/id.h +0 -210
  87. data/ext/bindex/ruby_21/internal.h +0 -889
  88. data/ext/bindex/ruby_21/iseq.h +0 -136
  89. data/ext/bindex/ruby_21/method.h +0 -142
  90. data/ext/bindex/ruby_21/node.h +0 -543
  91. data/ext/bindex/ruby_21/parse.h +0 -298
  92. data/ext/bindex/ruby_21/probes.h +0 -401
  93. data/ext/bindex/ruby_21/probes_helper.h +0 -67
  94. data/ext/bindex/ruby_21/regenc.h +0 -223
  95. data/ext/bindex/ruby_21/regint.h +0 -911
  96. data/ext/bindex/ruby_21/regparse.h +0 -363
  97. data/ext/bindex/ruby_21/revision.h +0 -1
  98. data/ext/bindex/ruby_21/ruby_atomic.h +0 -170
  99. data/ext/bindex/ruby_21/siphash.h +0 -48
  100. data/ext/bindex/ruby_21/thread_native.h +0 -23
  101. data/ext/bindex/ruby_21/thread_pthread.h +0 -56
  102. data/ext/bindex/ruby_21/thread_win32.h +0 -45
  103. data/ext/bindex/ruby_21/timev.h +0 -42
  104. data/ext/bindex/ruby_21/transcode_data.h +0 -123
  105. data/ext/bindex/ruby_21/transdb.h +0 -190
  106. data/ext/bindex/ruby_21/verconf.h +0 -13
  107. data/ext/bindex/ruby_21/version.h +0 -52
  108. data/ext/bindex/ruby_21/vm_core.h +0 -1043
  109. data/ext/bindex/ruby_21/vm_debug.h +0 -37
  110. data/ext/bindex/ruby_21/vm_exec.h +0 -182
  111. data/ext/bindex/ruby_21/vm_insnhelper.h +0 -273
  112. data/ext/bindex/ruby_21/vm_opts.h +0 -56
  113. data/ext/bindex/ruby_21preview.h +0 -146
  114. data/ext/bindex/ruby_21preview/addr2line.h +0 -21
  115. data/ext/bindex/ruby_21preview/constant.h +0 -36
  116. data/ext/bindex/ruby_21preview/dln.h +0 -51
  117. data/ext/bindex/ruby_21preview/encdb.h +0 -270
  118. data/ext/bindex/ruby_21preview/eval_intern.h +0 -217
  119. data/ext/bindex/ruby_21preview/gc.h +0 -100
  120. data/ext/bindex/ruby_21preview/id.h +0 -169
  121. data/ext/bindex/ruby_21preview/internal.h +0 -765
  122. data/ext/bindex/ruby_21preview/iseq.h +0 -136
  123. data/ext/bindex/ruby_21preview/method.h +0 -141
  124. data/ext/bindex/ruby_21preview/node.h +0 -543
  125. data/ext/bindex/ruby_21preview/parse.h +0 -298
  126. data/ext/bindex/ruby_21preview/probes.h +0 -385
  127. data/ext/bindex/ruby_21preview/probes_helper.h +0 -67
  128. data/ext/bindex/ruby_21preview/regenc.h +0 -223
  129. data/ext/bindex/ruby_21preview/regint.h +0 -911
  130. data/ext/bindex/ruby_21preview/regparse.h +0 -363
  131. data/ext/bindex/ruby_21preview/revision.h +0 -1
  132. data/ext/bindex/ruby_21preview/ruby_atomic.h +0 -130
  133. data/ext/bindex/ruby_21preview/siphash.h +0 -48
  134. data/ext/bindex/ruby_21preview/thread_native.h +0 -23
  135. data/ext/bindex/ruby_21preview/thread_pthread.h +0 -56
  136. data/ext/bindex/ruby_21preview/thread_win32.h +0 -45
  137. data/ext/bindex/ruby_21preview/timev.h +0 -42
  138. data/ext/bindex/ruby_21preview/transcode_data.h +0 -123
  139. data/ext/bindex/ruby_21preview/transdb.h +0 -190
  140. data/ext/bindex/ruby_21preview/verconf.h +0 -13
  141. data/ext/bindex/ruby_21preview/version.h +0 -53
  142. data/ext/bindex/ruby_21preview/vm_core.h +0 -1017
  143. data/ext/bindex/ruby_21preview/vm_debug.h +0 -37
  144. data/ext/bindex/ruby_21preview/vm_exec.h +0 -180
  145. data/ext/bindex/ruby_21preview/vm_insnhelper.h +0 -272
  146. data/ext/bindex/ruby_21preview/vm_opts.h +0 -56
@@ -1,260 +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 = rb_vm_control_frame_block_ptr(th->cfp); \
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
- # ifdef HAVE_CRT_EXTERNS_H
32
- # include <crt_externs.h>
33
- # else
34
- # include "missing/crt_externs.h"
35
- # endif
36
- #endif
37
-
38
- #ifndef HAVE_STRING_H
39
- char *strrchr(const char *, const char);
40
- #endif
41
-
42
- #ifdef HAVE_UNISTD_H
43
- #include <unistd.h>
44
- #endif
45
-
46
- #ifdef HAVE_NET_SOCKET_H
47
- #include <net/socket.h>
48
- #endif
49
-
50
- #define ruby_setjmp(env) RUBY_SETJMP(env)
51
- #define ruby_longjmp(env,val) RUBY_LONGJMP((env),(val))
52
- #ifdef __CYGWIN__
53
- # ifndef _setjmp
54
- int _setjmp(jmp_buf);
55
- # endif
56
- # ifndef _longjmp
57
- NORETURN(void _longjmp(jmp_buf, int));
58
- # endif
59
- #endif
60
-
61
- #include <sys/types.h>
62
- #include <signal.h>
63
- #include <errno.h>
64
-
65
- #ifdef HAVE_SYS_SELECT_H
66
- #include <sys/select.h>
67
- #endif
68
-
69
- /*
70
- Solaris sys/select.h switches select to select_large_fdset to support larger
71
- file descriptors if FD_SETSIZE is larger than 1024 on 32bit environment.
72
- But Ruby doesn't change FD_SETSIZE because fd_set is allocated dynamically.
73
- So following definition is required to use select_large_fdset.
74
- */
75
- #ifdef HAVE_SELECT_LARGE_FDSET
76
- #define select(n, r, w, e, t) select_large_fdset((n), (r), (w), (e), (t))
77
- extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval *);
78
- #endif
79
-
80
- #ifdef HAVE_SYS_PARAM_H
81
- #include <sys/param.h>
82
- #endif
83
-
84
- #include <sys/stat.h>
85
-
86
- #ifdef _MSC_VER
87
- #define SAVE_ROOT_JMPBUF_BEFORE_STMT \
88
- __try {
89
- #define SAVE_ROOT_JMPBUF_AFTER_STMT \
90
- } \
91
- __except (GetExceptionCode() == EXCEPTION_STACK_OVERFLOW ? \
92
- (rb_thread_raised_set(GET_THREAD(), RAISED_STACKOVERFLOW), \
93
- raise(SIGSEGV), \
94
- EXCEPTION_EXECUTE_HANDLER) : \
95
- EXCEPTION_CONTINUE_SEARCH) { \
96
- /* never reaches here */ \
97
- }
98
- #else
99
- #define SAVE_ROOT_JMPBUF_BEFORE_STMT
100
- #define SAVE_ROOT_JMPBUF_AFTER_STMT
101
- #endif
102
-
103
- #define SAVE_ROOT_JMPBUF(th, stmt) do \
104
- if (ruby_setjmp((th)->root_jmpbuf) == 0) { \
105
- SAVE_ROOT_JMPBUF_BEFORE_STMT \
106
- stmt; \
107
- SAVE_ROOT_JMPBUF_AFTER_STMT \
108
- } \
109
- else { \
110
- rb_fiber_start(); \
111
- } while (0)
112
-
113
- #define TH_PUSH_TAG(th) do { \
114
- rb_thread_t * const _th = (th); \
115
- struct rb_vm_tag _tag; \
116
- _tag.tag = 0; \
117
- _tag.prev = _th->tag;
118
-
119
- #define TH_POP_TAG() \
120
- _th->tag = _tag.prev; \
121
- } while (0)
122
-
123
- #define TH_POP_TAG2() \
124
- _th->tag = _tag.prev
125
-
126
- #define TH_PUSH_TAG2() (_th->tag = &_tag, 0)
127
-
128
- #define TH_TMPPOP_TAG() TH_POP_TAG2()
129
-
130
- #define TH_REPUSH_TAG() TH_PUSH_TAG2()
131
-
132
- #define PUSH_TAG() TH_PUSH_TAG(GET_THREAD())
133
- #define POP_TAG() TH_POP_TAG()
134
-
135
- /* clear th->state, and return the value */
136
- static inline int
137
- rb_threadptr_tag_state(rb_thread_t *th)
138
- {
139
- int state = th->state;
140
- th->state = 0;
141
- return state;
142
- }
143
-
144
- NORETURN(static inline void rb_threadptr_tag_jump(rb_thread_t *, int));
145
- static inline void
146
- rb_threadptr_tag_jump(rb_thread_t *th, int st)
147
- {
148
- ruby_longjmp(th->tag->buf, (th->state = st));
149
- }
150
-
151
- /*
152
- setjmp() in assignment expression rhs is undefined behavior
153
- [ISO/IEC 9899:1999] 7.13.1.1
154
- */
155
- #define TH_EXEC_TAG() \
156
- (ruby_setjmp(_tag.buf) ? rb_threadptr_tag_state(_th) : TH_PUSH_TAG2())
157
-
158
- #define EXEC_TAG() \
159
- TH_EXEC_TAG()
160
-
161
- #define TH_JUMP_TAG(th, st) rb_threadptr_tag_jump(th, st)
162
-
163
- #define JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), (st))
164
-
165
- #define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
166
-
167
- enum ruby_tag_type {
168
- RUBY_TAG_RETURN = 0x1,
169
- RUBY_TAG_BREAK = 0x2,
170
- RUBY_TAG_NEXT = 0x3,
171
- RUBY_TAG_RETRY = 0x4,
172
- RUBY_TAG_REDO = 0x5,
173
- RUBY_TAG_RAISE = 0x6,
174
- RUBY_TAG_THROW = 0x7,
175
- RUBY_TAG_FATAL = 0x8,
176
- RUBY_TAG_MASK = 0xf
177
- };
178
- #define TAG_RETURN RUBY_TAG_RETURN
179
- #define TAG_BREAK RUBY_TAG_BREAK
180
- #define TAG_NEXT RUBY_TAG_NEXT
181
- #define TAG_RETRY RUBY_TAG_RETRY
182
- #define TAG_REDO RUBY_TAG_REDO
183
- #define TAG_RAISE RUBY_TAG_RAISE
184
- #define TAG_THROW RUBY_TAG_THROW
185
- #define TAG_FATAL RUBY_TAG_FATAL
186
- #define TAG_MASK RUBY_TAG_MASK
187
-
188
- #define NEW_THROW_OBJECT(val, pt, st) \
189
- ((VALUE)rb_node_newnode(NODE_LIT, (VALUE)(val), (VALUE)(pt), (VALUE)(st)))
190
- #define SET_THROWOBJ_CATCH_POINT(obj, val) \
191
- (RNODE((obj))->u2.value = (val))
192
- #define SET_THROWOBJ_STATE(obj, val) \
193
- (RNODE((obj))->u3.value = (val))
194
-
195
- #define GET_THROWOBJ_VAL(obj) ((VALUE)RNODE((obj))->u1.value)
196
- #define GET_THROWOBJ_CATCH_POINT(obj) ((VALUE*)RNODE((obj))->u2.value)
197
- #define GET_THROWOBJ_STATE(obj) ((int)RNODE((obj))->u3.value)
198
-
199
- #define SCOPE_TEST(f) (rb_vm_cref()->nd_visi & (f))
200
- #define SCOPE_CHECK(f) (rb_vm_cref()->nd_visi == (f))
201
- #define SCOPE_SET(f) (rb_vm_cref()->nd_visi = (f))
202
-
203
- void rb_thread_cleanup(void);
204
- void rb_thread_wait_other_threads(void);
205
-
206
- enum {
207
- RAISED_EXCEPTION = 1,
208
- RAISED_STACKOVERFLOW = 2,
209
- RAISED_NOMEMORY = 4
210
- };
211
- int rb_threadptr_set_raised(rb_thread_t *th);
212
- int rb_threadptr_reset_raised(rb_thread_t *th);
213
- #define rb_thread_raised_set(th, f) ((th)->raised_flag |= (f))
214
- #define rb_thread_raised_reset(th, f) ((th)->raised_flag &= ~(f))
215
- #define rb_thread_raised_p(th, f) (((th)->raised_flag & (f)) != 0)
216
- #define rb_thread_raised_clear(th) ((th)->raised_flag = 0)
217
-
218
- VALUE rb_f_eval(int argc, VALUE *argv, VALUE self);
219
- VALUE rb_make_exception(int argc, VALUE *argv);
220
-
221
- NORETURN(void rb_method_name_error(VALUE, VALUE));
222
-
223
- NORETURN(void rb_fiber_start(void));
224
-
225
- NORETURN(void rb_print_undef(VALUE, ID, int));
226
- NORETURN(void rb_print_undef_str(VALUE, VALUE));
227
- NORETURN(void rb_vm_localjump_error(const char *,VALUE, int));
228
- NORETURN(void rb_vm_jump_tag_but_local_jump(int));
229
- NORETURN(void rb_raise_method_missing(rb_thread_t *th, int argc, VALUE *argv,
230
- VALUE obj, int call_status));
231
-
232
- VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
233
- NODE *rb_vm_cref(void);
234
- VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
235
- void rb_vm_set_progname(VALUE filename);
236
- void rb_thread_terminate_all(void);
237
- VALUE rb_vm_top_self();
238
- VALUE rb_vm_cbase(void);
239
-
240
- #ifndef CharNext /* defined as CharNext[AW] on Windows. */
241
- # ifdef HAVE_MBLEN
242
- # define CharNext(p) ((p) + mblen((p), RUBY_MBCHAR_MAXSIZE))
243
- # else
244
- # define CharNext(p) ((p) + 1)
245
- # endif
246
- #endif
247
-
248
- #if defined DOSISH || defined __CYGWIN__
249
- static inline void
250
- translit_char(char *p, int from, int to)
251
- {
252
- while (*p) {
253
- if ((unsigned char)*p == from)
254
- *p = to;
255
- p = CharNext(p);
256
- }
257
- }
258
- #endif
259
-
260
- #endif /* RUBY_EVAL_INTERN_H */
@@ -1,101 +0,0 @@
1
-
2
- #ifndef RUBY_GC_H
3
- #define RUBY_GC_H 1
4
-
5
- #if defined(__x86_64__) && !defined(_ILP32) && defined(__GNUC__) && !defined(__native_client__)
6
- #define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("movq\t%%rsp, %0" : "=r" (*(p)))
7
- #elif defined(__i386) && defined(__GNUC__) && !defined(__native_client__)
8
- #define SET_MACHINE_STACK_END(p) __asm__ __volatile__ ("movl\t%%esp, %0" : "=r" (*(p)))
9
- #else
10
- NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p));
11
- #define SET_MACHINE_STACK_END(p) rb_gc_set_stack_end(p)
12
- #define USE_CONSERVATIVE_STACK_END
13
- #endif
14
-
15
- /* for GC debug */
16
-
17
- #ifndef RUBY_MARK_FREE_DEBUG
18
- #define RUBY_MARK_FREE_DEBUG 0
19
- #endif
20
-
21
- #if RUBY_MARK_FREE_DEBUG
22
- extern int ruby_gc_debug_indent;
23
-
24
- static inline void
25
- rb_gc_debug_indent(void)
26
- {
27
- printf("%*s", ruby_gc_debug_indent, "");
28
- }
29
-
30
- static inline void
31
- rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr)
32
- {
33
- if (st == 0) {
34
- ruby_gc_debug_indent--;
35
- }
36
- rb_gc_debug_indent();
37
- printf("%s: %s %s (%p)\n", mode, st ? "->" : "<-", msg, ptr);
38
-
39
- if (st) {
40
- ruby_gc_debug_indent++;
41
- }
42
-
43
- fflush(stdout);
44
- }
45
-
46
- #define RUBY_MARK_ENTER(msg) rb_gc_debug_body("mark", (msg), 1, ptr)
47
- #define RUBY_MARK_LEAVE(msg) rb_gc_debug_body("mark", (msg), 0, ptr)
48
- #define RUBY_FREE_ENTER(msg) rb_gc_debug_body("free", (msg), 1, ptr)
49
- #define RUBY_FREE_LEAVE(msg) rb_gc_debug_body("free", (msg), 0, ptr)
50
- #define RUBY_GC_INFO rb_gc_debug_indent(); printf
51
-
52
- #else
53
- #define RUBY_MARK_ENTER(msg)
54
- #define RUBY_MARK_LEAVE(msg)
55
- #define RUBY_FREE_ENTER(msg)
56
- #define RUBY_FREE_LEAVE(msg)
57
- #define RUBY_GC_INFO if(0)printf
58
- #endif
59
-
60
- #define RUBY_MARK_UNLESS_NULL(ptr) if(RTEST(ptr)){rb_gc_mark(ptr);}
61
- #define RUBY_FREE_UNLESS_NULL(ptr) if(ptr){ruby_xfree(ptr);(ptr)=NULL;}
62
-
63
- #if STACK_GROW_DIRECTION > 0
64
- # define STACK_UPPER(x, a, b) (a)
65
- #elif STACK_GROW_DIRECTION < 0
66
- # define STACK_UPPER(x, a, b) (b)
67
- #else
68
- RUBY_EXTERN int ruby_stack_grow_direction;
69
- int ruby_get_stack_grow_direction(volatile VALUE *addr);
70
- # define stack_growup_p(x) ( \
71
- (ruby_stack_grow_direction ? \
72
- ruby_stack_grow_direction : \
73
- ruby_get_stack_grow_direction(x)) > 0)
74
- # define STACK_UPPER(x, a, b) (stack_growup_p(x) ? (a) : (b))
75
- #endif
76
-
77
- #if STACK_GROW_DIRECTION
78
- #define STACK_GROW_DIR_DETECTION
79
- #define STACK_DIR_UPPER(a,b) STACK_UPPER(0, (a), (b))
80
- #else
81
- #define STACK_GROW_DIR_DETECTION VALUE stack_grow_dir_detection
82
- #define STACK_DIR_UPPER(a,b) STACK_UPPER(&stack_grow_dir_detection, (a), (b))
83
- #endif
84
- #define IS_STACK_DIR_UPPER() STACK_DIR_UPPER(1,0)
85
-
86
- RUBY_SYMBOL_EXPORT_BEGIN
87
-
88
- /* exports for objspace module */
89
- size_t rb_objspace_data_type_memsize(VALUE obj);
90
- void rb_objspace_reachable_objects_from(VALUE obj, void (func)(VALUE, void *), void *data);
91
- void rb_objspace_reachable_objects_from_root(void (func)(const char *category, VALUE, void *), void *data);
92
- int rb_objspace_markable_object_p(VALUE obj);
93
- int rb_objspace_internal_object_p(VALUE obj);
94
-
95
- void rb_objspace_each_objects(
96
- int (*callback)(void *start, void *end, size_t stride, void *data),
97
- void *data);
98
-
99
- RUBY_SYMBOL_EXPORT_END
100
-
101
- #endif /* RUBY_GC_H */
@@ -1,210 +0,0 @@
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 ID2ATTRSET(id) (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)
43
-
44
- #define symIFUNC ID2SYM(idIFUNC)
45
- #define symCFUNC ID2SYM(idCFUNC)
46
-
47
- #define RUBY_TOKEN_DOT2 128
48
- #define RUBY_TOKEN_DOT3 129
49
- #define RUBY_TOKEN_UPLUS 130
50
- #define RUBY_TOKEN_UMINUS 131
51
- #define RUBY_TOKEN_POW 132
52
- #define RUBY_TOKEN_DSTAR 133
53
- #define RUBY_TOKEN_CMP 134
54
- #define RUBY_TOKEN_LSHFT 135
55
- #define RUBY_TOKEN_RSHFT 136
56
- #define RUBY_TOKEN_LEQ 137
57
- #define RUBY_TOKEN_GEQ 138
58
- #define RUBY_TOKEN_EQ 139
59
- #define RUBY_TOKEN_EQQ 140
60
- #define RUBY_TOKEN_NEQ 141
61
- #define RUBY_TOKEN_MATCH 142
62
- #define RUBY_TOKEN_NMATCH 143
63
- #define RUBY_TOKEN_AREF 144
64
- #define RUBY_TOKEN_ASET 145
65
- #define RUBY_TOKEN_COLON2 146
66
- #define RUBY_TOKEN_COLON3 147
67
- #define RUBY_TOKEN_ANDOP 148
68
- #define RUBY_TOKEN_OROP 149
69
- #define RUBY_TOKEN(t) RUBY_TOKEN_##t
70
-
71
- enum ruby_method_ids {
72
- idDot2 = RUBY_TOKEN(DOT2),
73
- idDot3 = RUBY_TOKEN(DOT3),
74
- idUPlus = RUBY_TOKEN(UPLUS),
75
- idUMinus = RUBY_TOKEN(UMINUS),
76
- idPow = RUBY_TOKEN(POW),
77
- idCmp = RUBY_TOKEN(CMP),
78
- idPLUS = '+',
79
- idMINUS = '-',
80
- idMULT = '*',
81
- idDIV = '/',
82
- idMOD = '%',
83
- idLT = '<',
84
- idLTLT = RUBY_TOKEN(LSHFT),
85
- idLE = RUBY_TOKEN(LEQ),
86
- idGT = '>',
87
- idGTGT = RUBY_TOKEN(RSHFT),
88
- idGE = RUBY_TOKEN(GEQ),
89
- idEq = RUBY_TOKEN(EQ),
90
- idEqq = RUBY_TOKEN(EQQ),
91
- idNeq = RUBY_TOKEN(NEQ),
92
- idNot = '!',
93
- idBackquote = '`',
94
- idEqTilde = RUBY_TOKEN(MATCH),
95
- idNeqTilde = RUBY_TOKEN(NMATCH),
96
- idAREF = RUBY_TOKEN(AREF),
97
- idASET = RUBY_TOKEN(ASET),
98
- idCOLON2 = RUBY_TOKEN(COLON2),
99
- idANDOP = RUBY_TOKEN(ANDOP),
100
- idOROP = RUBY_TOKEN(OROP),
101
- tPRESERVED_ID_BEGIN = 149,
102
- idNULL,
103
- idEmptyP,
104
- idEqlP,
105
- idRespond_to,
106
- idRespond_to_missing,
107
- idIFUNC,
108
- idCFUNC,
109
- id_core_set_method_alias,
110
- id_core_set_variable_alias,
111
- id_core_undef_method,
112
- id_core_define_method,
113
- id_core_define_singleton_method,
114
- id_core_set_postexe,
115
- id_core_hash_from_ary,
116
- id_core_hash_merge_ary,
117
- id_core_hash_merge_ptr,
118
- id_core_hash_merge_kwd,
119
- tPRESERVED_ID_END,
120
- tFreeze,
121
- tInspect,
122
- tIntern,
123
- tObject_id,
124
- tConst_missing,
125
- tMethodMissing,
126
- tMethod_added,
127
- tSingleton_method_added,
128
- tMethod_removed,
129
- tSingleton_method_removed,
130
- tMethod_undefined,
131
- tSingleton_method_undefined,
132
- tLength,
133
- tSize,
134
- tGets,
135
- tSucc,
136
- tEach,
137
- tProc,
138
- tLambda,
139
- tSend,
140
- t__send__,
141
- t__attached__,
142
- tInitialize,
143
- tInitialize_copy,
144
- tInitialize_clone,
145
- tInitialize_dup,
146
- tTo_int,
147
- tTo_ary,
148
- tTo_str,
149
- tTo_sym,
150
- tTo_hash,
151
- tTo_proc,
152
- tTo_io,
153
- tTo_a,
154
- tTo_s,
155
- tTo_i,
156
- tBt,
157
- tBt_locations,
158
- tCall,
159
- tMesg,
160
- tException,
161
- tUScore,
162
- tNEXT_ID,
163
- #define TOKEN2LOCALID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL|ID_STATIC_SYM)
164
- TOKEN2LOCALID(Freeze),
165
- TOKEN2LOCALID(Inspect),
166
- TOKEN2LOCALID(Intern),
167
- TOKEN2LOCALID(Object_id),
168
- TOKEN2LOCALID(Const_missing),
169
- TOKEN2LOCALID(MethodMissing),
170
- TOKEN2LOCALID(Method_added),
171
- TOKEN2LOCALID(Singleton_method_added),
172
- TOKEN2LOCALID(Method_removed),
173
- TOKEN2LOCALID(Singleton_method_removed),
174
- TOKEN2LOCALID(Method_undefined),
175
- TOKEN2LOCALID(Singleton_method_undefined),
176
- TOKEN2LOCALID(Length),
177
- TOKEN2LOCALID(Size),
178
- TOKEN2LOCALID(Gets),
179
- TOKEN2LOCALID(Succ),
180
- TOKEN2LOCALID(Each),
181
- TOKEN2LOCALID(Proc),
182
- TOKEN2LOCALID(Lambda),
183
- TOKEN2LOCALID(Send),
184
- TOKEN2LOCALID(__send__),
185
- TOKEN2LOCALID(__attached__),
186
- TOKEN2LOCALID(Initialize),
187
- TOKEN2LOCALID(Initialize_copy),
188
- TOKEN2LOCALID(Initialize_clone),
189
- TOKEN2LOCALID(Initialize_dup),
190
- TOKEN2LOCALID(To_int),
191
- TOKEN2LOCALID(To_ary),
192
- TOKEN2LOCALID(To_str),
193
- TOKEN2LOCALID(To_sym),
194
- TOKEN2LOCALID(To_hash),
195
- TOKEN2LOCALID(To_proc),
196
- TOKEN2LOCALID(To_io),
197
- TOKEN2LOCALID(To_a),
198
- TOKEN2LOCALID(To_s),
199
- TOKEN2LOCALID(To_i),
200
- TOKEN2LOCALID(Bt),
201
- TOKEN2LOCALID(Bt_locations),
202
- TOKEN2LOCALID(Call),
203
- TOKEN2LOCALID(Mesg),
204
- TOKEN2LOCALID(Exception),
205
- TOKEN2LOCALID(UScore),
206
- tLAST_OP_ID = tPRESERVED_ID_END-1,
207
- idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
208
- };
209
-
210
- #endif /* RUBY_ID_H */