Lines Matching refs:extra_spec

654 function helper_name($name, $spec, $op1, $op2, $extra_spec) {  argument
691 if (isset($extra_spec, $helpers[$name]["spec"])) {
692 $extra = extra_spec_name(array_intersect_key($extra_spec, $helpers[$name]["spec"]));
698 function opcode_name($name, $spec, $op1, $op2, $extra_spec) { argument
742 if (isset($extra_spec, $opcode["spec"])) {
743 $extra = extra_spec_name(array_intersect_key($extra_spec, $opcode["spec"]));
763 function gen_code($f, $spec, $kind, $export, $code, $op1, $op2, $name, $extra_spec=null) { argument
817 …$kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec)):""),
818 …$kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec)):""),
825 … "/OP_DATA_TYPE/" => $op_data_type[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : "ANY"],
826 …ATA_ZVAL_PTR\(([^)]*)\)/" => $op_data_get_zval_ptr[isset($extra_spec['OP_DATA']) ? $extra_spec['OP…
827 …_DEREF\(([^)]*)\)/" => $op_data_get_zval_ptr_deref[isset($extra_spec['OP_DATA']) ? $extra_spec['OP…
828 …_PTR_PTR\(([^)]*)\)/" => $op_data_get_zval_ptr_ptr[isset($extra_spec['OP_DATA']) ? $extra_spec['OP…
829 …"/FREE_OP_DATA\(\)/" => $op_data_free_op[isset($extra_spec['OP_DATA']) ? $extra_spec['OP_DATA'] : …
830 …_OP_DATA_VAR_PTR\(\)/" => $op_data_free_op_var_ptr[isset($extra_spec['OP_DATA']) ? $extra_spec['OP…
831 …UNFETCHED_OP_DATA\(\)/" => $op_data_free_unfetched[isset($extra_spec['OP_DATA']) ? $extra_spec['OP…
832 …"/RETURN_VALUE_USED\(opline\)/" => isset($extra_spec['RETVAL']) ? $extra_spec['RETVAL'] : "RETURN_…
833 …"/arg_num <= MAX_ARG_FLAG_NUM/" => isset($extra_spec['QUICK_ARG']) ? $extra_spec['QUICK_ARG'] : "a…
834 … "/ZEND_VM_SMART_BRANCH\(\s*([^,)]*)\s*,\s*([^)]*)\s*\)/" => isset($extra_spec['SMART_BRANCH']) ?
835 ($extra_spec['SMART_BRANCH'] == 1 ?
837 : ($extra_spec['SMART_BRANCH'] == 2 ?
840 "/ZEND_VM_SMART_BRANCH_TRUE\(\s*\)/" => isset($extra_spec['SMART_BRANCH']) ?
841 ($extra_spec['SMART_BRANCH'] == 1 ?
843 : ($extra_spec['SMART_BRANCH'] == 2 ?
846 "/ZEND_VM_SMART_BRANCH_FALSE\(\s*\)/" => isset($extra_spec['SMART_BRANCH']) ?
847 ($extra_spec['SMART_BRANCH'] == 1 ?
849 : ($extra_spec['SMART_BRANCH'] == 2 ?
852 "/opline->extended_value\s*&\s*ZEND_ISEMPTY/" => isset($extra_spec['ISSET']) ?
853 ($extra_spec['ISSET'] == 0 ? "0" : "1")
855 "/opline->extended_value\s*&\s*~\s*ZEND_ISEMPTY/" => isset($extra_spec['ISSET']) ?
856 ($extra_spec['ISSET'] == 0 ? "\\0" : "opline->extended_value")
873 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
881 … return "goto " . opcode_name($name, $spec, $op1, $op2, $extra_spec) . "_LABEL";
888 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
890 … return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
895 …rn "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $args. …
897 …rn "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OPCODE…
909 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec, $name) {
920 is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec) &&
921 … is_hot_handler($opcodes[$opnames[$name]]["hot"], $op1, $op2, $extra_spec) ?
923 …eturn "ZEND_VM_TAIL_CALL(" . opcode_name($handler, $spec, $op1, $op2, $extra_spec) . $inline . "_H…
929 …rn "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(" . $args. …
931 …rn "ZEND_VM_TAIL_CALL(" . helper_name($matches[1], $spec, $op1, $op2, $extra_spec) . "(ZEND_OPCODE…
943 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
947 … return "goto " . opcode_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
953 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
955 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
967 function($matches) use ($spec, $prefix, $op1, $op2, $extra_spec) {
971 … return "goto " . opcode_name($matches[1], $spec, $op1, $op2, $extra_spec) . "_LABEL";
977 … return $args . "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
979 return "goto " . helper_name($matches[1], $spec, $op1, $op2, $extra_spec);
1033 function skip_extra_spec_function($op1, $op2, $extra_spec) { argument
1036 if (isset($extra_spec["NO_CONST_CONST"]) &&
1042 if (isset($extra_spec["COMMUTATIVE"]) &&
1051 function is_hot_handler($hot, $op1, $op2, $extra_spec) { argument
1052 if (isset($extra_spec["SMART_BRANCH"]) && $extra_spec["SMART_BRANCH"] == 0) {
1064 return !empty($extra_spec["QUICK_ARG"]);
1070 function is_cold_handler($hot, $op1, $op2, $extra_spec) { argument
1088 function is_inline_hybrid_handler($name, $hot, $op1, $op2, $extra_spec) { argument
1093 …r($f, $spec, $kind, $name, $op1, $op2, $use, $code, $lineno, $opcode, $extra_spec = null, &$switch… argument
1100 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1105 if (isset($extra_spec["SMART_BRANCH"])) {
1109 if ($extra_spec["SMART_BRANCH"] == 0) {
1110 unset($extra_spec["SMART_BRANCH"]);
1124 …ame = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_spec):"");
1127 if (is_inline_hybrid_handler($name, $opcode["hot"], $op1, $op2, $extra_spec)) {
1129 gen_code($out, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1139 is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec) ?
1154 …& ZEND_VM_KIND == ZEND_VM_KIND_HYBRID && is_hot_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
1161 } else if ($opcode["hot"] && is_cold_handler($opcode["hot"], $op1, $op2, $extra_spec)) {
1188 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1200 …me, $op1, $op2, $param, $code, $lineno, $inline, $cold = false, $hot = false, $extra_spec = null) { argument
1207 if ($spec && skip_extra_spec_function($op1, $op2, $extra_spec)) {
1215 …ame = $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].($spec?extra_spec_name($extra_spec):"");
1251 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name, $extra_spec);
1380 return function($op1, $op2, $extra_spec = array()) use ($do, $dsc, $op_types) {
1401 $do($op1, $op2, array("OP_DATA" => $op_data) + $extra_spec);
1407 return function($op1, $op2, $extra_spec = array()) use ($do, $spec, $dsc) {
1409 $do($op1, $op2, array($spec => $val) + $extra_spec);
1413 …$generate = function ($op1, $op2, $extra_spec = array()) use ($f, $kind, $dsc, $prefix, $prolog, $…
1420 … (!isset($extra_spec["OP_DATA"]) || isset($dsc["spec"]["OP_DATA"][$extra_spec["OP_DATA"]]))) {
1421 if (skip_extra_spec_function($op1, $op2, $extra_spec)) {
1429 if (isset($extra_spec["SMART_BRANCH"])) {
1433 unset($extra_spec["SMART_BRANCH"]);
1439 … $spec_name = $dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2].extra_spec_name($extra_spec);
1605 function extra_spec_name($extra_spec) { argument
1609 if (isset($extra_spec["OP_DATA"])) {
1610 $s .= "_OP_DATA" . $prefix[$extra_spec["OP_DATA"]];
1612 if (isset($extra_spec["RETVAL"])) {
1613 $s .= "_RETVAL_".($extra_spec["RETVAL"] ? "USED" : "UNUSED");
1615 if (isset($extra_spec["QUICK_ARG"])) {
1616 if ($extra_spec["QUICK_ARG"]) {
1620 if (isset($extra_spec["SMART_BRANCH"])) {
1621 if ($extra_spec["SMART_BRANCH"] == 1) {
1623 } else if ($extra_spec["SMART_BRANCH"] == 2) {
1627 if (isset($extra_spec["ISSET"])) {
1628 if ($extra_spec["ISSET"] == 0) {
1637 function extra_spec_flags($extra_spec) { argument
1639 if (isset($extra_spec["OP_DATA"])) {
1642 if (isset($extra_spec["RETVAL"])) {
1645 if (isset($extra_spec["QUICK_ARG"])) {
1648 if (isset($extra_spec["SMART_BRANCH"])) {
1651 if (isset($extra_spec["COMMUTATIVE"])) {
1654 if (isset($extra_spec["ISSET"])) {
1735 foreach (extra_spec_handler($opcodes[$num]) as $extra_spec) {
1740 …codes[$num]["use"]), $opcodes[$num]["code"], $lineno, $opcodes[$num], $extra_spec, $switch_labels);
1745 foreach (extra_spec_handler($helpers[$num]) as $extra_spec) {
1750 …"], $lineno, $helpers[$num]["inline"], $helpers[$num]["cold"], $helpers[$num]["hot"], $extra_spec);