Lines Matching full:do
46 ['8', '16'].each do |from|
47 ['u32', 'u64'].each do |to|
48 macro(:"u#{from}to#{to}") do |arg|
54 ['8', '16'].each do |from|
55 macro(:"i#{from}toi32") do |arg|
60 [['u32', 'UINT32'], ['i32', 'INT32']].each do |from, from_type|
61 ['b', 'i8', 'u8', 'i16', 'u16', 'i64', 'u64'].each do |to|
62 macro(:"#{from}to#{to}") do |arg|
68 ['b', 'u32', 'i32'].each do |to|
69 macro(:"u64to#{to}") do |arg|
74 ['b', 'i32'].each do |to|
75 macro(:"i64to#{to}") do |arg|
80 [['u32', 'UINT32'], ['i32', 'INT32'], ['u64', 'UINT64'], ['i64', 'INT64']].each do |from, from_type|
81 ['f32', 'f64'].each do |to|
82 macro(:"#{from}to#{to}") do |arg|
88 ['f64', 'i32', 'u32', 'i64', 'u64'].each do |to|
89 macro(:"f32to#{to}") do |arg|
94 ['i32', 'u32', 'i64', 'u64', 'f32'].each do |to|
95 macro(:"f64to#{to}") do |arg|
100 macro(:u8tou1) do |arg|
104 macro(:u32tou1) do |arg|
108 macro(:i8tou16) do |arg|
112 macro(:i16tou16) do |arg|
116 macro(:i16toi32) do |arg|
120 macro(:i8tou32) do |arg|
124 macro(:i16tou32) do |arg|
128 macro(:i32tou32) do |arg|
132 ['u8', 'u16'].each do |from|
133 macro(:"#{from}toword") do |arg|
142 macro(:u32toi32) do |arg|
146 macro(:i32tou64) do |arg|
150 macro(:u32toword) do |arg|
158 macro(:i32tou8) do |arg|
162 macro(:i32tou32) do |arg|
166 macro(:i32tof64) do |arg|
170 macro(:u64tou32) do |arg|
174 macro(:i64tou8) do |arg|
178 macro(:i64tou32) do |arg|
182 macro(:f64tou32) do |arg|
186 macro(:f64toi64) do |arg|
190 macro(:i32tou1) do |arg|
198 macro(:i32toany) do |arg|
202 macro(:f64toany) do |arg|
208 macro(:readbyte) do |pc, offset|
212 macro(:read_lower_4bits) do |offset|
222 macro(:signed_read_higher_4bits) do |offset|
233 macro(:read_higher_4bits) do |offset|
244 macro(:as_vreg_idx) do |operand|
259 macro(:as_id) do |operand|
272 macro(:as_imm) do |operand|
299 macro(:ins_offset) do ||
306 macro(:frame_vreg_ptr) do |frame, vreg_idx|
311 macro(:vreg_ptr) do |operand|
316 macro(:acc_ptr_frame) do |frame|
320 macro(:acc_ptr) do
324 macro(:get_value) do |vreg_ptr|
328 macro(:set_value) do |vreg_ptr, val|
332 macro(:get_tag) do |vreg_ptr|
338 macro(:set_tag_frame) do |frame, vreg_ptr, tag|
344 macro(:set_tag) do |vreg_ptr, tag|
348 macro(:get_acc_tag) do |acc_ptr|
352 macro(:set_acc_tag) do |acc_ptr, tag|
356 macro(:vreg_value) do |operand|
360 macro(:acc_value) do
364 macro(:set_primitive) do |v, value|
369 macro(:set_object) do |v, value|
374 macro(:set_acc_primitive) do |acc_ptr, value|
379 macro(:set_acc_object) do |acc_ptr, value|
384 macro(:has_object) do |v|
395 macro(:copy_acc) do |dst_ptr, src_ptr|
400 macro(:copy_reg) do |new_frame, dst_idx, src_operand|
409 macro(:dispatch) do |table, pc|
418 macro(:call_runtime) do |sym, *args|
422 macro(:advance_pc_imm) do |pc, imm|
426 macro(:advance_pc_var) do |pc, var|
430 macro(:acc_receiver) do |op, imm|
439 macro(:generic_call) do |id, size, is_initobj, receiver, nargs, copy_lambda|
484 macro(:generic_return) do |copy_lambda|
500 macro(:handle_movi) do |vd, imm|
504 macro(:handle_movi_64) do |vd, imm|
508 macro(:handle_mov) do |vd, vs|
513 macro(:handle_lda) do |vs|
517 macro(:handle_lda_str_id32) do |id|
523 macro(:handle_lda_type_id16) do |id|
530 macro(:handle_lda_const_v8_id32) do |v, id|
536 macro(:handle_ldai_imm) do |imm|
540 macro(:handle_ldai_64_imm) do |imm|
544 macro(:handle_fldai_imm) do |imm|
548 macro(:handle_fldai_64_imm) do |imm|
552 macro(:handle_add_v4_v4) do |vs1, vs2|
557 macro(:handle_fadd2_v8) do |vs|
562 macro(:handle_sta_v8) do |vd|
566 macro(:handle_sta_64_v8) do |vd|
570 macro(:handle_jmp_imm) do |pc, imm|
574 macro(:handle_jmp_imm32) do |pc, imm32|
578 macro(:handle_inci_v4_imm4) do |v, imm|
584 macro(:handle_cmp) do |acc, vs|
596 ['Add', 'Sub', 'And', 'Mul', 'Or', 'Xor', 'Shl', 'Shr', 'AShr'].each do |op|
598 macro(:"handle_#{op.downcase}_v4_v4") do |vs1, vs2|
603 macro(:"handle_#{op.downcase}2_v8") do |vs|
608 macro(:"handle_#{op.downcase}2_64_v8") do |vs|
613 macro(:"handle_#{op.downcase}i_imm") do |imm|
620 ['Not', 'Neg'].each do |op|
621 macro(:"handle_#{op.downcase}") do
625 macro(:"handle_#{op.downcase}_64") do
631 ['Div', 'Mod'].each do |op|
632 macro(:"handle_#{op.downcase}_v4_v4") do |vs1, vs2|
637 macro(:"handle_#{op.downcase}2_v8") do |vs|
642 macro(:"handle_#{op.downcase}2_64_v8") do |vs|
647 macro(:"handle_#{op.downcase}u2_v8") do |vs|
652 macro(:"handle_#{op.downcase}u2_64_v8") do |vs|
657 macro(:"handle_#{op.downcase}i_imm") do |imm|
664 macro(:handle_newarr_v4_v4_id16) do |vd, vs, id|
670 macro(:handle_lenarr_v8) do |vs|
678 [['ldarr', :i32], ['ldarr_64', :i64], ['fldarr_64', :f64], ['fldarr_32', :f32]].each do |name, type|
679 macro(:"handle_#{name}_v8") do |vs|
690 [8, 16].each do |size|
691 macro(:"handle_ldarr_#{size}_v8") do |vs|
702 [8, 16].each do |size|
703 macro(:"handle_ldarru_#{size}_v8") do |vs|
714 macro(:handle_ldarr_obj_v8) do |vs|
724 [8, 16].each do |size|
725 macro(:"handle_starr_#{size}_v4_v4") do |vs1, vs2|
735 …arr_64', :i64], ['starr_obj', :ref], ['fstarr_32', :f32], ['fstarr_64', :f64]].each do |name, type|
736 macro(:"handle_#{name}_v4_v4") do |vs1, vs2|
746 macro(:handle_newobj_v8_id16) do |vd, id|
753 [['', :u32], ['64_', :u64]].each do |name, type|
754 macro(:"handle_stobj_#{name}v8_id16") do |vs, id|
762 macro(:handle_stobj_obj_v8_id16) do |vs, id|
770 [['', :u32], ['64_', :u64]].each do |name, type|
771 macro(:"handle_stobj_v_#{name}v4_v4_id16") do |v1, v2, id|
779 macro(:handle_stobj_v_obj_v4_v4_id16) do |v1, v2, id|
786 [['', :u32], ['64_', :u64]].each do |name, type|
787 macro(:"handle_ldobj_#{name}v8_id16") do |vs, id|
796 macro(:handle_ldobj_obj_v8_id16) do |vs, id|
804 [['', :u32], ['64_', :u64]].each do |name, type|
805 macro(:"handle_ldobj_v_#{name}v4_v4_id16") do |vd, vs, id|
814 macro(:handle_ldobj_v_obj_v4_v4_id16) do |vd, vs, id|
822 [['', :u32], ['64_', :u64]].each do |name, type|
823 macro(:"handle_ststatic_#{name}id16") do |id|
831 macro(:handle_ststatic_obj_id16) do |id|
838 [['', :u32], ['64_', :u64]].each do |name, type|
839 macro(:"handle_ldstatic_#{name}id16") do |id|
848 macro(:handle_ldstatic_obj_id16) do |id|
856 macro(:handle_isinstance_id16) do |id|
863 macro(:handle_checkcast_id16) do |id|
869 macro(:handle_sta_obj_v8) do |vd|
874 macro(:handle_lda_obj_v8) do |vs|
879 macro(:handle_mov_null_v8) do |vd|
883 macro(:handle_lda_null) do
887 ['eq', 'ne', 'lt', 'gt', 'le', 'ge'].each do |cc|
888 ['8', '16'].each do |from|
889 macro(:"handle_j#{cc}_v8_imm#{from}") do |pc, vs, imm, size|
903 ['ne', 'eq', 'lt', 'gt', 'le', 'ge'].each do |cc|
904 ['8', '16'].each do |from|
905 macro(:"handle_j#{cc}z_imm#{from}") do |pc, imm, size|
919 macro(:"handle_fcmpg_v8") do |vs|
924 macro(:"handle_fcmpg_64_v8") do |vs|
929 macro(:"handle_fcmpl_v8") do |vs|
934 macro(:"handle_fcmpl_64_v8") do |vs|
939 ['ne', 'eq'].each do |cc|
940 ['8', '16'].each do |from|
941 macro(:"handle_j#{cc}_obj_v8_imm#{from}") do |pc, vs, imm, size|
956 ['ne', 'eq'].each do |cc|
957 ['8', '16'].each do |from|
958 macro(:"handle_j#{cc}z_obj_imm#{from}") do |pc, imm, size|
973 ['i32', 'i64', 'u32', 'u64'].each do |from|
974 macro(:"handle_#{from}tou1") do
985 ['i32', 'u32'].each do |from|
986 macro(:"handle_#{from}toi64") do
991 ['i32', 'u32'].each do |from|
992 ['i16', 'u16', 'i8', 'u8'].each do |to|
993 macro(:"handle_#{from}to#{to}") do
1004 macro(:handle_i64toi32) do
1008 ['i32', 'u32'].each do |to|
1009 macro(:"handle_u64to#{to}") do
1016 ['i32', 'u32', 'i64', 'u64'].each do |from|
1017 ['f32', 'f64'].each do |to|
1018 macro(:"handle_#{from}to#{to}") do
1024 ['f64', 'i32', 'i64', 'u32', 'u64'].each do |to|
1025 macro(:"handle_f32to#{to}") do
1030 ['i32', 'i64', 'u32', 'u64', 'f32'].each do |to|
1031 macro(:"handle_f64to#{to}") do
1036 macro(:handle_mov_64) do |vd, vs|
1040 macro(:handle_mov_obj) do |vd, vs|
1045 macro(:handle_lda_64) do |vs|
1049 macro(:handle_sta_64_v8) do |vd|
1053 macro(:handle_i32tof64) do
1057 macro(:handle_fmovi_v8_imm) do |vd, imm|
1061 macro(:handle_fmovi_64_v8_imm) do |vd, imm|
1065 macro(:handle_fadd2_64_v8) do |vs|
1070 macro(:handle_fsub2_v8) do |vs|
1075 macro(:handle_fsub2_64_v8) do |vs|
1080 macro(:handle_fmul2_v8) do |vs|
1085 macro(:handle_fmul2_64_v8) do |vs|
1090 macro(:handle_fmod2_v8) do |vs|
1095 macro(:handle_fmod2_64_v8) do |vs|
1100 macro(:handle_fdiv2_v8) do |vs|
1105 macro(:handle_fdiv2_64_v8) do |vs|
1110 [['', :f32], ['_64', :f64]].each do |name, type|
1111 macro(:"handle_fneg#{name}") do
1117 ['initobj', 'call', 'call_virt'].each do |op|
1118 macro(:"handle_#{op}_short_v4_v4_id16") do |v1, v2, id, size|
1120 generic_call(id, size, op == 'initobj', receiver, 2, lambda do |new_frame, num_vregs, _|
1127 ['call', 'call_virt'].each do |op|
1128 macro(:"handle_#{op}_acc_short_v4_imm4_id16") do |v, imm, id, size|
1130 generic_call(id, size, false, receiver, 2, lambda do |new_frame, num_vregs, _|
1142 ['call', 'call_virt'].each do |op|
1143 macro(:"handle_#{op}_acc_v4_v4_v4_imm4_id16") do |v1, v2, v3, imm, id, size|
1145 generic_call(id, size, false, receiver, 4, lambda do |new_frame, num_vregs, _|
1176 ['initobj', 'call', 'call_virt'].each do |op|
1177 macro(:"handle_#{op}_v4_v4_v4_v4_id16") do |v1, v2, v3, v4, id, size|
1179 generic_call(id, size, op == 'initobj', receiver, 4, lambda do |new_frame, num_vregs, _|
1188 ['initobj', 'call', 'call_virt'].each do |op|
1189 macro(:"handle_#{op}_range_v8_id16") do |v, id, size|
1191 … generic_call(id, size, op == 'initobj', receiver, nil, lambda do |new_frame, num_vregs, num_args|
1197 If(i, num_args).CC(:CC_EQ) do
1212 [:handle_return, :handle_return_64, :handle_return_obj].each do |handler|
1213 macro(handler) do
1218 macro(:handle_return_void) do
1222 ['enter', 'exit'].each do |op|
1223 macro(:"handle_monitor#{op}") do
1238 validate: InterpreterValidation) do
1254 Panda.instructions.each do |i|
1265 validate: InterpreterValidation) do
1796 Panda.prefixes.each do |p|
1801 validate: InterpreterValidation) do
1827 validate: InterpreterValidation) do