Lines Matching refs:extra_spec
627 function helper_name($name, $spec, $op1, $op2, $extra_spec) { argument
644 if (isset($extra_spec, $helpers[$name]["spec"])) {
645 $extra = extra_spec_name(array_intersect_key($extra_spec, $helpers[$name]["spec"]));
684 function gen_code($f, $spec, $kind, $export, $code, $op1, $op2, $name, $extra_spec=null) { argument
795 …$kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec)):""),
796 …$kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec)):""),
801 $op_data_type[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
802 $op_data_get_zval_ptr[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
803 $op_data_get_zval_ptr_deref[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
804 $op_data_free_op[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
805 $op_data_free_unfetched[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
806 isset($extra_spec['RETVAL']) ? $extra_spec['RETVAL'] : "RETURN_VALUE_USED(opline)",
807 isset($extra_spec['QUICK_ARG']) ? $extra_spec['QUICK_ARG'] : "arg_num <= MAX_ARG_FLAG_NUM",
808 isset($extra_spec['SMART_BRANCH']) ?
809 ($extra_spec['SMART_BRANCH'] == 1 ?
811 : ($extra_spec['SMART_BRANCH'] == 2 ?
814 isset($extra_spec['DIM_OBJ']) ?
815 ($extra_spec['DIM_OBJ'] == 0 ? "1" : "0")
817 isset($extra_spec['DIM_OBJ']) ?
818 ($extra_spec['DIM_OBJ'] == 1 ? "1" : "0")
820 isset($extra_spec['DIM_OBJ']) ?
821 ($extra_spec['DIM_OBJ'] == 2 ? "1" : "0")
838 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
848 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $ar…
850 …return "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OP…
862 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
872 return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
874 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
886 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
896 return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
898 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
952 function skip_extra_spec_function($op1, $op2, $extra_spec) { argument
955 if (isset($extra_spec["NO_CONST_CONST"]) &&
961 if (isset($extra_spec["COMMUTATIVE"]) &&
967 if (isset($extra_spec["DIM_OBJ"]) &&
968 (($op2 == "UNUSED" && $extra_spec["DIM_OBJ"] != 1) ||
969 ($op1 == "UNUSED" && $extra_spec["DIM_OBJ"] != 2))) {
978 …r($f, $spec, $kind, $name, $op1, $op2, $use, $code, $lineno, $opcode, $extra_spec = null, &$switch… argument
981 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
990 …ame = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_spec):"");
1025 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1029 …_helper($f, $spec, $kind, $name, $op1, $op2, $param, $code, $lineno, $inline, $extra_spec = null) { argument
1036 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1044 …ame = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_spec):"");
1073 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1178 return function($op1, $op2, $extra_spec = array()) use ($do, $dsc, $op_types) {
1199 $do($op1, $op2, array("OP_DATA" => $op_data) + $extra_spec);
1205 return function($op1, $op2, $extra_spec = array()) use ($do, $spec, $dsc) {
1207 $do($op1, $op2, array($spec => $val) + $extra_spec);
1211 …$generate = function ($op1, $op2, $extra_spec = array()) use ($f, $kind, $dsc, $prefix, $prolog, $…
1218 … (!isset($extra_spec["OP_DATA"]) || isset($dsc["spec"]["OP_DATA"][$extra_spec["OP_DATA"]]))) {
1219 if (skip_extra_spec_function($op1, $op2, $extra_spec)) {
1226 $spec_name = $dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec);
1370 function extra_spec_name($extra_spec) { argument
1374 if (isset($extra_spec["OP_DATA"])) {
1375 $s .= "_OP_DATA" . $prefix[$extra_spec["OP_DATA"]];
1377 if (isset($extra_spec["RETVAL"])) {
1378 $s .= "_RETVAL_".($extra_spec["RETVAL"] ? "USED" : "UNUSED");
1380 if (isset($extra_spec["QUICK_ARG"])) {
1381 if ($extra_spec["QUICK_ARG"]) {
1385 if (isset($extra_spec["SMART_BRANCH"])) {
1386 if ($extra_spec["SMART_BRANCH"] == 1) {
1388 } else if ($extra_spec["SMART_BRANCH"] == 2) {
1392 if (isset($extra_spec["DIM_OBJ"])) {
1393 if ($extra_spec["DIM_OBJ"] == 1) {
1395 } else if ($extra_spec["DIM_OBJ"] == 2) {
1402 function extra_spec_flags($extra_spec) { argument
1404 if (isset($extra_spec["OP_DATA"])) {
1407 if (isset($extra_spec["RETVAL"])) {
1410 if (isset($extra_spec["QUICK_ARG"])) {
1413 if (isset($extra_spec["SMART_BRANCH"])) {
1416 if (isset($extra_spec["DIM_OBJ"])) {
1475 foreach (extra_spec_handler($opcodes[$num]) as $extra_spec) {
1480 …codes[$num]["use"]), $opcodes[$num]["code"], $lineno, $opcodes[$num], $extra_spec, $switch_labels);
1485 foreach (extra_spec_handler($helpers[$num]) as $extra_spec) {
1490 …, $helpers[$num]["param"], $helpers[$num]["code"], $lineno, $helpers[$num]["inline"], $extra_spec);