Module: CodeTools::GeneratorMethods
- Included in:
- Generator
- Defined in:
- lib/rubinius/code/compiler/generator_methods.rb
Instance Method Summary collapse
- #add_scope ⇒ Object
- #allow_private ⇒ Object
- #b_if(arg1, arg2) ⇒ Object
- #b_if_int(arg1, arg2, arg3) ⇒ Object
-
#b_if_serial(arg1, arg2, arg3) ⇒ Object
Branching instructions.
- #cast_array ⇒ Object
- #cast_for_multi_block_arg ⇒ Object
- #cast_for_single_block_arg ⇒ Object
- #cast_for_splat_block_arg ⇒ Object
- #cast_multi_value ⇒ Object
- #check_frozen ⇒ Object
- #check_interrupts ⇒ Object
- #check_serial(arg1, arg2) ⇒ Object
- #check_serial_private(arg1, arg2) ⇒ Object
- #clear_exception ⇒ Object
- #create_block(arg1) ⇒ Object
- #dup ⇒ Object
- #dup_many(arg1) ⇒ Object
- #emit_push_literal(arg1) ⇒ Object
- #ensure_return ⇒ Object
- #find_const(arg1) ⇒ Object
- #goto(arg1) ⇒ Object
- #goto_if_equal(arg1) ⇒ Object
- #goto_if_false(arg1) ⇒ Object
- #goto_if_nil(arg1) ⇒ Object
- #goto_if_not_equal(arg1) ⇒ Object
- #goto_if_not_nil(arg1) ⇒ Object
- #goto_if_not_undefined(arg1) ⇒ Object
- #goto_if_true(arg1) ⇒ Object
- #goto_if_undefined(arg1) ⇒ Object
- #instance_of ⇒ Object
- #invoke_primitive(arg1, arg2) ⇒ Object
- #kind_of ⇒ Object
-
#m_bytes(arg1, arg2) ⇒ Object
Instrumentation instructions.
- #m_counter(arg1) ⇒ Object
- #m_sum(arg1, arg2) ⇒ Object
- #m_time_stamp(arg1, arg2) ⇒ Object
- #m_timer_start(arg1) ⇒ Object
- #m_timer_stop(arg1, arg2) ⇒ Object
- #m_value(arg1, arg2) ⇒ Object
- #make_array(arg1) ⇒ Object
- #move_down(arg1) ⇒ Object
-
#n_iadd(arg1, arg2, arg3) ⇒ Object
Native signed integer instructions.
- #n_iadd_o(arg1, arg2, arg3) ⇒ Object
- #n_idiv(arg1, arg2, arg3) ⇒ Object
- #n_idiv_o(arg1, arg2, arg3) ⇒ Object
- #n_ieq(arg1, arg2, arg3) ⇒ Object
- #n_ige(arg1, arg2, arg3) ⇒ Object
- #n_igt(arg1, arg2, arg3) ⇒ Object
- #n_ile(arg1, arg2, arg3) ⇒ Object
- #n_ilt(arg1, arg2, arg3) ⇒ Object
- #n_imul(arg1, arg2, arg3) ⇒ Object
- #n_imul_o(arg1, arg2, arg3) ⇒ Object
- #n_ine(arg1, arg2, arg3) ⇒ Object
- #n_ipopcnt(arg1, arg2) ⇒ Object
- #n_isub(arg1, arg2, arg3) ⇒ Object
- #n_isub_o(arg1, arg2, arg3) ⇒ Object
- #noop ⇒ Object
- #object_to_s(arg1) ⇒ Object
-
#p_any(arg1) ⇒ Object
Parsing Expression Grammar instructions.
- #p_call(arg1) ⇒ Object
- #p_char(arg1) ⇒ Object
- #p_char_set(arg1) ⇒ Object
- #p_choice(arg1, arg2) ⇒ Object
- #p_commit(arg1) ⇒ Object
- #p_commit_back(arg1) ⇒ Object
- #p_commit_partial(arg2) ⇒ Object
- #p_end ⇒ Object
- #p_fail ⇒ Object
- #p_fail_twice ⇒ Object
- #p_init(arg1, arg2) ⇒ Object
- #p_jump(arg1) ⇒ Object
- #p_return ⇒ Object
- #p_span(arg1) ⇒ Object
- #p_test_any(arg1, arg2) ⇒ Object
- #p_test_char(arg1, arg2) ⇒ Object
- #p_test_char_set(arg1, arg2) ⇒ Object
- #passed_arg(arg1) ⇒ Object
- #passed_blockarg(arg1) ⇒ Object
- #pop ⇒ Object
- #pop_many(arg1) ⇒ Object
- #pop_unwind ⇒ Object
- #push_block ⇒ Object
- #push_block_arg ⇒ Object
- #push_const(arg1) ⇒ Object
- #push_cpath_top ⇒ Object
- #push_current_exception ⇒ Object
- #push_exception_state ⇒ Object
- #push_false ⇒ Object
- #push_file ⇒ Object
- #push_has_block ⇒ Object
- #push_int(arg1) ⇒ Object
- #push_ivar(arg1) ⇒ Object
- #push_local(arg1) ⇒ Object
- #push_local_depth(arg1, arg2) ⇒ Object
- #push_memo(arg1) ⇒ Object
- #push_mirror ⇒ Object
- #push_my_field(arg1) ⇒ Object
- #push_my_offset(arg1) ⇒ Object
- #push_nil ⇒ Object
- #push_proc ⇒ Object
- #push_rubinius ⇒ Object
- #push_scope ⇒ Object
- #push_self ⇒ Object
- #push_stack_local(arg1) ⇒ Object
- #push_true ⇒ Object
- #push_type ⇒ Object
- #push_undef ⇒ Object
- #push_variables ⇒ Object
- #r_copy(arg1, arg2) ⇒ Object
- #r_load_int(arg1, arg2) ⇒ Object
- #r_load_literal(arg1, arg2) ⇒ Object
-
#r_load_local(arg1, arg2) ⇒ Object
Register movement instructions.
- #r_load_local_depth(arg1, arg2, arg3) ⇒ Object
- #r_load_stack(arg1) ⇒ Object
- #r_store_int(arg1, arg2) ⇒ Object
- #r_store_local(arg1, arg2) ⇒ Object
- #r_store_local_depth(arg1, arg2, arg3) ⇒ Object
- #r_store_stack(arg1) ⇒ Object
- #raise_break ⇒ Object
- #raise_exc ⇒ Object
- #raise_return ⇒ Object
- #reraise ⇒ Object
- #restore_exception_state ⇒ Object
- #ret(arg1) ⇒ Object
- #rotate(arg1) ⇒ Object
- #send_method(arg1) ⇒ Object
- #send_stack(arg1, arg2) ⇒ Object
- #send_stack_with_block(arg1, arg2) ⇒ Object
- #send_stack_with_splat(arg1, arg2) ⇒ Object
- #send_super_stack_with_block(arg1, arg2) ⇒ Object
- #send_super_stack_with_splat(arg1, arg2) ⇒ Object
- #send_vcall(arg1) ⇒ Object
- #set_call_flags(arg1) ⇒ Object
- #set_const(arg1) ⇒ Object
- #set_const_at(arg1) ⇒ Object
- #set_ivar(arg1) ⇒ Object
- #set_local(arg1) ⇒ Object
- #set_local_depth(arg1, arg2) ⇒ Object
- #set_stack_local(arg1) ⇒ Object
- #setup_unwind(arg1, arg2) ⇒ Object
- #shift_array ⇒ Object
- #store_my_field(arg1) ⇒ Object
- #string_append ⇒ Object
- #string_build(arg1) ⇒ Object
- #string_dup ⇒ Object
- #swap ⇒ Object
- #unwind(arg1) ⇒ Object
- #yield_debugger ⇒ Object
- #yield_splat(arg1) ⇒ Object
- #yield_stack(arg1) ⇒ Object
- #zsuper(arg1) ⇒ Object
Instance Method Details
#add_scope ⇒ Object
5 6 7 8 9 10 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 5 def add_scope @stream << 0 @ip += 1 @current_block.add_stack(1, 0) @instruction = 0 end |
#allow_private ⇒ Object
12 13 14 15 16 17 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 12 def allow_private @stream << 1 @ip += 1 @current_block.add_stack(0, 0) @instruction = 1 end |
#b_if(arg1, arg2) ⇒ Object
992 993 994 995 996 997 998 999 1000 1001 1002 1003 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 992 def b_if(arg1, arg2) location = @ip + 1 @stream << 126 << arg1 << arg2 @ip += 3 arg2.used_at location @current_block.left = arg2.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 126 end |
#b_if_int(arg1, arg2, arg3) ⇒ Object
979 980 981 982 983 984 985 986 987 988 989 990 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 979 def b_if_int(arg1, arg2, arg3) location = @ip + 1 @stream << 125 << arg1 << arg2 << arg3 @ip += 4 arg3.used_at location @current_block.left = arg3.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 125 end |
#b_if_serial(arg1, arg2, arg3) ⇒ Object
Branching instructions
966 967 968 969 970 971 972 973 974 975 976 977 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 966 def b_if_serial(arg1, arg2, arg3) location = @ip + 1 @stream << 124 << arg1 << arg2 << arg3 @ip += 4 arg3.used_at location @current_block.left = arg3.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 124 end |
#cast_array ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 19 def cast_array unless @instruction == 2 or @instruction == 29 @stream << 2 @ip += 1 end @instruction = 2 end |
#cast_for_multi_block_arg ⇒ Object
27 28 29 30 31 32 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 27 def cast_for_multi_block_arg @stream << 3 @ip += 1 @current_block.add_stack(0, 1) @instruction = 3 end |
#cast_for_single_block_arg ⇒ Object
34 35 36 37 38 39 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 34 def cast_for_single_block_arg @stream << 4 @ip += 1 @current_block.add_stack(0, 1) @instruction = 4 end |
#cast_for_splat_block_arg ⇒ Object
41 42 43 44 45 46 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 41 def cast_for_splat_block_arg @stream << 5 @ip += 1 @current_block.add_stack(0, 1) @instruction = 5 end |
#cast_multi_value ⇒ Object
48 49 50 51 52 53 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 48 def cast_multi_value @stream << 6 @ip += 1 @current_block.add_stack(1, 1) @instruction = 6 end |
#check_frozen ⇒ Object
55 56 57 58 59 60 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 55 def check_frozen @stream << 7 @ip += 1 @current_block.add_stack(1, 1) @instruction = 7 end |
#check_interrupts ⇒ Object
62 63 64 65 66 67 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 62 def check_interrupts @stream << 8 @ip += 1 @current_block.add_stack(0, 0) @instruction = 8 end |
#check_serial(arg1, arg2) ⇒ Object
69 70 71 72 73 74 75 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 69 def check_serial(arg1, arg2) arg1 = find_literal(arg1) @stream << 9 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 9 end |
#check_serial_private(arg1, arg2) ⇒ Object
77 78 79 80 81 82 83 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 77 def check_serial_private(arg1, arg2) arg1 = find_literal(arg1) @stream << 10 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 10 end |
#clear_exception ⇒ Object
85 86 87 88 89 90 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 85 def clear_exception @stream << 11 @ip += 1 @current_block.add_stack(0, 0) @instruction = 11 end |
#create_block(arg1) ⇒ Object
92 93 94 95 96 97 98 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 92 def create_block(arg1) arg1 = add_generator(arg1) @stream << 12 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 12 end |
#dup ⇒ Object
100 101 102 103 104 105 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 100 def dup @stream << 13 @ip += 1 @current_block.add_stack(1, 2) @instruction = 13 end |
#dup_many(arg1) ⇒ Object
107 108 109 110 111 112 113 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 107 def dup_many(arg1) arg1 = Integer(arg1) @stream << 14 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 2)) @instruction = 14 end |
#emit_push_literal(arg1) ⇒ Object
418 419 420 421 422 423 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 418 def emit_push_literal(arg1) @stream << 48 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 48 end |
#ensure_return ⇒ Object
115 116 117 118 119 120 121 122 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 115 def ensure_return @stream << 15 @ip += 1 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 15 end |
#find_const(arg1) ⇒ Object
124 125 126 127 128 129 130 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 124 def find_const(arg1) arg1 = find_literal(arg1) @stream << 16 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 16 end |
#goto(arg1) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 132 def goto(arg1) location = @ip + 1 @stream << 17 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(0, 0) @current_block.left = arg1.basic_block @current_block.close @current_block = new_basic_block @instruction = 17 end |
#goto_if_equal(arg1) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 144 def goto_if_equal(arg1) location = @ip + 1 @stream << 18 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(2, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 18 end |
#goto_if_false(arg1) ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 158 def goto_if_false(arg1) location = @ip + 1 @stream << 19 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 19 end |
#goto_if_nil(arg1) ⇒ Object
172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 172 def goto_if_nil(arg1) location = @ip + 1 @stream << 20 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 20 end |
#goto_if_not_equal(arg1) ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 186 def goto_if_not_equal(arg1) location = @ip + 1 @stream << 21 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(2, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 21 end |
#goto_if_not_nil(arg1) ⇒ Object
200 201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 200 def goto_if_not_nil(arg1) location = @ip + 1 @stream << 22 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 22 end |
#goto_if_not_undefined(arg1) ⇒ Object
214 215 216 217 218 219 220 221 222 223 224 225 226 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 214 def goto_if_not_undefined(arg1) location = @ip + 1 @stream << 23 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 23 end |
#goto_if_true(arg1) ⇒ Object
228 229 230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 228 def goto_if_true(arg1) location = @ip + 1 @stream << 24 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 24 end |
#goto_if_undefined(arg1) ⇒ Object
242 243 244 245 246 247 248 249 250 251 252 253 254 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 242 def goto_if_undefined(arg1) location = @ip + 1 @stream << 25 << arg1 @ip += 2 arg1.used_at location @current_block.add_stack(1, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 25 end |
#instance_of ⇒ Object
256 257 258 259 260 261 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 256 def instance_of @stream << 26 @ip += 1 @current_block.add_stack(2, 1) @instruction = 26 end |
#invoke_primitive(arg1, arg2) ⇒ Object
263 264 265 266 267 268 269 270 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 263 def invoke_primitive(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 27 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2, 1) @instruction = 27 end |
#kind_of ⇒ Object
272 273 274 275 276 277 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 272 def kind_of @stream << 28 @ip += 1 @current_block.add_stack(2, 1) @instruction = 28 end |
#m_bytes(arg1, arg2) ⇒ Object
Instrumentation instructions
923 924 925 926 927 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 923 def m_bytes(arg1, arg2) @stream << 117 << arg1 << arg2 @ip += 3 @instruction = 117 end |
#m_counter(arg1) ⇒ Object
929 930 931 932 933 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 929 def m_counter(arg1) @stream << 118 << arg1 @ip += 2 @instruction = 118 end |
#m_sum(arg1, arg2) ⇒ Object
935 936 937 938 939 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 935 def m_sum(arg1, arg2) @stream << 119 << arg1 << arg2 @ip += 3 @instruction = 119 end |
#m_time_stamp(arg1, arg2) ⇒ Object
947 948 949 950 951 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 947 def m_time_stamp(arg1, arg2) @stream << 121 << arg1 << arg2 @ip += 3 @instruction = 121 end |
#m_timer_start(arg1) ⇒ Object
953 954 955 956 957 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 953 def m_timer_start(arg1) @stream << 122 << arg1 @ip += 2 @instruction = 122 end |
#m_timer_stop(arg1, arg2) ⇒ Object
959 960 961 962 963 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 959 def m_timer_stop(arg1, arg2) @stream << 123 << arg1 << arg2 @ip += 3 @instruction = 123 end |
#m_value(arg1, arg2) ⇒ Object
941 942 943 944 945 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 941 def m_value(arg1, arg2) @stream << 120 << arg1 << arg2 @ip += 3 @instruction = 120 end |
#make_array(arg1) ⇒ Object
279 280 281 282 283 284 285 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 279 def make_array(arg1) arg1 = Integer(arg1) @stream << 29 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 29 end |
#move_down(arg1) ⇒ Object
287 288 289 290 291 292 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 287 def move_down(arg1) @stream << 30 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 1)) @instruction = 30 end |
#n_iadd(arg1, arg2, arg3) ⇒ Object
Native signed integer instructions
1068 1069 1070 1071 1072 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1068 def n_iadd(arg1, arg2, arg3) @stream << 137 << arg1 << arg2 << arg3 @ip += 4 @instruction = 137 end |
#n_iadd_o(arg1, arg2, arg3) ⇒ Object
1092 1093 1094 1095 1096 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1092 def n_iadd_o(arg1, arg2, arg3) @stream << 141 << arg1 << arg2 << arg3 @ip += 4 @instruction = 141 end |
#n_idiv(arg1, arg2, arg3) ⇒ Object
1086 1087 1088 1089 1090 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1086 def n_idiv(arg1, arg2, arg3) @stream << 140 << arg1 << arg2 << arg3 @ip += 4 @instruction = 140 end |
#n_idiv_o(arg1, arg2, arg3) ⇒ Object
1110 1111 1112 1113 1114 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1110 def n_idiv_o(arg1, arg2, arg3) @stream << 144 << arg1 << arg2 << arg3 @ip += 4 @instruction = 144 end |
#n_ieq(arg1, arg2, arg3) ⇒ Object
1116 1117 1118 1119 1120 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1116 def n_ieq(arg1, arg2, arg3) @stream << 145 << arg1 << arg2 << arg3 @ip += 4 @instruction = 145 end |
#n_ige(arg1, arg2, arg3) ⇒ Object
1146 1147 1148 1149 1150 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1146 def n_ige(arg1, arg2, arg3) @stream << 150 << arg1 << arg2 << arg3 @ip += 4 @instruction = 150 end |
#n_igt(arg1, arg2, arg3) ⇒ Object
1140 1141 1142 1143 1144 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1140 def n_igt(arg1, arg2, arg3) @stream << 149 << arg1 << arg2 << arg3 @ip += 4 @instruction = 149 end |
#n_ile(arg1, arg2, arg3) ⇒ Object
1134 1135 1136 1137 1138 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1134 def n_ile(arg1, arg2, arg3) @stream << 148 << arg1 << arg2 << arg3 @ip += 4 @instruction = 148 end |
#n_ilt(arg1, arg2, arg3) ⇒ Object
1128 1129 1130 1131 1132 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1128 def n_ilt(arg1, arg2, arg3) @stream << 147 << arg1 << arg2 << arg3 @ip += 4 @instruction = 147 end |
#n_imul(arg1, arg2, arg3) ⇒ Object
1080 1081 1082 1083 1084 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1080 def n_imul(arg1, arg2, arg3) @stream << 139 << arg1 << arg2 << arg3 @ip += 4 @instruction = 139 end |
#n_imul_o(arg1, arg2, arg3) ⇒ Object
1104 1105 1106 1107 1108 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1104 def n_imul_o(arg1, arg2, arg3) @stream << 143 << arg1 << arg2 << arg3 @ip += 4 @instruction = 143 end |
#n_ine(arg1, arg2, arg3) ⇒ Object
1122 1123 1124 1125 1126 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1122 def n_ine(arg1, arg2, arg3) @stream << 146 << arg1 << arg2 << arg3 @ip += 4 @instruction = 146 end |
#n_ipopcnt(arg1, arg2) ⇒ Object
1152 1153 1154 1155 1156 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1152 def n_ipopcnt(arg1, arg2) @stream << 151 << arg1 << arg2 @ip += 3 @instruction = 151 end |
#n_isub(arg1, arg2, arg3) ⇒ Object
1074 1075 1076 1077 1078 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1074 def n_isub(arg1, arg2, arg3) @stream << 138 << arg1 << arg2 << arg3 @ip += 4 @instruction = 138 end |
#n_isub_o(arg1, arg2, arg3) ⇒ Object
1098 1099 1100 1101 1102 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1098 def n_isub_o(arg1, arg2, arg3) @stream << 142 << arg1 << arg2 << arg3 @ip += 4 @instruction = 142 end |
#noop ⇒ Object
294 295 296 297 298 299 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 294 def noop @stream << 31 @ip += 1 @current_block.add_stack(0, 0) @instruction = 31 end |
#object_to_s(arg1) ⇒ Object
301 302 303 304 305 306 307 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 301 def object_to_s(arg1) arg1 = find_literal(arg1) @stream << 32 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 32 end |
#p_any(arg1) ⇒ Object
Parsing Expression Grammar instructions
814 815 816 817 818 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 814 def p_any(arg1) @stream << 99 << arg1 @ip += 2 @instruction = 99 end |
#p_call(arg1) ⇒ Object
820 821 822 823 824 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 820 def p_call(arg1) @stream << 100 << arg1 @ip += 2 @instruction = 100 end |
#p_char(arg1) ⇒ Object
826 827 828 829 830 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 826 def p_char(arg1) @stream << 101 << arg1 @ip += 2 @instruction = 101 end |
#p_char_set(arg1) ⇒ Object
832 833 834 835 836 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 832 def p_char_set(arg1) @stream << 102 << arg1 @ip += 2 @instruction = 102 end |
#p_choice(arg1, arg2) ⇒ Object
838 839 840 841 842 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 838 def p_choice(arg1, arg2) @stream << 103 << arg1 << arg2 @ip += 3 @instruction = 103 end |
#p_commit(arg1) ⇒ Object
844 845 846 847 848 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 844 def p_commit(arg1) @stream << 104 << arg1 @ip += 2 @instruction = 104 end |
#p_commit_back(arg1) ⇒ Object
850 851 852 853 854 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 850 def p_commit_back(arg1) @stream << 105 << arg1 @ip += 2 @instruction = 105 end |
#p_commit_partial(arg2) ⇒ Object
856 857 858 859 860 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 856 def p_commit_partial(arg2) @stream << 106 << arg1 @ip += 2 @instruction = 106 end |
#p_end ⇒ Object
862 863 864 865 866 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 862 def p_end @stream << 107 @ip += 1 @instruction = 107 end |
#p_fail ⇒ Object
868 869 870 871 872 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 868 def p_fail @stream << 108 @ip += 1 @instruction = 108 end |
#p_fail_twice ⇒ Object
874 875 876 877 878 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 874 def p_fail_twice @stream << 109 @ip += 1 @instruction = 109 end |
#p_init(arg1, arg2) ⇒ Object
916 917 918 919 920 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 916 def p_init(arg1, arg2) @stream << 116 << arg1 << arg2 @ip += 3 @instruction = 116 end |
#p_jump(arg1) ⇒ Object
880 881 882 883 884 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 880 def p_jump(arg1) @stream << 110 << arg1 @ip += 2 @instruction = 110 end |
#p_return ⇒ Object
886 887 888 889 890 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 886 def p_return @stream << 111 @ip += 1 @instruction = 111 end |
#p_span(arg1) ⇒ Object
892 893 894 895 896 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 892 def p_span(arg1) @stream << 112 << arg1 @ip += 2 @instruction = 112 end |
#p_test_any(arg1, arg2) ⇒ Object
898 899 900 901 902 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 898 def p_test_any(arg1, arg2) @stream << 113 << arg1 << arg2 @ip += 3 @instruction = 113 end |
#p_test_char(arg1, arg2) ⇒ Object
904 905 906 907 908 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 904 def p_test_char(arg1, arg2) @stream << 114 << arg1 << arg2 @ip += 3 @instruction = 114 end |
#p_test_char_set(arg1, arg2) ⇒ Object
910 911 912 913 914 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 910 def p_test_char_set(arg1, arg2) @stream << 115 << arg1 << arg2 @ip += 3 @instruction = 115 end |
#passed_arg(arg1) ⇒ Object
309 310 311 312 313 314 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 309 def passed_arg(arg1) @stream << 33 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 33 end |
#passed_blockarg(arg1) ⇒ Object
316 317 318 319 320 321 322 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 316 def passed_blockarg(arg1) arg1 = Integer(arg1) @stream << 34 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 34 end |
#pop ⇒ Object
324 325 326 327 328 329 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 324 def pop @stream << 35 @ip += 1 @current_block.add_stack(1, 0) @instruction = 35 end |
#pop_many(arg1) ⇒ Object
331 332 333 334 335 336 337 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 331 def pop_many(arg1) arg1 = Integer(arg1) @stream << 36 << arg1 @ip += 2 @current_block.add_stack(arg1, 0) @instruction = 36 end |
#pop_unwind ⇒ Object
339 340 341 342 343 344 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 339 def pop_unwind @stream << 37 @ip += 1 @current_block.add_stack(0, 0) @instruction = 37 end |
#push_block ⇒ Object
346 347 348 349 350 351 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 346 def push_block @stream << 38 @ip += 1 @current_block.add_stack(0, 1) @instruction = 38 end |
#push_block_arg ⇒ Object
353 354 355 356 357 358 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 353 def push_block_arg @stream << 39 @ip += 1 @current_block.add_stack(0, 1) @instruction = 39 end |
#push_const(arg1) ⇒ Object
360 361 362 363 364 365 366 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 360 def push_const(arg1) arg1 = find_literal(arg1) @stream << 40 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 40 end |
#push_cpath_top ⇒ Object
368 369 370 371 372 373 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 368 def push_cpath_top @stream << 41 @ip += 1 @current_block.add_stack(0, 1) @instruction = 41 end |
#push_current_exception ⇒ Object
375 376 377 378 379 380 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 375 def push_current_exception @stream << 42 @ip += 1 @current_block.add_stack(0, 1) @instruction = 42 end |
#push_exception_state ⇒ Object
382 383 384 385 386 387 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 382 def push_exception_state @stream << 43 @ip += 1 @current_block.add_stack(0, 1) @instruction = 43 end |
#push_false ⇒ Object
389 390 391 392 393 394 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 389 def push_false @stream << 44 @ip += 1 @current_block.add_stack(0, 1) @instruction = 44 end |
#push_file ⇒ Object
806 807 808 809 810 811 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 806 def push_file @stream << 98 @ip += 1 @current_block.add_stack(0, 1) @instruction = 98 end |
#push_has_block ⇒ Object
396 397 398 399 400 401 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 396 def push_has_block @stream << 45 @ip += 1 @current_block.add_stack(0, 1) @instruction = 45 end |
#push_int(arg1) ⇒ Object
403 404 405 406 407 408 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 403 def push_int(arg1) @stream << 46 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 46 end |
#push_ivar(arg1) ⇒ Object
410 411 412 413 414 415 416 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 410 def push_ivar(arg1) arg1 = find_literal(arg1) @stream << 47 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 47 end |
#push_local(arg1) ⇒ Object
425 426 427 428 429 430 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 425 def push_local(arg1) @stream << 49 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 49 end |
#push_local_depth(arg1, arg2) ⇒ Object
432 433 434 435 436 437 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 432 def push_local_depth(arg1, arg2) @stream << 50 << arg1 << arg2 @ip += 3 @current_block.add_stack(0, 1) @instruction = 50 end |
#push_memo(arg1) ⇒ Object
439 440 441 442 443 444 445 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 439 def push_memo(arg1) arg1 = find_literal(arg1) @stream << 51 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 51 end |
#push_mirror ⇒ Object
447 448 449 450 451 452 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 447 def push_mirror @stream << 52 @ip += 1 @current_block.add_stack(0, 1) @instruction = 52 end |
#push_my_field(arg1) ⇒ Object
454 455 456 457 458 459 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 454 def push_my_field(arg1) @stream << 53 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 53 end |
#push_my_offset(arg1) ⇒ Object
461 462 463 464 465 466 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 461 def push_my_offset(arg1) @stream << 54 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 54 end |
#push_nil ⇒ Object
468 469 470 471 472 473 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 468 def push_nil @stream << 55 @ip += 1 @current_block.add_stack(0, 1) @instruction = 55 end |
#push_proc ⇒ Object
475 476 477 478 479 480 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 475 def push_proc @stream << 56 @ip += 1 @current_block.add_stack(0, 1) @instruction = 56 end |
#push_rubinius ⇒ Object
482 483 484 485 486 487 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 482 def push_rubinius @stream << 57 @ip += 1 @current_block.add_stack(0, 1) @instruction = 57 end |
#push_scope ⇒ Object
489 490 491 492 493 494 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 489 def push_scope @stream << 58 @ip += 1 @current_block.add_stack(0, 1) @instruction = 58 end |
#push_self ⇒ Object
496 497 498 499 500 501 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 496 def push_self @stream << 59 @ip += 1 @current_block.add_stack(0, 1) @instruction = 59 end |
#push_stack_local(arg1) ⇒ Object
503 504 505 506 507 508 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 503 def push_stack_local(arg1) @stream << 60 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 60 end |
#push_true ⇒ Object
510 511 512 513 514 515 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 510 def push_true @stream << 61 @ip += 1 @current_block.add_stack(0, 1) @instruction = 61 end |
#push_type ⇒ Object
517 518 519 520 521 522 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 517 def push_type @stream << 62 @ip += 1 @current_block.add_stack(0, 1) @instruction = 62 end |
#push_undef ⇒ Object
524 525 526 527 528 529 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 524 def push_undef @stream << 63 @ip += 1 @current_block.add_stack(0, 1) @instruction = 63 end |
#push_variables ⇒ Object
531 532 533 534 535 536 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 531 def push_variables @stream << 64 @ip += 1 @current_block.add_stack(0, 1) @instruction = 64 end |
#r_copy(arg1, arg2) ⇒ Object
1061 1062 1063 1064 1065 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1061 def r_copy(arg1, arg2) @stream << 136 << arg1 << arg2 @ip += 3 @instruction = 136 end |
#r_load_int(arg1, arg2) ⇒ Object
1049 1050 1051 1052 1053 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1049 def r_load_int(arg1, arg2) @stream << 134 << arg1 << arg2 @ip += 3 @instruction = 134 end |
#r_load_literal(arg1, arg2) ⇒ Object
1043 1044 1045 1046 1047 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1043 def r_load_literal(arg1, arg2) @stream << 133 << arg1 << arg2 @ip += 3 @instruction = 133 end |
#r_load_local(arg1, arg2) ⇒ Object
Register movement instructions
1006 1007 1008 1009 1010 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1006 def r_load_local(arg1, arg2) @stream << 127 << arg1 << arg2 @ip += 3 @instructions = 127 end |
#r_load_local_depth(arg1, arg2, arg3) ⇒ Object
1018 1019 1020 1021 1022 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1018 def r_load_local_depth(arg1, arg2, arg3) @stream << 129 << arg1 << arg2 << arg3 @ip += 4 @instructions = 129 end |
#r_load_stack(arg1) ⇒ Object
1030 1031 1032 1033 1034 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1030 def r_load_stack(arg1) @stream << 131 << arg1 @ip += 2 @instructions = 131 end |
#r_store_int(arg1, arg2) ⇒ Object
1055 1056 1057 1058 1059 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1055 def r_store_int(arg1, arg2) @stream << 135 << arg1 << arg2 @ip += 3 @instruction = 135 end |
#r_store_local(arg1, arg2) ⇒ Object
1012 1013 1014 1015 1016 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1012 def r_store_local(arg1, arg2) @stream << 128 << arg1 << arg2 @ip += 3 @instructions = 128 end |
#r_store_local_depth(arg1, arg2, arg3) ⇒ Object
1024 1025 1026 1027 1028 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1024 def r_store_local_depth(arg1, arg2, arg3) @stream << 130 << arg1 << arg2 << arg3 @ip += 4 @instructions = 130 end |
#r_store_stack(arg1) ⇒ Object
1036 1037 1038 1039 1040 1041 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 1036 def r_store_stack(arg1) @stream << 132 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instructions = 132 end |
#raise_break ⇒ Object
538 539 540 541 542 543 544 545 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 538 def raise_break @stream << 65 @ip += 1 @current_block.add_stack(1, 1) @current_block.close false @current_block = new_basic_block @instruction = 65 end |
#raise_exc ⇒ Object
547 548 549 550 551 552 553 554 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 547 def raise_exc @stream << 66 @ip += 1 @current_block.add_stack(1, 0) @current_block.close false @current_block = new_basic_block @instruction = 66 end |
#raise_return ⇒ Object
556 557 558 559 560 561 562 563 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 556 def raise_return @stream << 67 @ip += 1 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 67 end |
#reraise ⇒ Object
565 566 567 568 569 570 571 572 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 565 def reraise @stream << 68 @ip += 1 @current_block.add_stack(0, 0) @current_block.close false @current_block = new_basic_block @instruction = 68 end |
#restore_exception_state ⇒ Object
574 575 576 577 578 579 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 574 def restore_exception_state @stream << 69 @ip += 1 @current_block.add_stack(1, 0) @instruction = 69 end |
#ret(arg1) ⇒ Object
581 582 583 584 585 586 587 588 589 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 581 def ret(arg1) arg1 = Integer(arg1) @stream << 70 << arg1 @ip += 2 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 70 end |
#rotate(arg1) ⇒ Object
591 592 593 594 595 596 597 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 591 def rotate(arg1) arg1 = Integer(arg1) @stream << 71 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 1)) @instruction = 71 end |
#send_method(arg1) ⇒ Object
599 600 601 602 603 604 605 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 599 def send_method(arg1) arg1 = find_literal(arg1) @stream << 72 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 72 end |
#send_stack(arg1, arg2) ⇒ Object
607 608 609 610 611 612 613 614 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 607 def send_stack(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 73 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 73 end |
#send_stack_with_block(arg1, arg2) ⇒ Object
616 617 618 619 620 621 622 623 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 616 def send_stack_with_block(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 74 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+2, 1) @instruction = 74 end |
#send_stack_with_splat(arg1, arg2) ⇒ Object
625 626 627 628 629 630 631 632 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 625 def send_stack_with_splat(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 75 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+3, 1) @instruction = 75 end |
#send_super_stack_with_block(arg1, arg2) ⇒ Object
634 635 636 637 638 639 640 641 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 634 def send_super_stack_with_block(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 76 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 76 end |
#send_super_stack_with_splat(arg1, arg2) ⇒ Object
643 644 645 646 647 648 649 650 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 643 def send_super_stack_with_splat(arg1, arg2) arg1 = find_literal(arg1) arg2 = Integer(arg2) @stream << 77 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+2, 1) @instruction = 77 end |
#send_vcall(arg1) ⇒ Object
652 653 654 655 656 657 658 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 652 def send_vcall(arg1) arg1 = find_literal(arg1) @stream << 78 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 78 end |
#set_call_flags(arg1) ⇒ Object
660 661 662 663 664 665 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 660 def set_call_flags(arg1) @stream << 79 << arg1 @ip += 2 @current_block.add_stack(0, 0) @instruction = 79 end |
#set_const(arg1) ⇒ Object
667 668 669 670 671 672 673 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 667 def set_const(arg1) arg1 = find_literal(arg1) @stream << 80 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 80 end |
#set_const_at(arg1) ⇒ Object
675 676 677 678 679 680 681 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 675 def set_const_at(arg1) arg1 = find_literal(arg1) @stream << 81 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 81 end |
#set_ivar(arg1) ⇒ Object
683 684 685 686 687 688 689 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 683 def set_ivar(arg1) arg1 = find_literal(arg1) @stream << 82 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 82 end |
#set_local(arg1) ⇒ Object
691 692 693 694 695 696 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 691 def set_local(arg1) @stream << 83 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 83 end |
#set_local_depth(arg1, arg2) ⇒ Object
698 699 700 701 702 703 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 698 def set_local_depth(arg1, arg2) @stream << 84 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 84 end |
#set_stack_local(arg1) ⇒ Object
705 706 707 708 709 710 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 705 def set_stack_local(arg1) @stream << 85 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 85 end |
#setup_unwind(arg1, arg2) ⇒ Object
712 713 714 715 716 717 718 719 720 721 722 723 724 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 712 def setup_unwind(arg1, arg2) location = @ip + 1 @stream << 86 << arg1 << arg2 @ip += 3 arg1.used_at location @current_block.add_stack(0, 0) @current_block.left = arg1.basic_block @current_block.close block = new_basic_block @current_block.right = block @current_block = block @instruction = 86 end |
#shift_array ⇒ Object
726 727 728 729 730 731 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 726 def shift_array @stream << 87 @ip += 1 @current_block.add_stack(1, 2) @instruction = 87 end |
#store_my_field(arg1) ⇒ Object
733 734 735 736 737 738 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 733 def store_my_field(arg1) @stream << 88 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 88 end |
#string_append ⇒ Object
740 741 742 743 744 745 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 740 def string_append @stream << 89 @ip += 1 @current_block.add_stack(2, 1) @instruction = 89 end |
#string_build(arg1) ⇒ Object
747 748 749 750 751 752 753 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 747 def string_build(arg1) arg1 = Integer(arg1) @stream << 90 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 90 end |
#string_dup ⇒ Object
755 756 757 758 759 760 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 755 def string_dup @stream << 91 @ip += 1 @current_block.add_stack(1, 1) @instruction = 91 end |
#swap ⇒ Object
762 763 764 765 766 767 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 762 def swap @stream << 92 @ip += 1 @current_block.add_stack(2, 2) @instruction = 92 end |
#unwind(arg1) ⇒ Object
769 770 771 772 773 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 769 def unwind(arg1) @stream << 93 << arg1 @ip += 2 @instruction = 93 end |
#yield_debugger ⇒ Object
775 776 777 778 779 780 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 775 def yield_debugger @stream << 94 @ip += 1 @current_block.add_stack(0, 0) @instruction = 94 end |
#yield_splat(arg1) ⇒ Object
782 783 784 785 786 787 788 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 782 def yield_splat(arg1) arg1 = Integer(arg1) @stream << 95 << arg1 @ip += 2 @current_block.add_stack(arg1+1, 1) @instruction = 95 end |
#yield_stack(arg1) ⇒ Object
790 791 792 793 794 795 796 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 790 def yield_stack(arg1) arg1 = Integer(arg1) @stream << 96 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 96 end |
#zsuper(arg1) ⇒ Object
798 799 800 801 802 803 804 |
# File 'lib/rubinius/code/compiler/generator_methods.rb', line 798 def zsuper(arg1) arg1 = find_literal(arg1) @stream << 97 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 97 end |