debugger-ruby_core_source 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/CHANGELOG.md +3 -0
  2. data/README.md +1 -0
  3. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/addr2line.h +21 -0
  4. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/atomic.h +56 -0
  5. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/constant.h +34 -0
  6. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/debug.h +41 -0
  7. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/dln.h +50 -0
  8. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/encdb.h +167 -0
  9. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/eval_intern.h +234 -0
  10. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/gc.h +99 -0
  11. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/id.h +175 -0
  12. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/insns.inc +179 -0
  13. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/insns_info.inc +695 -0
  14. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/internal.h +239 -0
  15. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/iseq.h +125 -0
  16. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/known_errors.inc +731 -0
  17. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/method.h +105 -0
  18. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/node.h +503 -0
  19. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/node_name.inc +208 -0
  20. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/opt_sc.inc +670 -0
  21. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/optinsn.inc +30 -0
  22. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/optunifs.inc +116 -0
  23. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/parse.h +302 -0
  24. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/regenc.h +219 -0
  25. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/regint.h +850 -0
  26. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/regparse.h +362 -0
  27. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/revision.h +1 -0
  28. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/siphash.h +48 -0
  29. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/thread_pthread.h +51 -0
  30. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/thread_win32.h +40 -0
  31. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/timev.h +21 -0
  32. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/transcode_data.h +117 -0
  33. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/transdb.h +189 -0
  34. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/version.h +52 -0
  35. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vm.inc +3054 -0
  36. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vm_core.h +756 -0
  37. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vm_exec.h +184 -0
  38. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vm_insnhelper.h +220 -0
  39. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vm_opts.h +51 -0
  40. data/lib/debugger/ruby_core_source/ruby-1.9.3-p327/vmtc.inc +97 -0
  41. data/lib/debugger/ruby_core_source/version.rb +1 -1
  42. metadata +41 -3
@@ -0,0 +1,99 @@
1
+
2
+ #ifndef RUBY_GC_H
3
+ #define RUBY_GC_H 1
4
+
5
+ #if defined(__x86_64__) && defined(__GNUC__)
6
+ #define SET_MACHINE_STACK_END(p) __asm__("movq\t%%rsp, %0" : "=r" (*(p)))
7
+ #elif defined(__i386) && defined(__GNUC__)
8
+ #define SET_MACHINE_STACK_END(p) __asm__("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
+ #if defined __GNUC__ && __GNUC__ >= 4
87
+ #pragma GCC visibility push(default)
88
+ #endif
89
+
90
+ size_t rb_objspace_data_type_memsize(VALUE obj);
91
+ void rb_objspace_each_objects(
92
+ int (*callback)(void *start, void *end, size_t stride, void *data),
93
+ void *data);
94
+
95
+ #if defined __GNUC__ && __GNUC__ >= 4
96
+ #pragma GCC visibility pop
97
+ #endif
98
+
99
+ #endif /* RUBY_GC_H */
@@ -0,0 +1,175 @@
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 */
@@ -0,0 +1,179 @@
1
+ /** -*-c-*-
2
+ This file contains YARV instructions list.
3
+
4
+ ----
5
+ This file is auto generated by insns2vm.rb
6
+ DO NOT TOUCH!
7
+
8
+ If you want to fix something, you must edit 'template/insns.inc.tmpl'
9
+ or insns2vm.rb
10
+ */
11
+
12
+
13
+ /* BIN : Basic Instruction Name */
14
+ #define BIN(n) YARVINSN_##n
15
+
16
+ enum ruby_vminsn_type {
17
+ BIN(nop) = 0,
18
+
19
+ BIN(getlocal) = 1,
20
+
21
+ BIN(setlocal) = 2,
22
+
23
+ BIN(getspecial) = 3,
24
+
25
+ BIN(setspecial) = 4,
26
+
27
+ BIN(getdynamic) = 5,
28
+
29
+ BIN(setdynamic) = 6,
30
+
31
+ BIN(getinstancevariable) = 7,
32
+
33
+ BIN(setinstancevariable) = 8,
34
+
35
+ BIN(getclassvariable) = 9,
36
+
37
+ BIN(setclassvariable) = 10,
38
+
39
+ BIN(getconstant) = 11,
40
+
41
+ BIN(setconstant) = 12,
42
+
43
+ BIN(getglobal) = 13,
44
+
45
+ BIN(setglobal) = 14,
46
+
47
+ BIN(putnil) = 15,
48
+
49
+ BIN(putself) = 16,
50
+
51
+ BIN(putobject) = 17,
52
+
53
+ BIN(putspecialobject) = 18,
54
+
55
+ BIN(putiseq) = 19,
56
+
57
+ BIN(putstring) = 20,
58
+
59
+ BIN(concatstrings) = 21,
60
+
61
+ BIN(tostring) = 22,
62
+
63
+ BIN(toregexp) = 23,
64
+
65
+ BIN(newarray) = 24,
66
+
67
+ BIN(duparray) = 25,
68
+
69
+ BIN(expandarray) = 26,
70
+
71
+ BIN(concatarray) = 27,
72
+
73
+ BIN(splatarray) = 28,
74
+
75
+ BIN(checkincludearray) = 29,
76
+
77
+ BIN(newhash) = 30,
78
+
79
+ BIN(newrange) = 31,
80
+
81
+ BIN(pop) = 32,
82
+
83
+ BIN(dup) = 33,
84
+
85
+ BIN(dupn) = 34,
86
+
87
+ BIN(swap) = 35,
88
+
89
+ BIN(reput) = 36,
90
+
91
+ BIN(topn) = 37,
92
+
93
+ BIN(setn) = 38,
94
+
95
+ BIN(adjuststack) = 39,
96
+
97
+ BIN(defined) = 40,
98
+
99
+ BIN(trace) = 41,
100
+
101
+ BIN(defineclass) = 42,
102
+
103
+ BIN(send) = 43,
104
+
105
+ BIN(invokesuper) = 44,
106
+
107
+ BIN(invokeblock) = 45,
108
+
109
+ BIN(leave) = 46,
110
+
111
+ BIN(finish) = 47,
112
+
113
+ BIN(throw) = 48,
114
+
115
+ BIN(jump) = 49,
116
+
117
+ BIN(branchif) = 50,
118
+
119
+ BIN(branchunless) = 51,
120
+
121
+ BIN(getinlinecache) = 52,
122
+
123
+ BIN(onceinlinecache) = 53,
124
+
125
+ BIN(setinlinecache) = 54,
126
+
127
+ BIN(opt_case_dispatch) = 55,
128
+
129
+ BIN(opt_checkenv) = 56,
130
+
131
+ BIN(opt_plus) = 57,
132
+
133
+ BIN(opt_minus) = 58,
134
+
135
+ BIN(opt_mult) = 59,
136
+
137
+ BIN(opt_div) = 60,
138
+
139
+ BIN(opt_mod) = 61,
140
+
141
+ BIN(opt_eq) = 62,
142
+
143
+ BIN(opt_neq) = 63,
144
+
145
+ BIN(opt_lt) = 64,
146
+
147
+ BIN(opt_le) = 65,
148
+
149
+ BIN(opt_gt) = 66,
150
+
151
+ BIN(opt_ge) = 67,
152
+
153
+ BIN(opt_ltlt) = 68,
154
+
155
+ BIN(opt_aref) = 69,
156
+
157
+ BIN(opt_aset) = 70,
158
+
159
+ BIN(opt_length) = 71,
160
+
161
+ BIN(opt_size) = 72,
162
+
163
+ BIN(opt_succ) = 73,
164
+
165
+ BIN(opt_not) = 74,
166
+
167
+ BIN(opt_regexpmatch1) = 75,
168
+
169
+ BIN(opt_regexpmatch2) = 76,
170
+
171
+ BIN(opt_call_c_function) = 77,
172
+
173
+ BIN(bitblt) = 78,
174
+
175
+ BIN(answer) = 79,
176
+
177
+ VM_INSTRUCTION_SIZE = 80
178
+ };
179
+