debase-ruby_core_source 0.6.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/addr2line.h +21 -0
  3. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/constant.h +34 -0
  4. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/debug.h +41 -0
  5. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/dln.h +50 -0
  6. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/encdb.h +167 -0
  7. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/eval_intern.h +234 -0
  8. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/gc.h +99 -0
  9. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/id.h +177 -0
  10. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns.inc +179 -0
  11. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/insns_info.inc +695 -0
  12. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/internal.h +242 -0
  13. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/iseq.h +126 -0
  14. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/known_errors.inc +731 -0
  15. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/method.h +105 -0
  16. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/node.h +504 -0
  17. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/node_name.inc +208 -0
  18. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/opt_sc.inc +670 -0
  19. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optinsn.inc +30 -0
  20. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/optunifs.inc +116 -0
  21. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/parse.h +186 -0
  22. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regenc.h +219 -0
  23. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regint.h +850 -0
  24. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/regparse.h +362 -0
  25. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/revision.h +1 -0
  26. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/ruby_atomic.h +175 -0
  27. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/siphash.h +48 -0
  28. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/thread_pthread.h +51 -0
  29. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/thread_win32.h +40 -0
  30. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/timev.h +21 -0
  31. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transcode_data.h +117 -0
  32. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/transdb.h +189 -0
  33. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/version.h +52 -0
  34. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm.inc +3054 -0
  35. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_core.h +763 -0
  36. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_exec.h +184 -0
  37. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_insnhelper.h +220 -0
  38. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vm_opts.h +51 -0
  39. data/lib/debase/ruby_core_source/ruby-1.9.3-p550/vmtc.inc +97 -0
  40. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/addr2line.h +21 -0
  41. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/constant.h +36 -0
  42. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/dln.h +50 -0
  43. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/encdb.h +169 -0
  44. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/eval_intern.h +241 -0
  45. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/gc.h +104 -0
  46. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/id.h +135 -0
  47. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/insns.inc +187 -0
  48. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/insns_info.inc +724 -0
  49. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/internal.h +395 -0
  50. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/iseq.h +140 -0
  51. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/known_errors.inc +731 -0
  52. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/method.h +138 -0
  53. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/node.h +541 -0
  54. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/node_name.inc +212 -0
  55. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/opt_sc.inc +702 -0
  56. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/optinsn.inc +83 -0
  57. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/optunifs.inc +120 -0
  58. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/parse.h +181 -0
  59. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/probes_helper.h +67 -0
  60. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regenc.h +227 -0
  61. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regint.h +915 -0
  62. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/regparse.h +367 -0
  63. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/revision.h +1 -0
  64. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/ruby_atomic.h +170 -0
  65. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/siphash.h +48 -0
  66. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/thread_pthread.h +56 -0
  67. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/thread_win32.h +45 -0
  68. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/timev.h +21 -0
  69. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/transcode_data.h +127 -0
  70. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/transdb.h +193 -0
  71. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/version.h +52 -0
  72. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm.inc +3196 -0
  73. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_core.h +1018 -0
  74. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_debug.h +41 -0
  75. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_exec.h +173 -0
  76. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_insnhelper.h +274 -0
  77. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vm_opts.h +56 -0
  78. data/lib/debase/ruby_core_source/ruby-2.0.0-p594/vmtc.inc +101 -0
  79. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/addr2line.h +21 -0
  80. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/constant.h +36 -0
  81. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/dln.h +51 -0
  82. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/encdb.h +170 -0
  83. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/eval_intern.h +270 -0
  84. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/gc.h +101 -0
  85. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/id.h +171 -0
  86. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/insns.inc +189 -0
  87. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/insns_info.inc +731 -0
  88. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/internal.h +892 -0
  89. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/iseq.h +136 -0
  90. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/known_errors.inc +731 -0
  91. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/method.h +142 -0
  92. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/node.h +543 -0
  93. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/node_name.inc +212 -0
  94. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/opt_sc.inc +710 -0
  95. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/optinsn.inc +83 -0
  96. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/optunifs.inc +121 -0
  97. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/parse.h +183 -0
  98. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/probes_helper.h +67 -0
  99. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/regenc.h +223 -0
  100. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/regint.h +911 -0
  101. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/regparse.h +363 -0
  102. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/revision.h +1 -0
  103. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/ruby_atomic.h +170 -0
  104. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/siphash.h +48 -0
  105. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/thread_native.h +23 -0
  106. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/thread_pthread.h +56 -0
  107. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/thread_win32.h +45 -0
  108. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/timev.h +42 -0
  109. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/transcode_data.h +123 -0
  110. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/transdb.h +193 -0
  111. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/version.h +52 -0
  112. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm.inc +3243 -0
  113. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm_core.h +1055 -0
  114. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm_debug.h +37 -0
  115. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm_exec.h +182 -0
  116. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm_insnhelper.h +273 -0
  117. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vm_opts.h +56 -0
  118. data/lib/debase/ruby_core_source/ruby-2.1.4-p265/vmtc.inc +102 -0
  119. data/lib/debase/ruby_core_source/version.rb +1 -1
  120. metadata +119 -2
@@ -0,0 +1,136 @@
1
+ /**********************************************************************
2
+
3
+ iseq.h -
4
+
5
+ $Author: ko1 $
6
+ created at: 04/01/01 23:36:57 JST
7
+
8
+ Copyright (C) 2004-2008 Koichi Sasada
9
+
10
+ **********************************************************************/
11
+
12
+ #ifndef RUBY_COMPILE_H
13
+ #define RUBY_COMPILE_H
14
+
15
+ RUBY_SYMBOL_EXPORT_BEGIN
16
+
17
+ /* compile.c */
18
+ VALUE rb_iseq_compile_node(VALUE self, NODE *node);
19
+ int rb_iseq_translate_threaded_code(rb_iseq_t *iseq);
20
+ VALUE rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE locals, VALUE args,
21
+ VALUE exception, VALUE body);
22
+
23
+ /* iseq.c */
24
+ void rb_iseq_add_mark_object(rb_iseq_t *iseq, VALUE obj);
25
+ VALUE rb_iseq_load(VALUE data, VALUE parent, VALUE opt);
26
+ VALUE rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc);
27
+ struct st_table *ruby_insn_make_insn_table(void);
28
+ unsigned int rb_iseq_line_no(const rb_iseq_t *iseq, size_t pos);
29
+
30
+ int rb_iseq_line_trace_each(VALUE iseqval, int (*func)(int line, rb_event_flag_t *events_ptr, void *d), void *data);
31
+ VALUE rb_iseq_line_trace_all(VALUE iseqval);
32
+ VALUE rb_iseq_line_trace_specify(VALUE iseqval, VALUE pos, VALUE set);
33
+
34
+ /* proc.c */
35
+ rb_iseq_t *rb_method_get_iseq(VALUE body);
36
+ rb_iseq_t *rb_proc_get_iseq(VALUE proc, int *is_proc);
37
+
38
+ struct rb_compile_option_struct {
39
+ int inline_const_cache;
40
+ int peephole_optimization;
41
+ int tailcall_optimization;
42
+ int specialized_instruction;
43
+ int operands_unification;
44
+ int instructions_unification;
45
+ int stack_caching;
46
+ int trace_instruction;
47
+ int debug_level;
48
+ };
49
+
50
+ struct iseq_line_info_entry {
51
+ unsigned int position;
52
+ unsigned int line_no;
53
+ };
54
+
55
+ struct iseq_catch_table_entry {
56
+ enum catch_type {
57
+ CATCH_TYPE_RESCUE = INT2FIX(1),
58
+ CATCH_TYPE_ENSURE = INT2FIX(2),
59
+ CATCH_TYPE_RETRY = INT2FIX(3),
60
+ CATCH_TYPE_BREAK = INT2FIX(4),
61
+ CATCH_TYPE_REDO = INT2FIX(5),
62
+ CATCH_TYPE_NEXT = INT2FIX(6)
63
+ } type;
64
+ VALUE iseq;
65
+ unsigned long start;
66
+ unsigned long end;
67
+ unsigned long cont;
68
+ unsigned long sp;
69
+ };
70
+
71
+ #define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512)
72
+
73
+ struct iseq_compile_data_storage {
74
+ struct iseq_compile_data_storage *next;
75
+ unsigned long pos;
76
+ unsigned long size;
77
+ char *buff;
78
+ };
79
+
80
+ struct iseq_compile_data {
81
+ /* GC is needed */
82
+ const VALUE err_info;
83
+ VALUE mark_ary;
84
+ const VALUE catch_table_ary; /* Array */
85
+
86
+ /* GC is not needed */
87
+ struct iseq_label_data *start_label;
88
+ struct iseq_label_data *end_label;
89
+ struct iseq_label_data *redo_label;
90
+ VALUE current_block;
91
+ VALUE ensure_node;
92
+ VALUE for_iseq;
93
+ struct iseq_compile_data_ensure_node_stack *ensure_node_stack;
94
+ int loopval_popped; /* used by NODE_BREAK */
95
+ int cached_const;
96
+ struct iseq_compile_data_storage *storage_head;
97
+ struct iseq_compile_data_storage *storage_current;
98
+ int last_line;
99
+ int last_coverable_line;
100
+ int label_no;
101
+ int node_level;
102
+ const rb_compile_option_t *option;
103
+ #if SUPPORT_JOKE
104
+ st_table *labels_table;
105
+ #endif
106
+ };
107
+
108
+ /* defined? */
109
+
110
+ enum defined_type {
111
+ DEFINED_NIL = 1,
112
+ DEFINED_IVAR,
113
+ DEFINED_LVAR,
114
+ DEFINED_GVAR,
115
+ DEFINED_CVAR,
116
+ DEFINED_CONST,
117
+ DEFINED_METHOD,
118
+ DEFINED_YIELD,
119
+ DEFINED_ZSUPER,
120
+ DEFINED_SELF,
121
+ DEFINED_TRUE,
122
+ DEFINED_FALSE,
123
+ DEFINED_ASGN,
124
+ DEFINED_EXPR,
125
+ DEFINED_IVAR2,
126
+ DEFINED_REF,
127
+ DEFINED_FUNC
128
+ };
129
+
130
+ VALUE rb_iseq_defined_string(enum defined_type type);
131
+
132
+ #define DEFAULT_SPECIAL_VAR_COUNT 2
133
+
134
+ RUBY_SYMBOL_EXPORT_END
135
+
136
+ #endif /* RUBY_COMPILE_H */