debugger-ruby_core_source 1.2.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. data/CHANGELOG.md +3 -0
  2. data/debugger-ruby_core_source.gemspec +1 -0
  3. data/lib/debugger/ruby_core_source/ruby-2.1.0/addr2line.h +21 -0
  4. data/lib/debugger/ruby_core_source/ruby-2.1.0/constant.h +36 -0
  5. data/lib/debugger/ruby_core_source/ruby-2.1.0/dln.h +51 -0
  6. data/lib/debugger/ruby_core_source/ruby-2.1.0/encdb.h +170 -0
  7. data/lib/debugger/ruby_core_source/ruby-2.1.0/eval_intern.h +260 -0
  8. data/lib/debugger/ruby_core_source/ruby-2.1.0/gc.h +101 -0
  9. data/lib/debugger/ruby_core_source/ruby-2.1.0/id.h +171 -0
  10. data/lib/debugger/ruby_core_source/ruby-2.1.0/insns.inc +189 -0
  11. data/lib/debugger/ruby_core_source/ruby-2.1.0/insns_info.inc +731 -0
  12. data/lib/debugger/ruby_core_source/ruby-2.1.0/internal.h +889 -0
  13. data/lib/debugger/ruby_core_source/ruby-2.1.0/iseq.h +136 -0
  14. data/lib/debugger/ruby_core_source/ruby-2.1.0/known_errors.inc +731 -0
  15. data/lib/debugger/ruby_core_source/ruby-2.1.0/method.h +142 -0
  16. data/lib/debugger/ruby_core_source/ruby-2.1.0/node.h +543 -0
  17. data/lib/debugger/ruby_core_source/ruby-2.1.0/node_name.inc +212 -0
  18. data/lib/debugger/ruby_core_source/ruby-2.1.0/opt_sc.inc +710 -0
  19. data/lib/debugger/ruby_core_source/ruby-2.1.0/optinsn.inc +83 -0
  20. data/lib/debugger/ruby_core_source/ruby-2.1.0/optunifs.inc +121 -0
  21. data/lib/debugger/ruby_core_source/ruby-2.1.0/parse.h +183 -0
  22. data/lib/debugger/ruby_core_source/ruby-2.1.0/probes_helper.h +67 -0
  23. data/lib/debugger/ruby_core_source/ruby-2.1.0/regenc.h +223 -0
  24. data/lib/debugger/ruby_core_source/ruby-2.1.0/regint.h +911 -0
  25. data/lib/debugger/ruby_core_source/ruby-2.1.0/regparse.h +363 -0
  26. data/lib/debugger/ruby_core_source/ruby-2.1.0/revision.h +1 -0
  27. data/lib/debugger/ruby_core_source/ruby-2.1.0/ruby_atomic.h +165 -0
  28. data/lib/debugger/ruby_core_source/ruby-2.1.0/siphash.h +48 -0
  29. data/lib/debugger/ruby_core_source/ruby-2.1.0/thread_native.h +23 -0
  30. data/lib/debugger/ruby_core_source/ruby-2.1.0/thread_pthread.h +56 -0
  31. data/lib/debugger/ruby_core_source/ruby-2.1.0/thread_win32.h +45 -0
  32. data/lib/debugger/ruby_core_source/ruby-2.1.0/timev.h +42 -0
  33. data/lib/debugger/ruby_core_source/ruby-2.1.0/transcode_data.h +123 -0
  34. data/lib/debugger/ruby_core_source/ruby-2.1.0/transdb.h +193 -0
  35. data/lib/debugger/ruby_core_source/ruby-2.1.0/version.h +52 -0
  36. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm.inc +3243 -0
  37. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm_core.h +1043 -0
  38. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm_debug.h +37 -0
  39. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm_exec.h +182 -0
  40. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm_insnhelper.h +273 -0
  41. data/lib/debugger/ruby_core_source/ruby-2.1.0/vm_opts.h +56 -0
  42. data/lib/debugger/ruby_core_source/ruby-2.1.0/vmtc.inc +102 -0
  43. data/lib/debugger/ruby_core_source/version.rb +1 -1
  44. metadata +44 -3
@@ -0,0 +1,101 @@
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 */
@@ -0,0 +1,171 @@
1
+ /* DO NOT EDIT THIS FILE DIRECTLY */
2
+ /**********************************************************************
3
+
4
+ id.h -
5
+
6
+ $Author: nobu $
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_LOCAL = 0x00,
18
+ RUBY_ID_INSTANCE = 0x01,
19
+ RUBY_ID_GLOBAL = 0x03,
20
+ RUBY_ID_ATTRSET = 0x04,
21
+ RUBY_ID_CONST = 0x05,
22
+ RUBY_ID_CLASS = 0x06,
23
+ RUBY_ID_JUNK = 0x07,
24
+ RUBY_ID_INTERNAL = RUBY_ID_JUNK,
25
+ RUBY_ID_SCOPE_SHIFT = 3,
26
+ RUBY_ID_SCOPE_MASK = ~(~0U<<RUBY_ID_SCOPE_SHIFT)
27
+ };
28
+
29
+ #define ID_SCOPE_SHIFT RUBY_ID_SCOPE_SHIFT
30
+ #define ID_SCOPE_MASK RUBY_ID_SCOPE_MASK
31
+ #define ID_LOCAL RUBY_ID_LOCAL
32
+ #define ID_INSTANCE RUBY_ID_INSTANCE
33
+ #define ID_GLOBAL RUBY_ID_GLOBAL
34
+ #define ID_ATTRSET RUBY_ID_ATTRSET
35
+ #define ID_CONST RUBY_ID_CONST
36
+ #define ID_CLASS RUBY_ID_CLASS
37
+ #define ID_JUNK RUBY_ID_JUNK
38
+ #define ID_INTERNAL RUBY_ID_INTERNAL
39
+
40
+ #define ID2ATTRSET(id) (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)
41
+
42
+ #define symIFUNC ID2SYM(idIFUNC)
43
+ #define symCFUNC ID2SYM(idCFUNC)
44
+
45
+ #define RUBY_TOKEN_DOT2 128
46
+ #define RUBY_TOKEN_DOT3 129
47
+ #define RUBY_TOKEN_UPLUS 130
48
+ #define RUBY_TOKEN_UMINUS 131
49
+ #define RUBY_TOKEN_POW 132
50
+ #define RUBY_TOKEN_DSTAR 133
51
+ #define RUBY_TOKEN_CMP 134
52
+ #define RUBY_TOKEN_LSHFT 135
53
+ #define RUBY_TOKEN_RSHFT 136
54
+ #define RUBY_TOKEN_LEQ 137
55
+ #define RUBY_TOKEN_GEQ 138
56
+ #define RUBY_TOKEN_EQ 139
57
+ #define RUBY_TOKEN_EQQ 140
58
+ #define RUBY_TOKEN_NEQ 141
59
+ #define RUBY_TOKEN_MATCH 142
60
+ #define RUBY_TOKEN_NMATCH 143
61
+ #define RUBY_TOKEN_AREF 144
62
+ #define RUBY_TOKEN_ASET 145
63
+ #define RUBY_TOKEN_COLON2 146
64
+ #define RUBY_TOKEN_COLON3 147
65
+ #define RUBY_TOKEN(t) RUBY_TOKEN_##t
66
+
67
+ enum ruby_method_ids {
68
+ idDot2 = RUBY_TOKEN(DOT2),
69
+ idDot3 = RUBY_TOKEN(DOT3),
70
+ idUPlus = RUBY_TOKEN(UPLUS),
71
+ idUMinus = RUBY_TOKEN(UMINUS),
72
+ idPow = RUBY_TOKEN(POW),
73
+ idCmp = RUBY_TOKEN(CMP),
74
+ idPLUS = '+',
75
+ idMINUS = '-',
76
+ idMULT = '*',
77
+ idDIV = '/',
78
+ idMOD = '%',
79
+ idLT = '<',
80
+ idLTLT = RUBY_TOKEN(LSHFT),
81
+ idLE = RUBY_TOKEN(LEQ),
82
+ idGT = '>',
83
+ idGE = RUBY_TOKEN(GEQ),
84
+ idEq = RUBY_TOKEN(EQ),
85
+ idEqq = RUBY_TOKEN(EQQ),
86
+ idNeq = RUBY_TOKEN(NEQ),
87
+ idNot = '!',
88
+ idBackquote = '`',
89
+ idEqTilde = RUBY_TOKEN(MATCH),
90
+ idNeqTilde = RUBY_TOKEN(NMATCH),
91
+ idAREF = RUBY_TOKEN(AREF),
92
+ idASET = RUBY_TOKEN(ASET),
93
+ tPRESERVED_ID_BEGIN = 147,
94
+ idNULL,
95
+ idEmptyP,
96
+ idEqlP,
97
+ idRespond_to,
98
+ idRespond_to_missing,
99
+ idIFUNC,
100
+ idCFUNC,
101
+ id_core_set_method_alias,
102
+ id_core_set_variable_alias,
103
+ id_core_undef_method,
104
+ id_core_define_method,
105
+ id_core_define_singleton_method,
106
+ id_core_set_postexe,
107
+ id_core_hash_from_ary,
108
+ id_core_hash_merge_ary,
109
+ id_core_hash_merge_ptr,
110
+ id_core_hash_merge_kwd,
111
+ tPRESERVED_ID_END,
112
+ tFreeze,
113
+ tInspect,
114
+ tIntern,
115
+ tObject_id,
116
+ tConst_missing,
117
+ tMethodMissing,
118
+ tMethod_added,
119
+ tSingleton_method_added,
120
+ tMethod_removed,
121
+ tSingleton_method_removed,
122
+ tMethod_undefined,
123
+ tSingleton_method_undefined,
124
+ tLength,
125
+ tSize,
126
+ tGets,
127
+ tSucc,
128
+ tEach,
129
+ tProc,
130
+ tLambda,
131
+ tSend,
132
+ t__send__,
133
+ t__attached__,
134
+ tInitialize,
135
+ tInitialize_copy,
136
+ tInitialize_clone,
137
+ tInitialize_dup,
138
+ tUScore,
139
+ #define TOKEN2LOCALID(n) id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
140
+ TOKEN2LOCALID(Freeze),
141
+ TOKEN2LOCALID(Inspect),
142
+ TOKEN2LOCALID(Intern),
143
+ TOKEN2LOCALID(Object_id),
144
+ TOKEN2LOCALID(Const_missing),
145
+ TOKEN2LOCALID(MethodMissing),
146
+ TOKEN2LOCALID(Method_added),
147
+ TOKEN2LOCALID(Singleton_method_added),
148
+ TOKEN2LOCALID(Method_removed),
149
+ TOKEN2LOCALID(Singleton_method_removed),
150
+ TOKEN2LOCALID(Method_undefined),
151
+ TOKEN2LOCALID(Singleton_method_undefined),
152
+ TOKEN2LOCALID(Length),
153
+ TOKEN2LOCALID(Size),
154
+ TOKEN2LOCALID(Gets),
155
+ TOKEN2LOCALID(Succ),
156
+ TOKEN2LOCALID(Each),
157
+ TOKEN2LOCALID(Proc),
158
+ TOKEN2LOCALID(Lambda),
159
+ TOKEN2LOCALID(Send),
160
+ TOKEN2LOCALID(__send__),
161
+ TOKEN2LOCALID(__attached__),
162
+ TOKEN2LOCALID(Initialize),
163
+ TOKEN2LOCALID(Initialize_copy),
164
+ TOKEN2LOCALID(Initialize_clone),
165
+ TOKEN2LOCALID(Initialize_dup),
166
+ TOKEN2LOCALID(UScore),
167
+ tLAST_OP_ID = tPRESERVED_ID_END-1,
168
+ idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
169
+ };
170
+
171
+ #endif /* RUBY_ID_H */
@@ -0,0 +1,189 @@
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(getinstancevariable) = 5,
28
+
29
+ BIN(setinstancevariable) = 6,
30
+
31
+ BIN(getclassvariable) = 7,
32
+
33
+ BIN(setclassvariable) = 8,
34
+
35
+ BIN(getconstant) = 9,
36
+
37
+ BIN(setconstant) = 10,
38
+
39
+ BIN(getglobal) = 11,
40
+
41
+ BIN(setglobal) = 12,
42
+
43
+ BIN(putnil) = 13,
44
+
45
+ BIN(putself) = 14,
46
+
47
+ BIN(putobject) = 15,
48
+
49
+ BIN(putspecialobject) = 16,
50
+
51
+ BIN(putiseq) = 17,
52
+
53
+ BIN(putstring) = 18,
54
+
55
+ BIN(concatstrings) = 19,
56
+
57
+ BIN(tostring) = 20,
58
+
59
+ BIN(toregexp) = 21,
60
+
61
+ BIN(newarray) = 22,
62
+
63
+ BIN(duparray) = 23,
64
+
65
+ BIN(expandarray) = 24,
66
+
67
+ BIN(concatarray) = 25,
68
+
69
+ BIN(splatarray) = 26,
70
+
71
+ BIN(newhash) = 27,
72
+
73
+ BIN(newrange) = 28,
74
+
75
+ BIN(pop) = 29,
76
+
77
+ BIN(dup) = 30,
78
+
79
+ BIN(dupn) = 31,
80
+
81
+ BIN(swap) = 32,
82
+
83
+ BIN(reput) = 33,
84
+
85
+ BIN(topn) = 34,
86
+
87
+ BIN(setn) = 35,
88
+
89
+ BIN(adjuststack) = 36,
90
+
91
+ BIN(defined) = 37,
92
+
93
+ BIN(checkmatch) = 38,
94
+
95
+ BIN(trace) = 39,
96
+
97
+ BIN(defineclass) = 40,
98
+
99
+ BIN(send) = 41,
100
+
101
+ BIN(opt_str_freeze) = 42,
102
+
103
+ BIN(opt_send_simple) = 43,
104
+
105
+ BIN(invokesuper) = 44,
106
+
107
+ BIN(invokeblock) = 45,
108
+
109
+ BIN(leave) = 46,
110
+
111
+ BIN(throw) = 47,
112
+
113
+ BIN(jump) = 48,
114
+
115
+ BIN(branchif) = 49,
116
+
117
+ BIN(branchunless) = 50,
118
+
119
+ BIN(getinlinecache) = 51,
120
+
121
+ BIN(setinlinecache) = 52,
122
+
123
+ BIN(once) = 53,
124
+
125
+ BIN(opt_case_dispatch) = 54,
126
+
127
+ BIN(opt_plus) = 55,
128
+
129
+ BIN(opt_minus) = 56,
130
+
131
+ BIN(opt_mult) = 57,
132
+
133
+ BIN(opt_div) = 58,
134
+
135
+ BIN(opt_mod) = 59,
136
+
137
+ BIN(opt_eq) = 60,
138
+
139
+ BIN(opt_neq) = 61,
140
+
141
+ BIN(opt_lt) = 62,
142
+
143
+ BIN(opt_le) = 63,
144
+
145
+ BIN(opt_gt) = 64,
146
+
147
+ BIN(opt_ge) = 65,
148
+
149
+ BIN(opt_ltlt) = 66,
150
+
151
+ BIN(opt_aref) = 67,
152
+
153
+ BIN(opt_aset) = 68,
154
+
155
+ BIN(opt_length) = 69,
156
+
157
+ BIN(opt_size) = 70,
158
+
159
+ BIN(opt_empty_p) = 71,
160
+
161
+ BIN(opt_succ) = 72,
162
+
163
+ BIN(opt_not) = 73,
164
+
165
+ BIN(opt_regexpmatch1) = 74,
166
+
167
+ BIN(opt_regexpmatch2) = 75,
168
+
169
+ BIN(opt_call_c_function) = 76,
170
+
171
+ BIN(bitblt) = 77,
172
+
173
+ BIN(answer) = 78,
174
+
175
+ BIN(getlocal_OP__WC__0) = 79,
176
+
177
+ BIN(getlocal_OP__WC__1) = 80,
178
+
179
+ BIN(setlocal_OP__WC__0) = 81,
180
+
181
+ BIN(setlocal_OP__WC__1) = 82,
182
+
183
+ BIN(putobject_OP_INT2FIX_O_0_C_) = 83,
184
+
185
+ BIN(putobject_OP_INT2FIX_O_1_C_) = 84,
186
+
187
+ VM_INSTRUCTION_SIZE = 85
188
+ };
189
+