Skip to content

SEND_VAL and others use second operand for the named argument #84

@gmirchev

Description

@gmirchev

But VLD doesn't print the info.

More information:

From zend_compile.php - zend_compile_args():

            opline = zend_emit_op(NULL, opcode, &arg_node, NULL);
            if (arg_name) {
                    opline->op2_type = IS_CONST;
                    zend_string_addref(arg_name);
                    opline->op2.constant = zend_add_literal_string(&arg_name);
                    opline->result.num = zend_alloc_cache_slots(2);
            } else {
                    opline->op2.opline_num = arg_num;
                    opline->result.var = EX_NUM_TO_VAR(arg_num - 1);
            }

where opcode can be

ZEND_SEND_VAL_EX
ZEND_SEND_VAL
ZEND_SEND_VAR
ZEND_SEND_REF
ZEND_SEND_VAR_EX
ZEND_SEND_FUNC_ARG
ZEND_SEND_VAR_NO_REF
ZEND_SEND_VAR_NO_REF_EX

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions