Lines Matching refs:op2
627 function helper_name($name, $spec, $op1, $op2, $extra_spec) { argument
649 if (!isset($helpers[$name]["op2"][$op2])) {
650 if (($op2 == 'TMP' || $op2 == 'VAR') &&
652 $op2 = "TMPVAR";
653 } else if (($op2 == 'TMP' || $op2 == 'VAR') &&
655 $op2 = "TMPVARCV";
656 } else if ($op2 == 'CV' &&
658 $op2 = "TMPVARCV";
660 $op2 = "ANY";
668 return $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].$extra;
671 function opcode_name($name, $spec, $op1, $op2) { argument
695 if (!isset($opcode["op2"][$op2])) {
696 if (($op2 == 'TMP' || $op2 == 'VAR') &&
698 $op2 = "TMPVAR";
699 } else if (($op2 == 'TMP' || $op2 == 'VAR') &&
701 $op2 = "TMPVARCV";
702 } else if ($op2 == 'CV' &&
704 $op2 = "TMPVARCV";
706 $op2 = "ANY";
713 return $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2];
730 function gen_code($f, $spec, $kind, $export, $code, $op1, $op2, $name, $extra_spec=null) { argument
808 $op2_type[$op2],
810 $op2_free[$op2],
812 $op2_get_zval_ptr[$op2],
814 $op2_get_zval_ptr_deref[$op2],
816 $op2_get_zval_ptr_undef[$op2],
818 $op2_get_zval_ptr_ptr[$op2],
820 $op2_get_zval_ptr_ptr_undef[$op2],
822 $op2_get_obj_zval_ptr[$op2],
824 $op2_get_obj_zval_ptr_undef[$op2],
826 $op2_get_obj_zval_ptr_deref[$op2],
828 $op2_get_obj_zval_ptr_ptr[$op2],
830 $op2_get_obj_zval_ptr_ptr_undef[$op2],
832 $op2_free_op[$op2],
834 $op2_free_op_if_var[$op2],
836 $op2_free_op_var_ptr[$op2],
838 $op2_free_unfetched[$op2],
839 ($op1!="ANY"||$op2!="ANY")?"#\\1if 1\n":"#\\1if 0\n",
840 ($op1!="ANY"||$op2!="ANY")?"#\\1if 0\n":"#\\1if 1\n",
841 ($op1!="ANY"||$op2!="ANY")?"0":"1",
842 ($op1!="ANY"||$op2!="ANY")?"1":"0",
843 …"\\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name(…
844 …"goto \\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_…
892 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
900 if (is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
901 return "goto " . opcode_name($name, $spec, $op1, $op2) . "_LABEL";
903 …return "ZEND_VM_TAIL_CALL(" . opcode_name($name, $spec, $op1, $op2) . "_HANDLER(ZEND_OPCODE_HANDLE…
910 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $ar…
913 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
915 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OP…
927 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
931 …return "ZEND_VM_TAIL_CALL(" . opcode_name($matches[1], $spec, $op1, $op2) . "_HANDLER(ZEND_OPCODE_…
937 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $ar…
939 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OP…
951 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
955 return "goto " . opcode_name($matches[1], $spec, $op1, $op2) . "_LABEL";
961 return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
963 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
975 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
979 return "goto " . opcode_name($matches[1], $spec, $op1, $op2) . "_LABEL";
985 return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
987 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
1041 function skip_extra_spec_function($op1, $op2, $extra_spec) { argument
1045 $op1 == "CONST" && $op2 == "CONST") {
1051 $commutative_order[$op1] < $commutative_order[$op2]) {
1057 (($op2 == "UNUSED" && $extra_spec["DIM_OBJ"] != 1) ||
1066 function is_hot_handler($hot, $op1, $op2, $extra_spec) { argument
1072 return (($op1 === 'UNUSED') || ($op1 === 'CV')) && ($op2 === 'CONST');
1080 function is_cold_handler($hot, $op1, $op2, $extra_spec) { argument
1086 return ($op1 === 'CONST' && $op2 === 'CONST');
1096 function is_inline_hybrid_handler($name, $hot, $op1, $op2, $extra_spec) { argument
1102 function gen_handler($f, $spec, $kind, $name, $op1, $op2, $use, $code, $lineno, $opcode, $extra_spe… argument
1105 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1114 …$spec_name = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_sp…
1117 if (is_inline_hybrid_handler($name, $opcode["hot"], $op1, $op2, $extra_spec)) {
1119 gen_code($out, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1140 …& ZEND_VM_KIND == ZEND_VM_KIND_HYBRID && is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
1142 } else if ($opcode["hot"] && is_cold_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
1169 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1173 function gen_helper($f, $spec, $kind, $name, $op1, $op2, $param, $code, $lineno, $inline, $cold = f… argument
1180 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1188 …$spec_name = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_sp…
1224 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1297 return function($_, $op2) use ($do, $dsc, $op_types) {
1317 $do($op1, $op2);
1325 foreach($op_types as $op2) {
1326 if ($op2 != "ANY") {
1327 if (!isset($dsc["op2"][$op2])) {
1328 if ($op2 == "TMP" || $op2 == "VAR") {
1330 $op2 = "TMPVAR";
1332 $op2 = "TMPVARCV";
1334 $op2 = "ANY";
1336 } else if ($op2 == "CV" && isset($dsc["op2"]["TMPVARCV"])) {
1337 $op2 = "TMPVARCV";
1340 $op2 = "ANY";
1343 $do($op1, $op2);
1349 return function($op1, $op2, $extra_spec = array()) use ($do, $dsc, $op_types) {
1370 $do($op1, $op2, array("OP_DATA" => $op_data) + $extra_spec);
1376 return function($op1, $op2, $extra_spec = array()) use ($do, $spec, $dsc) {
1378 $do($op1, $op2, array($spec => $val) + $extra_spec);
1382 …$generate = function ($op1, $op2, $extra_spec = array()) use ($f, $kind, $dsc, $prefix, $prolog, $…
1388 isset($dsc["op2"][$op2]) &&
1390 if (skip_extra_spec_function($op1, $op2, $extra_spec)) {
1398 $spec_name = $dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec);
1689 foreach($op2t as $op2) {
1697 isset($opcodes[$num]["op2"][$op2])) {
1699 …gen_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes…
1707 isset($helpers[$num]["op2"][$op2])) {
1709 …gen_helper($f, 1, $kind, $num, $op1, $op2, $helpers[$num]["param"], $helpers[$num]["code"], $linen…
2354 $op2 = parse_operand_spec($def, $lineno, $m[5], $flags2);
2372 … $opcodes[$code] = array("op"=>$op,"op1"=>$op1,"op2"=>$op2,"code"=>"","flags"=>$flags,"hot"=>$hot);
2408 $op2 = parse_operand_spec($def, $lineno, $m[6], $flags2);
2419 …$opcodes[$code] = array("op"=>$op,"op1"=>$op1,"op2"=>$op2,"code"=>"","flags"=>$flags,"hot"=>$hot,"…
2449 $op2 = parse_operand_spec($def, $lineno, $m[4], $flags2);
2463 …$helpers[$helper] = array("op1"=>$op1,"op2"=>$op2,"param"=>$param,"code"=>"","inline"=>$inline,"co…