bindex 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +48 -0
  4. data/CONTRIBUTING.md +15 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +38 -0
  8. data/Rakefile +48 -0
  9. data/bindex.gemspec +27 -0
  10. data/ext/bindex/bindex.h +11 -0
  11. data/ext/bindex/bindings.c +106 -0
  12. data/ext/bindex/com/gsamokovarov/bindex/BindingBuilder.java.erb +17 -0
  13. data/ext/bindex/com/gsamokovarov/bindex/CurrentBindingsIterator.java +54 -0
  14. data/ext/bindex/com/gsamokovarov/bindex/RubyBindingsCollector.java +34 -0
  15. data/ext/bindex/com/gsamokovarov/bindex/SetExceptionBindingsEventHook.java +21 -0
  16. data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInterfaceException.java +14 -0
  17. data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInternals.java +54 -0
  18. data/ext/bindex/cruby.c +34 -0
  19. data/ext/bindex/extconf.rb +29 -0
  20. data/ext/bindex/ruby_193.h +101 -0
  21. data/ext/bindex/ruby_193/addr2line.h +21 -0
  22. data/ext/bindex/ruby_193/constant.h +34 -0
  23. data/ext/bindex/ruby_193/debug.h +41 -0
  24. data/ext/bindex/ruby_193/dln.h +50 -0
  25. data/ext/bindex/ruby_193/encdb.h +167 -0
  26. data/ext/bindex/ruby_193/eval_intern.h +234 -0
  27. data/ext/bindex/ruby_193/gc.h +99 -0
  28. data/ext/bindex/ruby_193/id.h +177 -0
  29. data/ext/bindex/ruby_193/internal.h +242 -0
  30. data/ext/bindex/ruby_193/iseq.h +126 -0
  31. data/ext/bindex/ruby_193/method.h +105 -0
  32. data/ext/bindex/ruby_193/node.h +504 -0
  33. data/ext/bindex/ruby_193/parse.h +302 -0
  34. data/ext/bindex/ruby_193/probes.h +369 -0
  35. data/ext/bindex/ruby_193/regenc.h +219 -0
  36. data/ext/bindex/ruby_193/regint.h +850 -0
  37. data/ext/bindex/ruby_193/regparse.h +362 -0
  38. data/ext/bindex/ruby_193/revision.h +1 -0
  39. data/ext/bindex/ruby_193/ruby_atomic.h +175 -0
  40. data/ext/bindex/ruby_193/siphash.h +48 -0
  41. data/ext/bindex/ruby_193/thread_pthread.h +51 -0
  42. data/ext/bindex/ruby_193/thread_win32.h +40 -0
  43. data/ext/bindex/ruby_193/timev.h +21 -0
  44. data/ext/bindex/ruby_193/transcode_data.h +117 -0
  45. data/ext/bindex/ruby_193/transdb.h +186 -0
  46. data/ext/bindex/ruby_193/verconf.h +12 -0
  47. data/ext/bindex/ruby_193/version.h +52 -0
  48. data/ext/bindex/ruby_193/vm_core.h +763 -0
  49. data/ext/bindex/ruby_193/vm_exec.h +184 -0
  50. data/ext/bindex/ruby_193/vm_insnhelper.h +220 -0
  51. data/ext/bindex/ruby_193/vm_opts.h +51 -0
  52. data/ext/bindex/ruby_20.h +142 -0
  53. data/ext/bindex/ruby_20/addr2line.h +21 -0
  54. data/ext/bindex/ruby_20/constant.h +36 -0
  55. data/ext/bindex/ruby_20/dln.h +50 -0
  56. data/ext/bindex/ruby_20/encdb.h +169 -0
  57. data/ext/bindex/ruby_20/eval_intern.h +241 -0
  58. data/ext/bindex/ruby_20/gc.h +104 -0
  59. data/ext/bindex/ruby_20/id.h +135 -0
  60. data/ext/bindex/ruby_20/internal.h +395 -0
  61. data/ext/bindex/ruby_20/iseq.h +140 -0
  62. data/ext/bindex/ruby_20/method.h +138 -0
  63. data/ext/bindex/ruby_20/node.h +541 -0
  64. data/ext/bindex/ruby_20/parse.h +292 -0
  65. data/ext/bindex/ruby_20/probes.h +369 -0
  66. data/ext/bindex/ruby_20/probes_helper.h +67 -0
  67. data/ext/bindex/ruby_20/regenc.h +227 -0
  68. data/ext/bindex/ruby_20/regint.h +915 -0
  69. data/ext/bindex/ruby_20/regparse.h +367 -0
  70. data/ext/bindex/ruby_20/revision.h +1 -0
  71. data/ext/bindex/ruby_20/ruby_atomic.h +170 -0
  72. data/ext/bindex/ruby_20/siphash.h +48 -0
  73. data/ext/bindex/ruby_20/thread_pthread.h +56 -0
  74. data/ext/bindex/ruby_20/thread_win32.h +45 -0
  75. data/ext/bindex/ruby_20/timev.h +21 -0
  76. data/ext/bindex/ruby_20/transcode_data.h +127 -0
  77. data/ext/bindex/ruby_20/transdb.h +190 -0
  78. data/ext/bindex/ruby_20/verconf.h +12 -0
  79. data/ext/bindex/ruby_20/version.h +52 -0
  80. data/ext/bindex/ruby_20/vm_core.h +1018 -0
  81. data/ext/bindex/ruby_20/vm_debug.h +41 -0
  82. data/ext/bindex/ruby_20/vm_exec.h +173 -0
  83. data/ext/bindex/ruby_20/vm_insnhelper.h +274 -0
  84. data/ext/bindex/ruby_20/vm_opts.h +56 -0
  85. data/ext/bindex/ruby_21.h +142 -0
  86. data/ext/bindex/ruby_21/addr2line.h +21 -0
  87. data/ext/bindex/ruby_21/constant.h +36 -0
  88. data/ext/bindex/ruby_21/dln.h +51 -0
  89. data/ext/bindex/ruby_21/encdb.h +170 -0
  90. data/ext/bindex/ruby_21/eval_intern.h +260 -0
  91. data/ext/bindex/ruby_21/gc.h +101 -0
  92. data/ext/bindex/ruby_21/id.h +210 -0
  93. data/ext/bindex/ruby_21/internal.h +889 -0
  94. data/ext/bindex/ruby_21/iseq.h +136 -0
  95. data/ext/bindex/ruby_21/method.h +142 -0
  96. data/ext/bindex/ruby_21/node.h +543 -0
  97. data/ext/bindex/ruby_21/parse.h +298 -0
  98. data/ext/bindex/ruby_21/probes.h +401 -0
  99. data/ext/bindex/ruby_21/probes_helper.h +67 -0
  100. data/ext/bindex/ruby_21/regenc.h +223 -0
  101. data/ext/bindex/ruby_21/regint.h +911 -0
  102. data/ext/bindex/ruby_21/regparse.h +363 -0
  103. data/ext/bindex/ruby_21/revision.h +1 -0
  104. data/ext/bindex/ruby_21/ruby_atomic.h +170 -0
  105. data/ext/bindex/ruby_21/siphash.h +48 -0
  106. data/ext/bindex/ruby_21/thread_native.h +23 -0
  107. data/ext/bindex/ruby_21/thread_pthread.h +56 -0
  108. data/ext/bindex/ruby_21/thread_win32.h +45 -0
  109. data/ext/bindex/ruby_21/timev.h +42 -0
  110. data/ext/bindex/ruby_21/transcode_data.h +123 -0
  111. data/ext/bindex/ruby_21/transdb.h +190 -0
  112. data/ext/bindex/ruby_21/verconf.h +13 -0
  113. data/ext/bindex/ruby_21/version.h +52 -0
  114. data/ext/bindex/ruby_21/vm_core.h +1043 -0
  115. data/ext/bindex/ruby_21/vm_debug.h +37 -0
  116. data/ext/bindex/ruby_21/vm_exec.h +182 -0
  117. data/ext/bindex/ruby_21/vm_insnhelper.h +273 -0
  118. data/ext/bindex/ruby_21/vm_opts.h +56 -0
  119. data/ext/bindex/ruby_21preview.h +146 -0
  120. data/ext/bindex/ruby_21preview/addr2line.h +21 -0
  121. data/ext/bindex/ruby_21preview/constant.h +36 -0
  122. data/ext/bindex/ruby_21preview/dln.h +51 -0
  123. data/ext/bindex/ruby_21preview/encdb.h +270 -0
  124. data/ext/bindex/ruby_21preview/eval_intern.h +217 -0
  125. data/ext/bindex/ruby_21preview/gc.h +100 -0
  126. data/ext/bindex/ruby_21preview/id.h +169 -0
  127. data/ext/bindex/ruby_21preview/internal.h +765 -0
  128. data/ext/bindex/ruby_21preview/iseq.h +136 -0
  129. data/ext/bindex/ruby_21preview/method.h +141 -0
  130. data/ext/bindex/ruby_21preview/node.h +543 -0
  131. data/ext/bindex/ruby_21preview/parse.h +298 -0
  132. data/ext/bindex/ruby_21preview/probes.h +385 -0
  133. data/ext/bindex/ruby_21preview/probes_helper.h +67 -0
  134. data/ext/bindex/ruby_21preview/regenc.h +223 -0
  135. data/ext/bindex/ruby_21preview/regint.h +911 -0
  136. data/ext/bindex/ruby_21preview/regparse.h +363 -0
  137. data/ext/bindex/ruby_21preview/revision.h +1 -0
  138. data/ext/bindex/ruby_21preview/ruby_atomic.h +130 -0
  139. data/ext/bindex/ruby_21preview/siphash.h +48 -0
  140. data/ext/bindex/ruby_21preview/thread_native.h +23 -0
  141. data/ext/bindex/ruby_21preview/thread_pthread.h +56 -0
  142. data/ext/bindex/ruby_21preview/thread_win32.h +45 -0
  143. data/ext/bindex/ruby_21preview/timev.h +42 -0
  144. data/ext/bindex/ruby_21preview/transcode_data.h +123 -0
  145. data/ext/bindex/ruby_21preview/transdb.h +190 -0
  146. data/ext/bindex/ruby_21preview/verconf.h +13 -0
  147. data/ext/bindex/ruby_21preview/version.h +53 -0
  148. data/ext/bindex/ruby_21preview/vm_core.h +1017 -0
  149. data/ext/bindex/ruby_21preview/vm_debug.h +37 -0
  150. data/ext/bindex/ruby_21preview/vm_exec.h +180 -0
  151. data/ext/bindex/ruby_21preview/vm_insnhelper.h +272 -0
  152. data/ext/bindex/ruby_21preview/vm_opts.h +56 -0
  153. data/lib/bindex.rb +10 -0
  154. data/lib/bindex/jruby.rb +20 -0
  155. data/lib/bindex/jruby_internals.jar +0 -0
  156. data/lib/bindex/jruby_internals_9k.jar +0 -0
  157. data/lib/bindex/rubinius.rb +56 -0
  158. data/lib/bindex/version.rb +3 -0
  159. data/test/exception_test.rb +45 -0
  160. data/test/fixtures/basic_nested_fixture.rb +13 -0
  161. data/test/fixtures/custom_error_fixture.rb +9 -0
  162. data/test/fixtures/eval_nested_fixture.rb +13 -0
  163. data/test/fixtures/flat_fixture.rb +7 -0
  164. data/test/test_helper.rb +17 -0
  165. metadata +270 -0
@@ -0,0 +1,292 @@
1
+ /* A Bison parser, made by GNU Bison 2.3. */
2
+
3
+ /* Skeleton interface for Bison's Yacc-like parsers in C
4
+
5
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6
+ Free Software Foundation, Inc.
7
+
8
+ This program is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 2, or (at your option)
11
+ any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
+ Boston, MA 02110-1301, USA. */
22
+
23
+ /* As a special exception, you may create a larger work that contains
24
+ part or all of the Bison parser skeleton and distribute that work
25
+ under terms of your choice, so long as that work isn't itself a
26
+ parser generator using the skeleton or a modified version thereof
27
+ as a parser skeleton. Alternatively, if you modify or redistribute
28
+ the parser skeleton itself, you may (at your option) remove this
29
+ special exception, which will cause the skeleton and the resulting
30
+ Bison output files to be licensed under the GNU General Public
31
+ License without this special exception.
32
+
33
+ This special exception was added by the Free Software Foundation in
34
+ version 2.2 of Bison. */
35
+
36
+ /* Tokens. */
37
+ #ifndef YYTOKENTYPE
38
+ # define YYTOKENTYPE
39
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
40
+ know about them. */
41
+ enum yytokentype {
42
+ END_OF_INPUT = 0,
43
+ keyword_class = 258,
44
+ keyword_module = 259,
45
+ keyword_def = 260,
46
+ keyword_undef = 261,
47
+ keyword_begin = 262,
48
+ keyword_rescue = 263,
49
+ keyword_ensure = 264,
50
+ keyword_end = 265,
51
+ keyword_if = 266,
52
+ keyword_unless = 267,
53
+ keyword_then = 268,
54
+ keyword_elsif = 269,
55
+ keyword_else = 270,
56
+ keyword_case = 271,
57
+ keyword_when = 272,
58
+ keyword_while = 273,
59
+ keyword_until = 274,
60
+ keyword_for = 275,
61
+ keyword_break = 276,
62
+ keyword_next = 277,
63
+ keyword_redo = 278,
64
+ keyword_retry = 279,
65
+ keyword_in = 280,
66
+ keyword_do = 281,
67
+ keyword_do_cond = 282,
68
+ keyword_do_block = 283,
69
+ keyword_do_LAMBDA = 284,
70
+ keyword_return = 285,
71
+ keyword_yield = 286,
72
+ keyword_super = 287,
73
+ keyword_self = 288,
74
+ keyword_nil = 289,
75
+ keyword_true = 290,
76
+ keyword_false = 291,
77
+ keyword_and = 292,
78
+ keyword_or = 293,
79
+ keyword_not = 294,
80
+ modifier_if = 295,
81
+ modifier_unless = 296,
82
+ modifier_while = 297,
83
+ modifier_until = 298,
84
+ modifier_rescue = 299,
85
+ keyword_alias = 300,
86
+ keyword_defined = 301,
87
+ keyword_BEGIN = 302,
88
+ keyword_END = 303,
89
+ keyword__LINE__ = 304,
90
+ keyword__FILE__ = 305,
91
+ keyword__ENCODING__ = 306,
92
+ tIDENTIFIER = 307,
93
+ tFID = 308,
94
+ tGVAR = 309,
95
+ tIVAR = 310,
96
+ tCONSTANT = 311,
97
+ tCVAR = 312,
98
+ tLABEL = 313,
99
+ tINTEGER = 314,
100
+ tFLOAT = 315,
101
+ tSTRING_CONTENT = 316,
102
+ tCHAR = 317,
103
+ tNTH_REF = 318,
104
+ tBACK_REF = 319,
105
+ tREGEXP_END = 320,
106
+ tUPLUS = 130,
107
+ tUMINUS = 131,
108
+ tPOW = 132,
109
+ tCMP = 134,
110
+ tEQ = 139,
111
+ tEQQ = 140,
112
+ tNEQ = 141,
113
+ tGEQ = 138,
114
+ tLEQ = 137,
115
+ tANDOP = 321,
116
+ tOROP = 322,
117
+ tMATCH = 142,
118
+ tNMATCH = 143,
119
+ tDOT2 = 128,
120
+ tDOT3 = 129,
121
+ tAREF = 144,
122
+ tASET = 145,
123
+ tLSHFT = 135,
124
+ tRSHFT = 136,
125
+ tCOLON2 = 323,
126
+ tCOLON3 = 324,
127
+ tOP_ASGN = 325,
128
+ tASSOC = 326,
129
+ tLPAREN = 327,
130
+ tLPAREN_ARG = 328,
131
+ tRPAREN = 329,
132
+ tLBRACK = 330,
133
+ tLBRACE = 331,
134
+ tLBRACE_ARG = 332,
135
+ tSTAR = 333,
136
+ tDSTAR = 334,
137
+ tAMPER = 335,
138
+ tLAMBDA = 336,
139
+ tSYMBEG = 337,
140
+ tSTRING_BEG = 338,
141
+ tXSTRING_BEG = 339,
142
+ tREGEXP_BEG = 340,
143
+ tWORDS_BEG = 341,
144
+ tQWORDS_BEG = 342,
145
+ tSYMBOLS_BEG = 343,
146
+ tQSYMBOLS_BEG = 344,
147
+ tSTRING_DBEG = 345,
148
+ tSTRING_DEND = 346,
149
+ tSTRING_DVAR = 347,
150
+ tSTRING_END = 348,
151
+ tLAMBEG = 349,
152
+ tLOWEST = 350,
153
+ tUMINUS_NUM = 351,
154
+ tLAST_TOKEN = 352
155
+ };
156
+ #endif
157
+ /* Tokens. */
158
+ #define END_OF_INPUT 0
159
+ #define keyword_class 258
160
+ #define keyword_module 259
161
+ #define keyword_def 260
162
+ #define keyword_undef 261
163
+ #define keyword_begin 262
164
+ #define keyword_rescue 263
165
+ #define keyword_ensure 264
166
+ #define keyword_end 265
167
+ #define keyword_if 266
168
+ #define keyword_unless 267
169
+ #define keyword_then 268
170
+ #define keyword_elsif 269
171
+ #define keyword_else 270
172
+ #define keyword_case 271
173
+ #define keyword_when 272
174
+ #define keyword_while 273
175
+ #define keyword_until 274
176
+ #define keyword_for 275
177
+ #define keyword_break 276
178
+ #define keyword_next 277
179
+ #define keyword_redo 278
180
+ #define keyword_retry 279
181
+ #define keyword_in 280
182
+ #define keyword_do 281
183
+ #define keyword_do_cond 282
184
+ #define keyword_do_block 283
185
+ #define keyword_do_LAMBDA 284
186
+ #define keyword_return 285
187
+ #define keyword_yield 286
188
+ #define keyword_super 287
189
+ #define keyword_self 288
190
+ #define keyword_nil 289
191
+ #define keyword_true 290
192
+ #define keyword_false 291
193
+ #define keyword_and 292
194
+ #define keyword_or 293
195
+ #define keyword_not 294
196
+ #define modifier_if 295
197
+ #define modifier_unless 296
198
+ #define modifier_while 297
199
+ #define modifier_until 298
200
+ #define modifier_rescue 299
201
+ #define keyword_alias 300
202
+ #define keyword_defined 301
203
+ #define keyword_BEGIN 302
204
+ #define keyword_END 303
205
+ #define keyword__LINE__ 304
206
+ #define keyword__FILE__ 305
207
+ #define keyword__ENCODING__ 306
208
+ #define tIDENTIFIER 307
209
+ #define tFID 308
210
+ #define tGVAR 309
211
+ #define tIVAR 310
212
+ #define tCONSTANT 311
213
+ #define tCVAR 312
214
+ #define tLABEL 313
215
+ #define tINTEGER 314
216
+ #define tFLOAT 315
217
+ #define tSTRING_CONTENT 316
218
+ #define tCHAR 317
219
+ #define tNTH_REF 318
220
+ #define tBACK_REF 319
221
+ #define tREGEXP_END 320
222
+ #define tUPLUS 130
223
+ #define tUMINUS 131
224
+ #define tPOW 132
225
+ #define tCMP 134
226
+ #define tEQ 139
227
+ #define tEQQ 140
228
+ #define tNEQ 141
229
+ #define tGEQ 138
230
+ #define tLEQ 137
231
+ #define tANDOP 321
232
+ #define tOROP 322
233
+ #define tMATCH 142
234
+ #define tNMATCH 143
235
+ #define tDOT2 128
236
+ #define tDOT3 129
237
+ #define tAREF 144
238
+ #define tASET 145
239
+ #define tLSHFT 135
240
+ #define tRSHFT 136
241
+ #define tCOLON2 323
242
+ #define tCOLON3 324
243
+ #define tOP_ASGN 325
244
+ #define tASSOC 326
245
+ #define tLPAREN 327
246
+ #define tLPAREN_ARG 328
247
+ #define tRPAREN 329
248
+ #define tLBRACK 330
249
+ #define tLBRACE 331
250
+ #define tLBRACE_ARG 332
251
+ #define tSTAR 333
252
+ #define tDSTAR 334
253
+ #define tAMPER 335
254
+ #define tLAMBDA 336
255
+ #define tSYMBEG 337
256
+ #define tSTRING_BEG 338
257
+ #define tXSTRING_BEG 339
258
+ #define tREGEXP_BEG 340
259
+ #define tWORDS_BEG 341
260
+ #define tQWORDS_BEG 342
261
+ #define tSYMBOLS_BEG 343
262
+ #define tQSYMBOLS_BEG 344
263
+ #define tSTRING_DBEG 345
264
+ #define tSTRING_DEND 346
265
+ #define tSTRING_DVAR 347
266
+ #define tSTRING_END 348
267
+ #define tLAMBEG 349
268
+ #define tLOWEST 350
269
+ #define tUMINUS_NUM 351
270
+ #define tLAST_TOKEN 352
271
+
272
+
273
+
274
+
275
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
276
+ typedef union YYSTYPE
277
+ {
278
+ VALUE val;
279
+ NODE *node;
280
+ ID id;
281
+ int num;
282
+ const struct vtable *vars;
283
+ }
284
+ /* Line 1529 of yacc.c. */
285
+ YYSTYPE;
286
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
287
+ # define YYSTYPE_IS_DECLARED 1
288
+ # define YYSTYPE_IS_TRIVIAL 1
289
+ #endif
290
+
291
+
292
+
@@ -0,0 +1,369 @@
1
+ /*
2
+ * Generated by dtrace(1M).
3
+ */
4
+
5
+ #ifndef _PROBES_H
6
+ #define _PROBES_H
7
+
8
+ #include <unistd.h>
9
+
10
+ #ifdef __cplusplus
11
+ extern "C" {
12
+ #endif
13
+
14
+ #define RUBY_DTRACE_STABILITY "___dtrace_stability$ruby$v1$6_5_5_6_5_5_6_5_5_5_5_5_5_5_5"
15
+
16
+ #define RUBY_DTRACE_TYPEDEFS "___dtrace_typedefs$ruby$v2"
17
+
18
+ #if !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED
19
+
20
+ #define RUBY_DTRACE_ARRAY_CREATE(arg0, arg1, arg2) \
21
+ do { \
22
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
23
+ __dtrace_probe$ruby$array__create$v1$6c6f6e67$63686172202a$696e74(arg0, arg1, arg2); \
24
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
25
+ } while (0)
26
+ #define RUBY_DTRACE_ARRAY_CREATE_ENABLED() \
27
+ ({ int _r = __dtrace_isenabled$ruby$array__create$v1(); \
28
+ __asm__ volatile(""); \
29
+ _r; })
30
+ #define RUBY_DTRACE_CMETHOD_ENTRY(arg0, arg1, arg2, arg3) \
31
+ do { \
32
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
33
+ __dtrace_probe$ruby$cmethod__entry$v1$63686172202a$63686172202a$63686172202a$696e74(arg0, arg1, arg2, arg3); \
34
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
35
+ } while (0)
36
+ #define RUBY_DTRACE_CMETHOD_ENTRY_ENABLED() \
37
+ ({ int _r = __dtrace_isenabled$ruby$cmethod__entry$v1(); \
38
+ __asm__ volatile(""); \
39
+ _r; })
40
+ #define RUBY_DTRACE_CMETHOD_RETURN(arg0, arg1, arg2, arg3) \
41
+ do { \
42
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
43
+ __dtrace_probe$ruby$cmethod__return$v1$63686172202a$63686172202a$63686172202a$696e74(arg0, arg1, arg2, arg3); \
44
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
45
+ } while (0)
46
+ #define RUBY_DTRACE_CMETHOD_RETURN_ENABLED() \
47
+ ({ int _r = __dtrace_isenabled$ruby$cmethod__return$v1(); \
48
+ __asm__ volatile(""); \
49
+ _r; })
50
+ #define RUBY_DTRACE_FIND_REQUIRE_ENTRY(arg0, arg1, arg2) \
51
+ do { \
52
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
53
+ __dtrace_probe$ruby$find__require__entry$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
54
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
55
+ } while (0)
56
+ #define RUBY_DTRACE_FIND_REQUIRE_ENTRY_ENABLED() \
57
+ ({ int _r = __dtrace_isenabled$ruby$find__require__entry$v1(); \
58
+ __asm__ volatile(""); \
59
+ _r; })
60
+ #define RUBY_DTRACE_FIND_REQUIRE_RETURN(arg0, arg1, arg2) \
61
+ do { \
62
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
63
+ __dtrace_probe$ruby$find__require__return$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
64
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
65
+ } while (0)
66
+ #define RUBY_DTRACE_FIND_REQUIRE_RETURN_ENABLED() \
67
+ ({ int _r = __dtrace_isenabled$ruby$find__require__return$v1(); \
68
+ __asm__ volatile(""); \
69
+ _r; })
70
+ #define RUBY_DTRACE_GC_MARK_BEGIN() \
71
+ do { \
72
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
73
+ __dtrace_probe$ruby$gc__mark__begin$v1(); \
74
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
75
+ } while (0)
76
+ #define RUBY_DTRACE_GC_MARK_BEGIN_ENABLED() \
77
+ ({ int _r = __dtrace_isenabled$ruby$gc__mark__begin$v1(); \
78
+ __asm__ volatile(""); \
79
+ _r; })
80
+ #define RUBY_DTRACE_GC_MARK_END() \
81
+ do { \
82
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
83
+ __dtrace_probe$ruby$gc__mark__end$v1(); \
84
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
85
+ } while (0)
86
+ #define RUBY_DTRACE_GC_MARK_END_ENABLED() \
87
+ ({ int _r = __dtrace_isenabled$ruby$gc__mark__end$v1(); \
88
+ __asm__ volatile(""); \
89
+ _r; })
90
+ #define RUBY_DTRACE_GC_SWEEP_BEGIN() \
91
+ do { \
92
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
93
+ __dtrace_probe$ruby$gc__sweep__begin$v1(); \
94
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
95
+ } while (0)
96
+ #define RUBY_DTRACE_GC_SWEEP_BEGIN_ENABLED() \
97
+ ({ int _r = __dtrace_isenabled$ruby$gc__sweep__begin$v1(); \
98
+ __asm__ volatile(""); \
99
+ _r; })
100
+ #define RUBY_DTRACE_GC_SWEEP_END() \
101
+ do { \
102
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
103
+ __dtrace_probe$ruby$gc__sweep__end$v1(); \
104
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
105
+ } while (0)
106
+ #define RUBY_DTRACE_GC_SWEEP_END_ENABLED() \
107
+ ({ int _r = __dtrace_isenabled$ruby$gc__sweep__end$v1(); \
108
+ __asm__ volatile(""); \
109
+ _r; })
110
+ #define RUBY_DTRACE_HASH_CREATE(arg0, arg1, arg2) \
111
+ do { \
112
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
113
+ __dtrace_probe$ruby$hash__create$v1$6c6f6e67$63686172202a$696e74(arg0, arg1, arg2); \
114
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
115
+ } while (0)
116
+ #define RUBY_DTRACE_HASH_CREATE_ENABLED() \
117
+ ({ int _r = __dtrace_isenabled$ruby$hash__create$v1(); \
118
+ __asm__ volatile(""); \
119
+ _r; })
120
+ #define RUBY_DTRACE_LOAD_ENTRY(arg0, arg1, arg2) \
121
+ do { \
122
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
123
+ __dtrace_probe$ruby$load__entry$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
124
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
125
+ } while (0)
126
+ #define RUBY_DTRACE_LOAD_ENTRY_ENABLED() \
127
+ ({ int _r = __dtrace_isenabled$ruby$load__entry$v1(); \
128
+ __asm__ volatile(""); \
129
+ _r; })
130
+ #define RUBY_DTRACE_LOAD_RETURN(arg0, arg1, arg2) \
131
+ do { \
132
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
133
+ __dtrace_probe$ruby$load__return$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
134
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
135
+ } while (0)
136
+ #define RUBY_DTRACE_LOAD_RETURN_ENABLED() \
137
+ ({ int _r = __dtrace_isenabled$ruby$load__return$v1(); \
138
+ __asm__ volatile(""); \
139
+ _r; })
140
+ #define RUBY_DTRACE_METHOD_ENTRY(arg0, arg1, arg2, arg3) \
141
+ do { \
142
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
143
+ __dtrace_probe$ruby$method__entry$v1$63686172202a$63686172202a$63686172202a$696e74(arg0, arg1, arg2, arg3); \
144
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
145
+ } while (0)
146
+ #define RUBY_DTRACE_METHOD_ENTRY_ENABLED() \
147
+ ({ int _r = __dtrace_isenabled$ruby$method__entry$v1(); \
148
+ __asm__ volatile(""); \
149
+ _r; })
150
+ #define RUBY_DTRACE_METHOD_RETURN(arg0, arg1, arg2, arg3) \
151
+ do { \
152
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
153
+ __dtrace_probe$ruby$method__return$v1$63686172202a$63686172202a$63686172202a$696e74(arg0, arg1, arg2, arg3); \
154
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
155
+ } while (0)
156
+ #define RUBY_DTRACE_METHOD_RETURN_ENABLED() \
157
+ ({ int _r = __dtrace_isenabled$ruby$method__return$v1(); \
158
+ __asm__ volatile(""); \
159
+ _r; })
160
+ #define RUBY_DTRACE_OBJECT_CREATE(arg0, arg1, arg2) \
161
+ do { \
162
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
163
+ __dtrace_probe$ruby$object__create$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
164
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
165
+ } while (0)
166
+ #define RUBY_DTRACE_OBJECT_CREATE_ENABLED() \
167
+ ({ int _r = __dtrace_isenabled$ruby$object__create$v1(); \
168
+ __asm__ volatile(""); \
169
+ _r; })
170
+ #define RUBY_DTRACE_PARSE_BEGIN(arg0, arg1) \
171
+ do { \
172
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
173
+ __dtrace_probe$ruby$parse__begin$v1$63686172202a$696e74(arg0, arg1); \
174
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
175
+ } while (0)
176
+ #define RUBY_DTRACE_PARSE_BEGIN_ENABLED() \
177
+ ({ int _r = __dtrace_isenabled$ruby$parse__begin$v1(); \
178
+ __asm__ volatile(""); \
179
+ _r; })
180
+ #define RUBY_DTRACE_PARSE_END(arg0, arg1) \
181
+ do { \
182
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
183
+ __dtrace_probe$ruby$parse__end$v1$63686172202a$696e74(arg0, arg1); \
184
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
185
+ } while (0)
186
+ #define RUBY_DTRACE_PARSE_END_ENABLED() \
187
+ ({ int _r = __dtrace_isenabled$ruby$parse__end$v1(); \
188
+ __asm__ volatile(""); \
189
+ _r; })
190
+ #define RUBY_DTRACE_RAISE(arg0, arg1, arg2) \
191
+ do { \
192
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
193
+ __dtrace_probe$ruby$raise$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
194
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
195
+ } while (0)
196
+ #define RUBY_DTRACE_RAISE_ENABLED() \
197
+ ({ int _r = __dtrace_isenabled$ruby$raise$v1(); \
198
+ __asm__ volatile(""); \
199
+ _r; })
200
+ #define RUBY_DTRACE_REQUIRE_ENTRY(arg0, arg1, arg2) \
201
+ do { \
202
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
203
+ __dtrace_probe$ruby$require__entry$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
204
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
205
+ } while (0)
206
+ #define RUBY_DTRACE_REQUIRE_ENTRY_ENABLED() \
207
+ ({ int _r = __dtrace_isenabled$ruby$require__entry$v1(); \
208
+ __asm__ volatile(""); \
209
+ _r; })
210
+ #define RUBY_DTRACE_REQUIRE_RETURN(arg0, arg1, arg2) \
211
+ do { \
212
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
213
+ __dtrace_probe$ruby$require__return$v1$63686172202a$63686172202a$696e74(arg0, arg1, arg2); \
214
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
215
+ } while (0)
216
+ #define RUBY_DTRACE_REQUIRE_RETURN_ENABLED() \
217
+ ({ int _r = __dtrace_isenabled$ruby$require__return$v1(); \
218
+ __asm__ volatile(""); \
219
+ _r; })
220
+ #define RUBY_DTRACE_STRING_CREATE(arg0, arg1, arg2) \
221
+ do { \
222
+ __asm__ volatile(".reference " RUBY_DTRACE_TYPEDEFS); \
223
+ __dtrace_probe$ruby$string__create$v1$6c6f6e67$63686172202a$696e74(arg0, arg1, arg2); \
224
+ __asm__ volatile(".reference " RUBY_DTRACE_STABILITY); \
225
+ } while (0)
226
+ #define RUBY_DTRACE_STRING_CREATE_ENABLED() \
227
+ ({ int _r = __dtrace_isenabled$ruby$string__create$v1(); \
228
+ __asm__ volatile(""); \
229
+ _r; })
230
+
231
+
232
+ extern void __dtrace_probe$ruby$array__create$v1$6c6f6e67$63686172202a$696e74(long, const char *, int);
233
+ extern int __dtrace_isenabled$ruby$array__create$v1(void);
234
+ extern void __dtrace_probe$ruby$cmethod__entry$v1$63686172202a$63686172202a$63686172202a$696e74(const char *, const char *, const char *, int);
235
+ extern int __dtrace_isenabled$ruby$cmethod__entry$v1(void);
236
+ extern void __dtrace_probe$ruby$cmethod__return$v1$63686172202a$63686172202a$63686172202a$696e74(const char *, const char *, const char *, int);
237
+ extern int __dtrace_isenabled$ruby$cmethod__return$v1(void);
238
+ extern void __dtrace_probe$ruby$find__require__entry$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
239
+ extern int __dtrace_isenabled$ruby$find__require__entry$v1(void);
240
+ extern void __dtrace_probe$ruby$find__require__return$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
241
+ extern int __dtrace_isenabled$ruby$find__require__return$v1(void);
242
+ extern void __dtrace_probe$ruby$gc__mark__begin$v1(void);
243
+ extern int __dtrace_isenabled$ruby$gc__mark__begin$v1(void);
244
+ extern void __dtrace_probe$ruby$gc__mark__end$v1(void);
245
+ extern int __dtrace_isenabled$ruby$gc__mark__end$v1(void);
246
+ extern void __dtrace_probe$ruby$gc__sweep__begin$v1(void);
247
+ extern int __dtrace_isenabled$ruby$gc__sweep__begin$v1(void);
248
+ extern void __dtrace_probe$ruby$gc__sweep__end$v1(void);
249
+ extern int __dtrace_isenabled$ruby$gc__sweep__end$v1(void);
250
+ extern void __dtrace_probe$ruby$hash__create$v1$6c6f6e67$63686172202a$696e74(long, const char *, int);
251
+ extern int __dtrace_isenabled$ruby$hash__create$v1(void);
252
+ extern void __dtrace_probe$ruby$load__entry$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
253
+ extern int __dtrace_isenabled$ruby$load__entry$v1(void);
254
+ extern void __dtrace_probe$ruby$load__return$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
255
+ extern int __dtrace_isenabled$ruby$load__return$v1(void);
256
+ extern void __dtrace_probe$ruby$method__entry$v1$63686172202a$63686172202a$63686172202a$696e74(const char *, const char *, const char *, int);
257
+ extern int __dtrace_isenabled$ruby$method__entry$v1(void);
258
+ extern void __dtrace_probe$ruby$method__return$v1$63686172202a$63686172202a$63686172202a$696e74(const char *, const char *, const char *, int);
259
+ extern int __dtrace_isenabled$ruby$method__return$v1(void);
260
+ extern void __dtrace_probe$ruby$object__create$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
261
+ extern int __dtrace_isenabled$ruby$object__create$v1(void);
262
+ extern void __dtrace_probe$ruby$parse__begin$v1$63686172202a$696e74(const char *, int);
263
+ extern int __dtrace_isenabled$ruby$parse__begin$v1(void);
264
+ extern void __dtrace_probe$ruby$parse__end$v1$63686172202a$696e74(const char *, int);
265
+ extern int __dtrace_isenabled$ruby$parse__end$v1(void);
266
+ extern void __dtrace_probe$ruby$raise$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
267
+ extern int __dtrace_isenabled$ruby$raise$v1(void);
268
+ extern void __dtrace_probe$ruby$require__entry$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
269
+ extern int __dtrace_isenabled$ruby$require__entry$v1(void);
270
+ extern void __dtrace_probe$ruby$require__return$v1$63686172202a$63686172202a$696e74(const char *, const char *, int);
271
+ extern int __dtrace_isenabled$ruby$require__return$v1(void);
272
+ extern void __dtrace_probe$ruby$string__create$v1$6c6f6e67$63686172202a$696e74(long, const char *, int);
273
+ extern int __dtrace_isenabled$ruby$string__create$v1(void);
274
+
275
+ #else
276
+
277
+ #define RUBY_DTRACE_ARRAY_CREATE(arg0, arg1, arg2) \
278
+ do { \
279
+ } while (0)
280
+ #define RUBY_DTRACE_ARRAY_CREATE_ENABLED() (0)
281
+ #define RUBY_DTRACE_CMETHOD_ENTRY(arg0, arg1, arg2, arg3) \
282
+ do { \
283
+ } while (0)
284
+ #define RUBY_DTRACE_CMETHOD_ENTRY_ENABLED() (0)
285
+ #define RUBY_DTRACE_CMETHOD_RETURN(arg0, arg1, arg2, arg3) \
286
+ do { \
287
+ } while (0)
288
+ #define RUBY_DTRACE_CMETHOD_RETURN_ENABLED() (0)
289
+ #define RUBY_DTRACE_FIND_REQUIRE_ENTRY(arg0, arg1, arg2) \
290
+ do { \
291
+ } while (0)
292
+ #define RUBY_DTRACE_FIND_REQUIRE_ENTRY_ENABLED() (0)
293
+ #define RUBY_DTRACE_FIND_REQUIRE_RETURN(arg0, arg1, arg2) \
294
+ do { \
295
+ } while (0)
296
+ #define RUBY_DTRACE_FIND_REQUIRE_RETURN_ENABLED() (0)
297
+ #define RUBY_DTRACE_GC_MARK_BEGIN() \
298
+ do { \
299
+ } while (0)
300
+ #define RUBY_DTRACE_GC_MARK_BEGIN_ENABLED() (0)
301
+ #define RUBY_DTRACE_GC_MARK_END() \
302
+ do { \
303
+ } while (0)
304
+ #define RUBY_DTRACE_GC_MARK_END_ENABLED() (0)
305
+ #define RUBY_DTRACE_GC_SWEEP_BEGIN() \
306
+ do { \
307
+ } while (0)
308
+ #define RUBY_DTRACE_GC_SWEEP_BEGIN_ENABLED() (0)
309
+ #define RUBY_DTRACE_GC_SWEEP_END() \
310
+ do { \
311
+ } while (0)
312
+ #define RUBY_DTRACE_GC_SWEEP_END_ENABLED() (0)
313
+ #define RUBY_DTRACE_HASH_CREATE(arg0, arg1, arg2) \
314
+ do { \
315
+ } while (0)
316
+ #define RUBY_DTRACE_HASH_CREATE_ENABLED() (0)
317
+ #define RUBY_DTRACE_LOAD_ENTRY(arg0, arg1, arg2) \
318
+ do { \
319
+ } while (0)
320
+ #define RUBY_DTRACE_LOAD_ENTRY_ENABLED() (0)
321
+ #define RUBY_DTRACE_LOAD_RETURN(arg0, arg1, arg2) \
322
+ do { \
323
+ } while (0)
324
+ #define RUBY_DTRACE_LOAD_RETURN_ENABLED() (0)
325
+ #define RUBY_DTRACE_METHOD_ENTRY(arg0, arg1, arg2, arg3) \
326
+ do { \
327
+ } while (0)
328
+ #define RUBY_DTRACE_METHOD_ENTRY_ENABLED() (0)
329
+ #define RUBY_DTRACE_METHOD_RETURN(arg0, arg1, arg2, arg3) \
330
+ do { \
331
+ } while (0)
332
+ #define RUBY_DTRACE_METHOD_RETURN_ENABLED() (0)
333
+ #define RUBY_DTRACE_OBJECT_CREATE(arg0, arg1, arg2) \
334
+ do { \
335
+ } while (0)
336
+ #define RUBY_DTRACE_OBJECT_CREATE_ENABLED() (0)
337
+ #define RUBY_DTRACE_PARSE_BEGIN(arg0, arg1) \
338
+ do { \
339
+ } while (0)
340
+ #define RUBY_DTRACE_PARSE_BEGIN_ENABLED() (0)
341
+ #define RUBY_DTRACE_PARSE_END(arg0, arg1) \
342
+ do { \
343
+ } while (0)
344
+ #define RUBY_DTRACE_PARSE_END_ENABLED() (0)
345
+ #define RUBY_DTRACE_RAISE(arg0, arg1, arg2) \
346
+ do { \
347
+ } while (0)
348
+ #define RUBY_DTRACE_RAISE_ENABLED() (0)
349
+ #define RUBY_DTRACE_REQUIRE_ENTRY(arg0, arg1, arg2) \
350
+ do { \
351
+ } while (0)
352
+ #define RUBY_DTRACE_REQUIRE_ENTRY_ENABLED() (0)
353
+ #define RUBY_DTRACE_REQUIRE_RETURN(arg0, arg1, arg2) \
354
+ do { \
355
+ } while (0)
356
+ #define RUBY_DTRACE_REQUIRE_RETURN_ENABLED() (0)
357
+ #define RUBY_DTRACE_STRING_CREATE(arg0, arg1, arg2) \
358
+ do { \
359
+ } while (0)
360
+ #define RUBY_DTRACE_STRING_CREATE_ENABLED() (0)
361
+
362
+ #endif /* !defined(DTRACE_PROBES_DISABLED) || !DTRACE_PROBES_DISABLED */
363
+
364
+
365
+ #ifdef __cplusplus
366
+ }
367
+ #endif
368
+
369
+ #endif /* _PROBES_H */