Lines Matching refs:op1
610 function helper_name($name, $spec, $op1, $op2, $extra_spec) { argument
618 if (!isset($helpers[$name]["op1"][$op1])) {
619 if (($op1 == 'TMP' || $op1 == 'VAR') &&
621 $op1 = "TMPVAR";
622 } else if (($op1 == 'TMP' || $op1 == 'VAR') &&
624 $op1 = "TMPVARCV";
625 } else if ($op1 == 'CV' &&
627 $op1 = "TMPVARCV";
629 $op1 = "ANY";
652 return $name . ($spec ? "_SPEC" : "") . $prefix[$op1] . $prefix[$op2] . $extra;
655 function opcode_name($name, $spec, $op1, $op2, $extra_spec) { argument
664 if (!isset($opcode["op1"][$op1])) {
665 if (($op1 == 'TMP' || $op1 == 'VAR') &&
667 $op1 = "TMPVAR";
668 } else if (($op1 == 'TMP' || $op1 == 'VAR') &&
670 $op1 = "TMPVARCV";
671 } else if ($op1 == 'CV' &&
673 $op1 = "TMPVARCV";
675 $op1 = "ANY";
704 return $name . ($spec ? "_SPEC" : "") . $prefix[$op1] . $prefix[$op2] . $extra;
721 function gen_code($f, $spec, $kind, $code, $op1, $op2, $name, $extra_spec=null) { argument
741 "/OP1_TYPE/" => $op1_type[$op1],
743 "/GET_OP1_ZVAL_PTR\(([^)]*)\)/" => $op1_get_zval_ptr[$op1],
745 "/GET_OP1_ZVAL_PTR_DEREF\(([^)]*)\)/" => $op1_get_zval_ptr_deref[$op1],
747 "/GET_OP1_ZVAL_PTR_UNDEF\(([^)]*)\)/" => $op1_get_zval_ptr_undef[$op1],
749 "/GET_OP1_ZVAL_PTR_PTR\(([^)]*)\)/" => $op1_get_zval_ptr_ptr[$op1],
751 "/GET_OP1_ZVAL_PTR_PTR_UNDEF\(([^)]*)\)/" => $op1_get_zval_ptr_ptr_undef[$op1],
753 "/GET_OP1_OBJ_ZVAL_PTR\(([^)]*)\)/" => $op1_get_obj_zval_ptr[$op1],
755 "/GET_OP1_OBJ_ZVAL_PTR_UNDEF\(([^)]*)\)/" => $op1_get_obj_zval_ptr_undef[$op1],
757 "/GET_OP1_OBJ_ZVAL_PTR_DEREF\(([^)]*)\)/" => $op1_get_obj_zval_ptr_deref[$op1],
759 "/GET_OP1_OBJ_ZVAL_PTR_PTR\(([^)]*)\)/" => $op1_get_obj_zval_ptr_ptr[$op1],
761 "/GET_OP1_OBJ_ZVAL_PTR_PTR_UNDEF\(([^)]*)\)/" => $op1_get_obj_zval_ptr_ptr_undef[$op1],
763 "/FREE_OP1\(\)/" => $op1_free_op[$op1],
765 "/FREE_OP1_IF_VAR\(\)/" => $op1_free_op_if_var[$op1],
767 "/FREE_OP1_VAR_PTR\(\)/" => $op1_free_op_var_ptr[$op1],
769 "/\!ZEND_VM_SPEC/m" => ($op1!="ANY"||$op2!="ANY")?"0":"1",
770 "/ZEND_VM_SPEC/m" => ($op1!="ANY"||$op2!="ANY")?"1":"0",
771 …\s*\)/m" => "\\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extr…
772 …/m" => "goto \\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extr…
836 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
844 … return "goto " . opcode_name($name, $spec, $op1, $op2, $extra_spec) . "_LABEL";
851 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
853 … return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
858 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $ar…
860 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OP…
872 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec, $name) {
883 is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec) &&
884 … is_hot_handler($opcodes[$opnames[$name]]["hot"], $op1, $op2, $extra_spec) ?
886 …return "ZEND_VM_TAIL_CALL(" . opcode_name($handler, $spec, $op1, $op2, $extra_spec) . $inline . "_…
892 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $ar…
894 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OP…
906 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
910 … return "goto " . opcode_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
916 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
918 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
930 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
934 … return "goto " . opcode_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
940 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
942 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
958 function skip_extra_spec_function($op1, $op2, $extra_spec) { argument
962 $op1 == "CONST" && $op2 == "CONST") {
968 $commutative_order[$op1] < $commutative_order[$op2]) {
976 function is_hot_handler($hot, $op1, $op2, $extra_spec) { argument
986 return ($op1 !== 'CONST');
988 return (($op1 !== 'CONST') || ($op2 !== 'CONST')) ;
990 return (($op1 === 'UNUSED') || ($op1 === 'CV')) && ($op2 === 'CONST');
998 function is_cold_handler($hot, $op1, $op2, $extra_spec) { argument
1004 return ($op1 === 'CONST');
1006 return ($op1 === 'CONST' && $op2 === 'CONST');
1008 return ($op1 === 'CONST');
1010 return ($op1 === 'CONST');
1012 return ($op1 === 'CONST' && $op2 === 'CONST');
1018 function is_inline_hybrid_handler($name, $hot, $op1, $op2, $extra_spec) { argument
1023 function gen_handler($f, $spec, $kind, $name, $op1, $op2, $use, $code, $lineno, $opcode, $extra_spe… argument
1032 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1040 if (($op1 === 'CONST') && ($op2 === 'CONST')) {
1070 if ($op1 != "ANY" || $op2 != "ANY") {
1073 $op1 = "ANY";
1087 …$spec_name = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_sp…
1090 if (is_inline_hybrid_handler($name, $opcode["hot"], $op1, $op2, $extra_spec)) {
1092 gen_code($out, $spec, $kind, $code, $op1, $op2, $name, $extra_spec);
1102 is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec) ?
1117 … && ZEND_VM_KIND == ZEND_VM_KIND_HYBRID && is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec)…
1124 } else if ($opcode["hot"] && is_cold_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
1151 gen_code($f, $spec, $kind, $code, $op1, $op2, $name, $extra_spec);
1163 function gen_helper($f, $spec, $kind, $name, $op1, $op2, $param, $code, $lineno, $inline, $cold = f… argument
1170 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1178 …$spec_name = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_sp…
1214 gen_code($f, $spec, $kind, $code, $op1, $op2, $name, $extra_spec);
1293 foreach ($op_types as $op1) {
1294 if ($op1 != "ANY") {
1295 if (!isset($dsc["op1"][$op1])) {
1296 if ($op1 == "TMP" || $op1 == "VAR") {
1298 $op1 = "TMPVAR";
1300 $op1 = "TMPVARCV";
1302 $op1 = "ANY";
1304 } else if ($op1 == "CV" && isset($dsc["op1"]["TMPVARCV"])) {
1305 $op1 = "TMPVARCV";
1308 $op1 = "ANY";
1311 $do($op1, $op2);
1317 return function($op1, $_) use ($do, $dsc, $op_types) {
1337 $do($op1, $op2);
1343 return function($op1, $op2, $extra_spec = array()) use ($do, $dsc, $op_types) {
1364 $do($op1, $op2, array("OP_DATA" => $op_data) + $extra_spec);
1370 return function($op1, $op2, $extra_spec = array()) use ($do, $spec, $dsc) {
1372 $do($op1, $op2, array($spec => $val) + $extra_spec);
1376 …$generate = function ($op1, $op2, $extra_spec = array()) use ($f, $kind, $dsc, $prefix, $prolog, $…
1381 if (isset($dsc["op1"][$op1]) &&
1384 if (skip_extra_spec_function($op1, $op2, $extra_spec)) {
1395 if (($op1 === 'CONST') && ($op2 === 'CONST')) {
1413 if ($op1 != "ANY" || $op2 != "ANY") {
1414 $op1 = "ANY";
1420 … $spec_name = $dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec);
1711 foreach ($op1t as $op1) {
1721 if (isset($opcodes[$num]["op1"][$op1]) &&
1724 …gen_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes…
1731 if (isset($helpers[$num]["op1"][$op1]) &&
1734 …gen_helper($f, 1, $kind, $num, $op1, $op2, $helpers[$num]["param"], $helpers[$num]["code"], $linen…
2461 $op1 = parse_operand_spec($def, $lineno, $m[4], $flags1);
2480 … $opcodes[$code] = array("op"=>$op,"op1"=>$op1,"op2"=>$op2,"code"=>"","flags"=>$flags,"hot"=>$hot);
2520 $op1 = parse_operand_spec($def, $lineno, $m[5], $flags1);
2531 …$opcodes[$code] = array("op"=>$op,"op1"=>$op1,"op2"=>$op2,"code"=>"","flags"=>$flags,"hot"=>$hot,"…
2560 $op1 = parse_operand_spec($def, $lineno, $m[3], $flags1);
2580 …$helpers[$helper] = array("op1"=>$op1,"op2"=>$op2,"param"=>$param,"code"=>"","inline"=>$inline,"co…