debase-ruby_core_source 0.10.15 → 0.10.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/debase-ruby_core_source.gemspec +1 -1
  4. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/addr2line.h +1 -1
  5. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/build_assert/build_assert.h +40 -0
  6. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/check_type/check_type.h +63 -0
  7. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/container_of/container_of.h +142 -0
  8. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
  9. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ccan/str/str.h +16 -0
  10. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
  11. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
  12. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/dln.h +10 -9
  13. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
  14. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
  15. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/gc.h +27 -10
  16. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
  17. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
  18. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
  19. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
  20. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
  21. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
  22. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/known_errors.inc +16 -1
  23. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
  24. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node.h +115 -79
  25. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/node_name.inc +12 -22
  26. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
  27. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
  28. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/optunifs.inc +28 -83
  29. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/parse.h +74 -60
  30. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
  31. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
  32. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regint.h +299 -211
  33. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/regparse.h +45 -37
  34. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
  35. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
  36. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/ruby_atomic.h +84 -26
  37. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/siphash.h +1 -1
  38. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
  39. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_pthread.h +14 -11
  40. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/thread_win32.h +2 -6
  41. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
  42. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/transcode_data.h +34 -12
  43. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
  44. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
  45. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
  46. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
  47. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550/debug.h → ruby-2.5.4-p155/vm_debug.h} +4 -8
  48. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_exec.h +38 -30
  49. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
  50. data/lib/debase/ruby_core_source/{ruby-1.9.3-p550 → ruby-2.5.4-p155}/vm_opts.h +14 -9
  51. data/lib/debase/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
  52. data/lib/debase/ruby_core_source/version.rb +1 -1
  53. metadata +52 -42
  54. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/constant.h +0 -34
  55. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/encdb.h +0 -167
  56. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/eval_intern.h +0 -234
  57. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/id.h +0 -177
  58. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns.inc +0 -179
  59. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns_info.inc +0 -695
  60. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/internal.h +0 -242
  61. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/iseq.h +0 -126
  62. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/method.h +0 -105
  63. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/opt_sc.inc +0 -670
  64. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optinsn.inc +0 -30
  65. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regenc.h +0 -219
  66. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/revision.h +0 -1
  67. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/timev.h +0 -21
  68. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transdb.h +0 -189
  69. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/version.h +0 -52
  70. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm.inc +0 -3054
  71. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_core.h +0 -763
  72. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_insnhelper.h +0 -220
  73. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vmtc.inc +0 -97
@@ -1,220 +0,0 @@
1
- /**********************************************************************
2
-
3
- insnhelper.h - helper macros to implement each instructions
4
-
5
- $Author: ko1 $
6
- created at: 04/01/01 15:50:34 JST
7
-
8
- Copyright (C) 2004-2007 Koichi Sasada
9
-
10
- **********************************************************************/
11
-
12
- #ifndef RUBY_INSNHELPER_H
13
- #define RUBY_INSNHELPER_H
14
-
15
- /**
16
- * VM Debug Level
17
- *
18
- * debug level:
19
- * 0: no debug output
20
- * 1: show instruction name
21
- * 2: show stack frame when control stack frame is changed
22
- * 3: show stack status
23
- * 4: show register
24
- * 5:
25
- * 10: gc check
26
- */
27
-
28
- #ifndef VMDEBUG
29
- #define VMDEBUG 0
30
- #endif
31
-
32
- #if 0
33
- #undef VMDEBUG
34
- #define VMDEBUG 3
35
- #endif
36
-
37
- enum {
38
- BOP_PLUS,
39
- BOP_MINUS,
40
- BOP_MULT,
41
- BOP_DIV,
42
- BOP_MOD,
43
- BOP_EQ,
44
- BOP_EQQ,
45
- BOP_LT,
46
- BOP_LE,
47
- BOP_LTLT,
48
- BOP_AREF,
49
- BOP_ASET,
50
- BOP_LENGTH,
51
- BOP_SIZE,
52
- BOP_SUCC,
53
- BOP_GT,
54
- BOP_GE,
55
- BOP_NOT,
56
- BOP_NEQ,
57
-
58
- BOP_LAST_
59
- };
60
-
61
- extern char ruby_vm_redefined_flag[BOP_LAST_];
62
- extern VALUE ruby_vm_const_missing_count;
63
-
64
-
65
- /**********************************************************/
66
- /* deal with stack */
67
- /**********************************************************/
68
-
69
- #define PUSH(x) (SET_SV(x), INC_SP(1))
70
- #define TOPN(n) (*(GET_SP()-(n)-1))
71
- #define POPN(n) (DEC_SP(n))
72
- #define POP() (DEC_SP(1))
73
- #define STACK_ADDR_FROM_TOP(n) (GET_SP()-(n))
74
-
75
- #define GET_TOS() (tos) /* dummy */
76
-
77
- /**********************************************************/
78
- /* deal with registers */
79
- /**********************************************************/
80
-
81
- #define REG_CFP (reg_cfp)
82
- #define REG_PC (REG_CFP->pc)
83
- #define REG_SP (REG_CFP->sp)
84
- #define REG_LFP (REG_CFP->lfp)
85
- #define REG_DFP (REG_CFP->dfp)
86
-
87
- #define RESTORE_REGS() do { \
88
- REG_CFP = th->cfp; \
89
- } while (0)
90
-
91
- #define REG_A reg_a
92
- #define REG_B reg_b
93
-
94
- #ifdef COLLECT_USAGE_ANALYSIS
95
- #define USAGE_ANALYSIS_REGISTER_HELPER(a, b, v) \
96
- (USAGE_ANALYSIS_REGISTER((a), (b)), (v))
97
- #else
98
- #define USAGE_ANALYSIS_REGISTER_HELPER(a, b, v) (v)
99
- #endif
100
-
101
- /* PC */
102
- #define GET_PC() (USAGE_ANALYSIS_REGISTER_HELPER(0, 0, REG_PC))
103
- #define SET_PC(x) (REG_PC = (USAGE_ANALYSIS_REGISTER_HELPER(0, 1, (x))))
104
- #define GET_CURRENT_INSN() (*GET_PC())
105
- #define GET_OPERAND(n) (GET_PC()[(n)])
106
- #define ADD_PC(n) (SET_PC(REG_PC + (n)))
107
-
108
- #define GET_PC_COUNT() (REG_PC - GET_ISEQ()->iseq_encoded)
109
- #define JUMP(dst) (REG_PC += (dst))
110
-
111
- /* FP */
112
- #define GET_CFP() (USAGE_ANALYSIS_REGISTER_HELPER(2, 0, REG_CFP))
113
- #define GET_LFP() (USAGE_ANALYSIS_REGISTER_HELPER(3, 0, REG_LFP))
114
- #define SET_LFP(x) (REG_LFP = (USAGE_ANALYSIS_REGISTER_HELPER(3, 1, (x))))
115
- #define GET_DFP() (USAGE_ANALYSIS_REGISTER_HELPER(4, 0, REG_DFP))
116
- #define SET_DFP(x) (REG_DFP = (USAGE_ANALYSIS_REGISTER_HELPER(4, 1, (x))))
117
-
118
- /* SP */
119
- #define GET_SP() (USAGE_ANALYSIS_REGISTER_HELPER(1, 0, REG_SP))
120
- #define SET_SP(x) (REG_SP = (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
121
- #define INC_SP(x) (REG_SP += (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
122
- #define DEC_SP(x) (REG_SP -= (USAGE_ANALYSIS_REGISTER_HELPER(1, 1, (x))))
123
- #define SET_SV(x) (*GET_SP() = (x))
124
- /* set current stack value as x */
125
-
126
- #define GET_SP_COUNT() (REG_SP - th->stack)
127
-
128
- /* instruction sequence C struct */
129
- #define GET_ISEQ() (GET_CFP()->iseq)
130
-
131
- /**********************************************************/
132
- /* deal with variables */
133
- /**********************************************************/
134
-
135
- #define GET_PREV_DFP(dfp) ((VALUE *)((dfp)[0] & ~0x03))
136
-
137
- #define GET_GLOBAL(entry) rb_gvar_get((struct rb_global_entry*)(entry))
138
- #define SET_GLOBAL(entry, val) rb_gvar_set((struct rb_global_entry*)(entry), (val))
139
-
140
- #define GET_CONST_INLINE_CACHE(dst) ((IC) * (GET_PC() + (dst) + 2))
141
-
142
- /**********************************************************/
143
- /* deal with values */
144
- /**********************************************************/
145
-
146
- #define GET_SELF() (USAGE_ANALYSIS_REGISTER_HELPER(5, 0, GET_CFP()->self))
147
-
148
- /**********************************************************/
149
- /* deal with control flow 2: method/iterator */
150
- /**********************************************************/
151
-
152
- #define COPY_CREF(c1, c2) do { \
153
- NODE *__tmp_c2 = (c2); \
154
- (c1)->nd_clss = __tmp_c2->nd_clss; \
155
- (c1)->nd_visi = __tmp_c2->nd_visi;\
156
- (c1)->nd_next = __tmp_c2->nd_next; \
157
- if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \
158
- (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \
159
- } \
160
- } while (0)
161
-
162
- #define CALL_METHOD(num, blockptr, flag, id, me, recv) do { \
163
- VALUE v = vm_call_method(th, GET_CFP(), (num), (blockptr), (flag), (id), (me), (recv)); \
164
- if (v == Qundef) { \
165
- RESTORE_REGS(); \
166
- NEXT_INSN(); \
167
- } \
168
- else { \
169
- val = v; \
170
- } \
171
- } while (0)
172
-
173
- #define GET_BLOCK_PTR() \
174
- ((rb_block_t *)(GC_GUARDED_PTR_REF(GET_LFP()[0] & \
175
- ((GET_LFP()[0] & 0x02) - 0x02))))
176
-
177
- /**********************************************************/
178
- /* deal with control flow 3: exception */
179
- /**********************************************************/
180
-
181
-
182
- /**********************************************************/
183
- /* others */
184
- /**********************************************************/
185
-
186
- /* optimize insn */
187
- #define FIXNUM_2_P(a, b) ((a) & (b) & 1)
188
- #define BASIC_OP_UNREDEFINED_P(op) (LIKELY(ruby_vm_redefined_flag[(op)] == 0))
189
- #define HEAP_CLASS_OF(obj) RBASIC(obj)->klass
190
-
191
- #ifndef USE_IC_FOR_SPECIALIZED_METHOD
192
- #define USE_IC_FOR_SPECIALIZED_METHOD 1
193
- #endif
194
-
195
- #if USE_IC_FOR_SPECIALIZED_METHOD
196
-
197
- #define CALL_SIMPLE_METHOD(num, id, recv) do { \
198
- VALUE klass = CLASS_OF(recv); \
199
- CALL_METHOD((num), 0, 0, (id), vm_method_search((id), klass, ic), (recv)); \
200
- } while (0)
201
-
202
- #else
203
-
204
- #define CALL_SIMPLE_METHOD(num, id, recv) do { \
205
- VALUE klass = CLASS_OF(recv); \
206
- CALL_METHOD((num), 0, 0, (id), rb_method_entry(klass, (id)), (recv)); \
207
- } while (0)
208
-
209
- #endif
210
-
211
- static VALUE ruby_vm_global_state_version = 1;
212
-
213
- #define GET_VM_STATE_VERSION() (ruby_vm_global_state_version)
214
- #define INC_VM_STATE_VERSION() do { \
215
- ruby_vm_global_state_version = (ruby_vm_global_state_version + 1); \
216
- if (ruby_vm_global_state_version == 0) vm_clear_all_cache(); \
217
- } while (0)
218
- static void vm_clear_all_cache(void);
219
-
220
- #endif /* RUBY_INSNHELPER_H */
@@ -1,97 +0,0 @@
1
- /* -*-c-*- *********************************************************/
2
- /*******************************************************************/
3
- /*******************************************************************/
4
- /**
5
- This file is for threaded code.
6
-
7
- ----
8
- This file is auto generated by insns2vm.rb
9
- DO NOT TOUCH!
10
-
11
- If you want to fix something, you must edit 'template/vmtc.inc.tmpl'
12
- or insns2vm.rb
13
- */
14
-
15
- static const void *const insns_address_table[] = {
16
- LABEL_PTR(nop),
17
- LABEL_PTR(getlocal),
18
- LABEL_PTR(setlocal),
19
- LABEL_PTR(getspecial),
20
- LABEL_PTR(setspecial),
21
- LABEL_PTR(getdynamic),
22
- LABEL_PTR(setdynamic),
23
- LABEL_PTR(getinstancevariable),
24
- LABEL_PTR(setinstancevariable),
25
- LABEL_PTR(getclassvariable),
26
- LABEL_PTR(setclassvariable),
27
- LABEL_PTR(getconstant),
28
- LABEL_PTR(setconstant),
29
- LABEL_PTR(getglobal),
30
- LABEL_PTR(setglobal),
31
- LABEL_PTR(putnil),
32
- LABEL_PTR(putself),
33
- LABEL_PTR(putobject),
34
- LABEL_PTR(putspecialobject),
35
- LABEL_PTR(putiseq),
36
- LABEL_PTR(putstring),
37
- LABEL_PTR(concatstrings),
38
- LABEL_PTR(tostring),
39
- LABEL_PTR(toregexp),
40
- LABEL_PTR(newarray),
41
- LABEL_PTR(duparray),
42
- LABEL_PTR(expandarray),
43
- LABEL_PTR(concatarray),
44
- LABEL_PTR(splatarray),
45
- LABEL_PTR(checkincludearray),
46
- LABEL_PTR(newhash),
47
- LABEL_PTR(newrange),
48
- LABEL_PTR(pop),
49
- LABEL_PTR(dup),
50
- LABEL_PTR(dupn),
51
- LABEL_PTR(swap),
52
- LABEL_PTR(reput),
53
- LABEL_PTR(topn),
54
- LABEL_PTR(setn),
55
- LABEL_PTR(adjuststack),
56
- LABEL_PTR(defined),
57
- LABEL_PTR(trace),
58
- LABEL_PTR(defineclass),
59
- LABEL_PTR(send),
60
- LABEL_PTR(invokesuper),
61
- LABEL_PTR(invokeblock),
62
- LABEL_PTR(leave),
63
- LABEL_PTR(finish),
64
- LABEL_PTR(throw),
65
- LABEL_PTR(jump),
66
- LABEL_PTR(branchif),
67
- LABEL_PTR(branchunless),
68
- LABEL_PTR(getinlinecache),
69
- LABEL_PTR(onceinlinecache),
70
- LABEL_PTR(setinlinecache),
71
- LABEL_PTR(opt_case_dispatch),
72
- LABEL_PTR(opt_checkenv),
73
- LABEL_PTR(opt_plus),
74
- LABEL_PTR(opt_minus),
75
- LABEL_PTR(opt_mult),
76
- LABEL_PTR(opt_div),
77
- LABEL_PTR(opt_mod),
78
- LABEL_PTR(opt_eq),
79
- LABEL_PTR(opt_neq),
80
- LABEL_PTR(opt_lt),
81
- LABEL_PTR(opt_le),
82
- LABEL_PTR(opt_gt),
83
- LABEL_PTR(opt_ge),
84
- LABEL_PTR(opt_ltlt),
85
- LABEL_PTR(opt_aref),
86
- LABEL_PTR(opt_aset),
87
- LABEL_PTR(opt_length),
88
- LABEL_PTR(opt_size),
89
- LABEL_PTR(opt_succ),
90
- LABEL_PTR(opt_not),
91
- LABEL_PTR(opt_regexpmatch1),
92
- LABEL_PTR(opt_regexpmatch2),
93
- LABEL_PTR(opt_call_c_function),
94
- LABEL_PTR(bitblt),
95
- LABEL_PTR(answer),
96
- };
97
-