USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_CONST == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CONST == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CONST != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_CONST == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CONST == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CONST != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_CONST == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CONST == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CONST != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_CONST == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CONST == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CONST != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_CONST == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && opline->extended_value) {
+ if ((IS_CONST == IS_VAR || IS_CONST == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CONST == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CONST != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_TMP_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_TMP_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_TMP_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_TMP_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_TMP_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_TMP_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_TMP_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_TMP_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_TMP_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_TMP_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_TMP_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_TMP_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
expr_ptr = NULL;
if (IS_TMP_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_TMP_VAR == IS_VAR || IS_TMP_VAR == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_TMP_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_TMP_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_VAR != IS_UNUSED
USE_OPLINE
zend_free_op free_op1;
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (IS_VAR == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && opline->extended_value) {
+ if ((IS_VAR == IS_VAR || IS_VAR == IS_CV) && is_ref) {
if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_VAR == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_VAR != IS_UNUSED
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_UNUSED == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_UNUSED != IS_UNUSED
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_UNUSED == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_UNUSED != IS_UNUSED
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_UNUSED == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_UNUSED != IS_UNUSED
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_UNUSED == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_UNUSED != IS_UNUSED
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_UNUSED == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_UNUSED != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_cv_BP_VAR_W(execute_data, opline->op1.var TSRMLS_CC);
if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CV == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CV != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_cv_BP_VAR_W(execute_data, opline->op1.var TSRMLS_CC);
if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CV == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CV != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_cv_BP_VAR_W(execute_data, opline->op1.var TSRMLS_CC);
if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CV == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CV != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_cv_BP_VAR_W(execute_data, opline->op1.var TSRMLS_CC);
if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CV == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CV != IS_UNUSED
USE_OPLINE
zval *expr_ptr, new_expr;
+ zend_bool is_ref = opline->extended_value & 1;
SAVE_OPLINE();
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
expr_ptr = _get_zval_ptr_cv_BP_VAR_W(execute_data, opline->op1.var TSRMLS_CC);
if (IS_CV == IS_VAR && UNEXPECTED(Z_TYPE_P(expr_ptr) == IS_STR_OFFSET)) {
zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
} else {
zend_hash_next_index_insert(Z_ARRVAL_P(EX_VAR(opline->result.var)), expr_ptr);
}
- if ((IS_CV == IS_VAR || IS_CV == IS_CV) && opline->extended_value) {
+ if ((IS_CV == IS_VAR || IS_CV == IS_CV) && is_ref) {
}
CHECK_EXCEPTION();
{
USE_OPLINE
- array_init(EX_VAR(opline->result.var));
+ array_init_size(EX_VAR(opline->result.var), opline->extended_value >> 1);
if (IS_CV == IS_UNUSED) {
ZEND_VM_NEXT_OPCODE();
#if 0 || IS_CV != IS_UNUSED