Module: Rubinius::ToolSets.current::ToolSet::GeneratorMethods
- Included in:
- Generator
- Defined in:
- lib/rubinius/compiler/generator_methods.rb
Instance Method Summary collapse
- #add_scope ⇒ Object
- #allow_private ⇒ Object
- #call_custom(arg1, arg2) ⇒ Object
- #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_many(arg1) ⇒ Object
- #dup_top ⇒ Object
- #emit_push_literal(arg1) ⇒ Object
- #ensure_return ⇒ Object
- #find_const(arg1) ⇒ Object
- #find_const_fast(arg1) ⇒ Object
- #goto(arg1) ⇒ Object
- #goto_if_false(arg1) ⇒ Object
- #goto_if_true(arg1) ⇒ Object
- #instance_of ⇒ Object
- #invoke_primitive(arg1, arg2) ⇒ Object
- #is_nil ⇒ Object
- #kind_of ⇒ Object
- #make_array(arg1) ⇒ Object
- #meta_push_0 ⇒ Object
- #meta_push_1 ⇒ Object
- #meta_push_2 ⇒ Object
- #meta_push_neg_1 ⇒ Object
- #meta_send_call(arg1, arg2) ⇒ Object
- #meta_send_op_equal(arg1) ⇒ Object
- #meta_send_op_gt(arg1) ⇒ Object
- #meta_send_op_lt(arg1) ⇒ Object
- #meta_send_op_minus(arg1) ⇒ Object
- #meta_send_op_plus(arg1) ⇒ Object
- #meta_send_op_tequal(arg1) ⇒ Object
- #meta_to_s(arg1) ⇒ Object
- #move_down(arg1) ⇒ Object
- #noop ⇒ 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_fast(arg1) ⇒ Object
- #push_cpath_top ⇒ Object
- #push_current_exception ⇒ Object
- #push_exception_state ⇒ Object
- #push_false ⇒ Object
- #push_has_block ⇒ Object
- #push_int(arg1) ⇒ Object
- #push_ivar(arg1) ⇒ Object
- #push_local(arg1) ⇒ Object
- #push_local_depth(arg1, arg2) ⇒ 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
- #raise_break ⇒ Object
- #raise_exc ⇒ Object
- #raise_return ⇒ Object
- #reraise ⇒ Object
- #restore_exception_state ⇒ Object
- #ret ⇒ 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
- #set_call_flags(arg1) ⇒ Object
- #set_const(arg1) ⇒ Object
- #set_const_at(arg1) ⇒ Object
- #set_ivar(arg1) ⇒ Object
- #set_literal(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_stack ⇒ Object
- #yield_debugger ⇒ Object
- #yield_splat(arg1) ⇒ Object
- #yield_stack(arg1) ⇒ Object
- #zsuper(arg1) ⇒ Object
Instance Method Details
#add_scope ⇒ Object
526 527 528 529 530 531 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 526 def add_scope @stream << 67 @ip += 1 @current_block.add_stack(1, 0) @instruction = 67 end |
#allow_private ⇒ Object
391 392 393 394 395 396 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 391 def allow_private @stream << 48 @ip += 1 @current_block.add_stack(0, 0) @instruction = 48 end |
#call_custom(arg1, arg2) ⇒ Object
771 772 773 774 775 776 777 778 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 771 def call_custom(arg1, arg2) arg1 = find_literal arg1 arg2 = Integer(arg2) @stream << 101 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 101 end |
#cast_array ⇒ Object
310 311 312 313 314 315 316 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 310 def cast_array unless @instruction == 36 or @instruction == 35 @stream << 36 @ip += 1 end @instruction = 36 end |
#cast_for_multi_block_arg ⇒ Object
470 471 472 473 474 475 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 470 def cast_for_multi_block_arg @stream << 59 @ip += 1 @current_block.add_stack(0, 1) @instruction = 59 end |
#cast_for_single_block_arg ⇒ Object
463 464 465 466 467 468 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 463 def cast_for_single_block_arg @stream << 58 @ip += 1 @current_block.add_stack(0, 1) @instruction = 58 end |
#cast_for_splat_block_arg ⇒ Object
477 478 479 480 481 482 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 477 def cast_for_splat_block_arg @stream << 60 @ip += 1 @current_block.add_stack(0, 1) @instruction = 60 end |
#cast_multi_value ⇒ Object
748 749 750 751 752 753 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 748 def cast_multi_value @stream << 98 @ip += 1 @current_block.add_stack(1, 1) @instruction = 98 end |
#check_frozen ⇒ Object
741 742 743 744 745 746 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 741 def check_frozen @stream << 97 @ip += 1 @current_block.add_stack(1, 1) @instruction = 97 end |
#check_interrupts ⇒ Object
540 541 542 543 544 545 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 540 def check_interrupts @stream << 69 @ip += 1 @current_block.add_stack(0, 0) @instruction = 69 end |
#check_serial(arg1, arg2) ⇒ Object
561 562 563 564 565 566 567 568 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 561 def check_serial(arg1, arg2) arg1 = find_literal arg1 arg2 = Integer(arg2) @stream << 72 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 72 end |
#check_serial_private(arg1, arg2) ⇒ Object
570 571 572 573 574 575 576 577 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 570 def check_serial_private(arg1, arg2) arg1 = find_literal arg1 arg2 = Integer(arg2) @stream << 73 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 73 end |
#clear_exception ⇒ Object
216 217 218 219 220 221 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 216 def clear_exception @stream << 25 @ip += 1 @current_block.add_stack(0, 0) @instruction = 25 end |
#create_block(arg1) ⇒ Object
454 455 456 457 458 459 460 461 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 454 def create_block(arg1) arg1 = add_literal arg1 @generators << arg1 @stream << 57 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 57 end |
#dup_many(arg1) ⇒ Object
139 140 141 142 143 144 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 139 def dup_many(arg1) @stream << 14 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 2)) @instruction = 14 end |
#dup_top ⇒ Object
132 133 134 135 136 137 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 132 def dup_top @stream << 13 @ip += 1 @current_block.add_stack(1, 2) @instruction = 13 end |
#emit_push_literal(arg1) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 69 def emit_push_literal(arg1) @stream << 7 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 7 end |
#ensure_return ⇒ Object
276 277 278 279 280 281 282 283 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 276 def ensure_return @stream << 32 @ip += 1 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 32 end |
#find_const(arg1) ⇒ Object
355 356 357 358 359 360 361 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 355 def find_const(arg1) arg1 = find_literal arg1 @stream << 43 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 43 end |
#find_const_fast(arg1) ⇒ Object
377 378 379 380 381 382 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 377 def find_const_fast(arg1) @stream << 46 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 46 end |
#goto(arg1) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 76 def goto(arg1) location = @ip + 1 @stream << 8 << 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 = 8 end |
#goto_if_false(arg1) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 88 def goto_if_false(arg1) location = @ip + 1 @stream << 9 << 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 = 9 end |
#goto_if_true(arg1) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 102 def goto_if_true(arg1) location = @ip + 1 @stream << 10 << 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 = 10 end |
#instance_of ⇒ Object
600 601 602 603 604 605 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 600 def instance_of @stream << 77 @ip += 1 @current_block.add_stack(2, 1) @instruction = 77 end |
#invoke_primitive(arg1, arg2) ⇒ Object
755 756 757 758 759 760 761 762 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 755 def invoke_primitive(arg1, arg2) arg1 = find_literal arg1 arg2 = Integer(arg2) @stream << 99 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2, 1) @instruction = 99 end |
#is_nil ⇒ Object
554 555 556 557 558 559 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 554 def is_nil @stream << 71 @ip += 1 @current_block.add_stack(1, 1) @instruction = 71 end |
#kind_of ⇒ Object
593 594 595 596 597 598 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 593 def kind_of @stream << 76 @ip += 1 @current_block.add_stack(2, 1) @instruction = 76 end |
#make_array(arg1) ⇒ Object
303 304 305 306 307 308 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 303 def make_array(arg1) @stream << 35 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 35 end |
#meta_push_0 ⇒ Object
614 615 616 617 618 619 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 614 def @stream << 79 @ip += 1 @current_block.add_stack(0, 1) @instruction = 79 end |
#meta_push_1 ⇒ Object
621 622 623 624 625 626 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 621 def @stream << 80 @ip += 1 @current_block.add_stack(0, 1) @instruction = 80 end |
#meta_push_2 ⇒ Object
628 629 630 631 632 633 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 628 def @stream << 81 @ip += 1 @current_block.add_stack(0, 1) @instruction = 81 end |
#meta_push_neg_1 ⇒ Object
607 608 609 610 611 612 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 607 def @stream << 78 @ip += 1 @current_block.add_stack(0, 1) @instruction = 78 end |
#meta_send_call(arg1, arg2) ⇒ Object
677 678 679 680 681 682 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 677 def (arg1, arg2) @stream << 88 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 88 end |
#meta_send_op_equal(arg1) ⇒ Object
649 650 651 652 653 654 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 649 def (arg1) @stream << 84 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 84 end |
#meta_send_op_gt(arg1) ⇒ Object
663 664 665 666 667 668 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 663 def (arg1) @stream << 86 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 86 end |
#meta_send_op_lt(arg1) ⇒ Object
656 657 658 659 660 661 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 656 def (arg1) @stream << 85 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 85 end |
#meta_send_op_minus(arg1) ⇒ Object
642 643 644 645 646 647 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 642 def (arg1) @stream << 83 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 83 end |
#meta_send_op_plus(arg1) ⇒ Object
635 636 637 638 639 640 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 635 def (arg1) @stream << 82 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 82 end |
#meta_send_op_tequal(arg1) ⇒ Object
670 671 672 673 674 675 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 670 def (arg1) @stream << 87 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 87 end |
#meta_to_s(arg1) ⇒ Object
780 781 782 783 784 785 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 780 def (arg1) @stream << 102 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 102 end |
#move_down(arg1) ⇒ Object
167 168 169 170 171 172 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 167 def move_down(arg1) @stream << 18 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 1)) @instruction = 18 end |
#noop ⇒ Object
5 6 7 8 9 10 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 5 def noop @stream << 0 @ip += 1 @current_block.add_stack(0, 0) @instruction = 0 end |
#passed_arg(arg1) ⇒ Object
202 203 204 205 206 207 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 202 def passed_arg(arg1) @stream << 23 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 23 end |
#passed_blockarg(arg1) ⇒ Object
447 448 449 450 451 452 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 447 def passed_blockarg(arg1) @stream << 56 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 56 end |
#pop ⇒ Object
146 147 148 149 150 151 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 146 def pop @stream << 15 @ip += 1 @current_block.add_stack(1, 0) @instruction = 15 end |
#pop_many(arg1) ⇒ Object
153 154 155 156 157 158 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 153 def pop_many(arg1) @stream << 16 << arg1 @ip += 2 @current_block.add_stack(arg1, 0) @instruction = 16 end |
#pop_unwind ⇒ Object
260 261 262 263 264 265 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 260 def pop_unwind @stream << 30 @ip += 1 @current_block.add_stack(0, 0) @instruction = 30 end |
#push_block ⇒ Object
440 441 442 443 444 445 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 440 def push_block @stream << 55 @ip += 1 @current_block.add_stack(0, 1) @instruction = 55 end |
#push_block_arg ⇒ Object
699 700 701 702 703 704 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 699 def push_block_arg @stream << 91 @ip += 1 @current_block.add_stack(0, 1) @instruction = 91 end |
#push_const_fast(arg1) ⇒ Object
370 371 372 373 374 375 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 370 def push_const_fast(arg1) @stream << 45 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 45 end |
#push_cpath_top ⇒ Object
363 364 365 366 367 368 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 363 def push_cpath_top @stream << 44 @ip += 1 @current_block.add_stack(0, 1) @instruction = 44 end |
#push_current_exception ⇒ Object
209 210 211 212 213 214 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 209 def push_current_exception @stream << 24 @ip += 1 @current_block.add_stack(0, 1) @instruction = 24 end |
#push_exception_state ⇒ Object
223 224 225 226 227 228 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 223 def push_exception_state @stream << 26 @ip += 1 @current_block.add_stack(0, 1) @instruction = 26 end |
#push_false ⇒ Object
26 27 28 29 30 31 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 26 def push_false @stream << 3 @ip += 1 @current_block.add_stack(0, 1) @instruction = 3 end |
#push_has_block ⇒ Object
727 728 729 730 731 732 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 727 def push_has_block @stream << 95 @ip += 1 @current_block.add_stack(0, 1) @instruction = 95 end |
#push_int(arg1) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 33 def push_int(arg1) if arg1 > 2 and arg1 < 256 @stream << 4 << arg1 @current_block.add_stack(0, 1) @ip += 2 @instruction = 4 else case arg1 when -1 when 0 when 1 when 2 else push_literal arg1 end end end |
#push_ivar(arg1) ⇒ Object
333 334 335 336 337 338 339 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 333 def push_ivar(arg1) arg1 = find_literal arg1 @stream << 39 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 39 end |
#push_local(arg1) ⇒ Object
181 182 183 184 185 186 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 181 def push_local(arg1) @stream << 20 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 20 end |
#push_local_depth(arg1, arg2) ⇒ Object
188 189 190 191 192 193 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 188 def push_local_depth(arg1, arg2) @stream << 21 << arg1 << arg2 @ip += 3 @current_block.add_stack(0, 1) @instruction = 21 end |
#push_mirror ⇒ Object
794 795 796 797 798 799 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 794 def push_mirror @stream << 104 @ip += 1 @current_block.add_stack(0, 1) @instruction = 104 end |
#push_my_field(arg1) ⇒ Object
579 580 581 582 583 584 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 579 def push_my_field(arg1) @stream << 74 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 74 end |
#push_my_offset(arg1) ⇒ Object
684 685 686 687 688 689 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 684 def push_my_offset(arg1) @stream << 89 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 89 end |
#push_nil ⇒ Object
12 13 14 15 16 17 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 12 def push_nil @stream << 1 @ip += 1 @current_block.add_stack(0, 1) @instruction = 1 end |
#push_proc ⇒ Object
734 735 736 737 738 739 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 734 def push_proc @stream << 96 @ip += 1 @current_block.add_stack(0, 1) @instruction = 96 end |
#push_rubinius ⇒ Object
764 765 766 767 768 769 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 764 def push_rubinius @stream << 100 @ip += 1 @current_block.add_stack(0, 1) @instruction = 100 end |
#push_scope ⇒ Object
519 520 521 522 523 524 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 519 def push_scope @stream << 66 @ip += 1 @current_block.add_stack(0, 1) @instruction = 66 end |
#push_self ⇒ Object
55 56 57 58 59 60 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 55 def push_self @stream << 5 @ip += 1 @current_block.add_stack(0, 1) @instruction = 5 end |
#push_stack_local(arg1) ⇒ Object
713 714 715 716 717 718 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 713 def push_stack_local(arg1) @stream << 93 << arg1 @ip += 2 @current_block.add_stack(0, 1) @instruction = 93 end |
#push_true ⇒ Object
19 20 21 22 23 24 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 19 def push_true @stream << 2 @ip += 1 @current_block.add_stack(0, 1) @instruction = 2 end |
#push_type ⇒ Object
787 788 789 790 791 792 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 787 def push_type @stream << 103 @ip += 1 @current_block.add_stack(0, 1) @instruction = 103 end |
#push_undef ⇒ Object
706 707 708 709 710 711 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 706 def push_undef @stream << 92 @ip += 1 @current_block.add_stack(0, 1) @instruction = 92 end |
#push_variables ⇒ Object
533 534 535 536 537 538 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 533 def push_variables @stream << 68 @ip += 1 @current_block.add_stack(0, 1) @instruction = 68 end |
#raise_break ⇒ Object
285 286 287 288 289 290 291 292 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 285 def raise_break @stream << 33 @ip += 1 @current_block.add_stack(1, 1) @current_block.close false @current_block = new_basic_block @instruction = 33 end |
#raise_exc ⇒ Object
237 238 239 240 241 242 243 244 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 237 def raise_exc @stream << 28 @ip += 1 @current_block.add_stack(1, 0) @current_block.close false @current_block = new_basic_block @instruction = 28 end |
#raise_return ⇒ Object
267 268 269 270 271 272 273 274 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 267 def raise_return @stream << 31 @ip += 1 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 31 end |
#reraise ⇒ Object
294 295 296 297 298 299 300 301 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 294 def reraise @stream << 34 @ip += 1 @current_block.add_stack(0, 0) @current_block.close false @current_block = new_basic_block @instruction = 34 end |
#restore_exception_state ⇒ Object
230 231 232 233 234 235 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 230 def restore_exception_state @stream << 27 @ip += 1 @current_block.add_stack(1, 0) @instruction = 27 end |
#ret ⇒ Object
116 117 118 119 120 121 122 123 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 116 def ret @stream << 11 @ip += 1 @current_block.add_stack(1, 1) @current_block.close true @current_block = new_basic_block @instruction = 11 end |
#rotate(arg1) ⇒ Object
160 161 162 163 164 165 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 160 def rotate(arg1) @stream << 17 << arg1 @ip += 2 @current_block.add_stack(arg1, (arg1 * 1)) @instruction = 17 end |
#send_method(arg1) ⇒ Object
398 399 400 401 402 403 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 398 def send_method(arg1) @stream << 49 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 49 end |
#send_stack(arg1, arg2) ⇒ Object
405 406 407 408 409 410 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 405 def send_stack(arg1, arg2) @stream << 50 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 50 end |
#send_stack_with_block(arg1, arg2) ⇒ Object
412 413 414 415 416 417 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 412 def send_stack_with_block(arg1, arg2) @stream << 51 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+2, 1) @instruction = 51 end |
#send_stack_with_splat(arg1, arg2) ⇒ Object
419 420 421 422 423 424 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 419 def send_stack_with_splat(arg1, arg2) @stream << 52 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+3, 1) @instruction = 52 end |
#send_super_stack_with_block(arg1, arg2) ⇒ Object
426 427 428 429 430 431 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 426 def send_super_stack_with_block(arg1, arg2) @stream << 53 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+1, 1) @instruction = 53 end |
#send_super_stack_with_splat(arg1, arg2) ⇒ Object
433 434 435 436 437 438 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 433 def send_super_stack_with_splat(arg1, arg2) @stream << 54 << arg1 << arg2 @ip += 3 @current_block.add_stack(arg2+2, 1) @instruction = 54 end |
#set_call_flags(arg1) ⇒ Object
384 385 386 387 388 389 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 384 def set_call_flags(arg1) @stream << 47 << arg1 @ip += 2 @current_block.add_stack(0, 0) @instruction = 47 end |
#set_const(arg1) ⇒ Object
341 342 343 344 345 346 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 341 def set_const(arg1) @stream << 41 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 41 end |
#set_const_at(arg1) ⇒ Object
348 349 350 351 352 353 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 348 def set_const_at(arg1) @stream << 42 << arg1 @ip += 2 @current_block.add_stack(2, 1) @instruction = 42 end |
#set_ivar(arg1) ⇒ Object
325 326 327 328 329 330 331 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 325 def set_ivar(arg1) arg1 = find_literal arg1 @stream << 38 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 38 end |
#set_literal(arg1) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 62 def set_literal(arg1) @stream << 6 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 6 end |
#set_local(arg1) ⇒ Object
174 175 176 177 178 179 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 174 def set_local(arg1) @stream << 19 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 19 end |
#set_local_depth(arg1, arg2) ⇒ Object
195 196 197 198 199 200 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 195 def set_local_depth(arg1, arg2) @stream << 22 << arg1 << arg2 @ip += 3 @current_block.add_stack(1, 1) @instruction = 22 end |
#set_stack_local(arg1) ⇒ Object
720 721 722 723 724 725 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 720 def set_stack_local(arg1) @stream << 94 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 94 end |
#setup_unwind(arg1, arg2) ⇒ Object
246 247 248 249 250 251 252 253 254 255 256 257 258 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 246 def setup_unwind(arg1, arg2) location = @ip + 1 @stream << 29 << 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 = 29 end |
#shift_array ⇒ Object
318 319 320 321 322 323 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 318 def shift_array @stream << 37 @ip += 1 @current_block.add_stack(1, 2) @instruction = 37 end |
#store_my_field(arg1) ⇒ Object
586 587 588 589 590 591 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 586 def store_my_field(arg1) @stream << 75 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 75 end |
#string_append ⇒ Object
498 499 500 501 502 503 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 498 def string_append @stream << 63 @ip += 1 @current_block.add_stack(2, 1) @instruction = 63 end |
#string_build(arg1) ⇒ Object
505 506 507 508 509 510 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 505 def string_build(arg1) @stream << 64 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 64 end |
#string_dup ⇒ Object
512 513 514 515 516 517 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 512 def string_dup @stream << 65 @ip += 1 @current_block.add_stack(1, 1) @instruction = 65 end |
#swap_stack ⇒ Object
125 126 127 128 129 130 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 125 def swap_stack @stream << 12 @ip += 1 @current_block.add_stack(2, 2) @instruction = 12 end |
#yield_debugger ⇒ Object
547 548 549 550 551 552 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 547 def yield_debugger @stream << 70 @ip += 1 @current_block.add_stack(0, 0) @instruction = 70 end |
#yield_splat(arg1) ⇒ Object
491 492 493 494 495 496 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 491 def yield_splat(arg1) @stream << 62 << arg1 @ip += 2 @current_block.add_stack(arg1+1, 1) @instruction = 62 end |
#yield_stack(arg1) ⇒ Object
484 485 486 487 488 489 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 484 def yield_stack(arg1) @stream << 61 << arg1 @ip += 2 @current_block.add_stack(arg1, 1) @instruction = 61 end |
#zsuper(arg1) ⇒ Object
691 692 693 694 695 696 697 |
# File 'lib/rubinius/compiler/generator_methods.rb', line 691 def zsuper(arg1) arg1 = find_literal arg1 @stream << 90 << arg1 @ip += 2 @current_block.add_stack(1, 1) @instruction = 90 end |