/* Convert inline HTML blocks to the output encoding, but only if necessary. */
if (opline->extended_value &&
strcmp(ucnv_getName(ZEND_U_CONVERTER(UG(output_encoding_conv)), &status),
- EG(active_op_array)->script_encoding)) {
+ EX(op_array)->script_encoding)) {
zval z_conv;
UConverter *script_enc_conv = NULL;
- if (zend_set_converter_encoding(&script_enc_conv, EG(active_op_array)->script_encoding) == FAILURE) {
- zend_error(E_ERROR, "Unsupported encoding [%d]", EG(active_op_array)->script_encoding);
+ if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
+ zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
}
zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &z_conv.value.str.val, &z_conv.value.str.len, z->value.str.val, z->value.str.len, &status);
z_conv.type = IS_BINARY;
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = GET_OP2_ZVAL_PTR(BP_VAR_R);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = GET_OP1_OBJ_ZVAL_PTR(BP_VAR_R);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
FREE_OP2();
FREE_OP1_IF_VAR();
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(OP2_TYPE != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
unsigned int function_name_strlen, lcname_len;
zend_free_op free_op2;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (OP2_TYPE == IS_CONST) {
function_name = &opline->op2.u.constant;
FREE_OP2();
}
- EX(calling_scope) = function->common.scope;
EX(object) = NULL;
EX(fbc) = function;
zval *current_this;
int return_value_used = RETURN_VALUE_USED(opline);
zend_bool should_change_scope;
+ zend_op *ctor_opline;
if (EX(function_state).function->common.fn_flags & ZEND_ACC_ABSTRACT) {
/* FIXME: output identifiers properly */
current_this = EG(This);
EG(This) = EX(object);
current_scope = EG(scope);
- EG(scope) = EX(calling_scope);
+ EG(scope) = (EX(function_state).function->type == ZEND_USER_FUNCTION || !EX(object)) ? EX(function_state).function->common.scope : NULL;
} else {
should_change_scope = 0;
}
}
}
+ ctor_opline = (zend_op*)zend_ptr_stack_pop(&EG(arg_types_stack));
+
if (EG(This)) {
- if (EG(exception) && EX(fbc) && EX(fbc)->common.fn_flags&ZEND_ACC_CTOR) {
- EG(This)->refcount--;
+ if (EG(exception) && ctor_opline) {
+ if (RETURN_VALUE_USED(ctor_opline)) {
+ EG(This)->refcount--;
+ }
if (EG(This)->refcount == 1) {
zend_object_store_ctor_failed(EG(This) TSRMLS_CC);
}
- if (should_change_scope && EG(This) != current_this) {
- zval_ptr_dtor(&EG(This));
- }
- } else if (should_change_scope) {
+ }
+ if (should_change_scope) {
zval_ptr_dtor(&EG(This));
}
}
EG(This) = current_this;
EG(scope) = current_scope;
}
- zend_ptr_stack_3_pop(&EG(arg_types_stack), (void**)&EX(calling_scope), (void**)&EX(object), (void**)&EX(fbc));
+ zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc));
EX(function_state).function = (zend_function *) EX(op_array);
EG(function_state_ptr) = &EX(function_state);
zend_free_op free_op1;
zval *fname = GET_OP1_ZVAL_PTR(BP_VAR_R);
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (zend_u_hash_find(EG(function_table), Z_TYPE_P(fname), Z_UNIVAL_P(fname), Z_UNILEN_P(fname)+1, (void **) &EX(function_state).function)==FAILURE) {
/* FIXME: output identifiers properly */
zend_error_noreturn(E_ERROR, "Unknown function: %R()", Z_TYPE_P(fname), Z_UNIVAL_P(fname));
}
EX(object) = NULL;
- EX(calling_scope) = EX(function_state).function->common.scope;
FREE_OP1();
EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr;
EX_T(opline->result.u.var).var.ptr = object_zval;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), opline);
/* We are not handling overloaded classes right now */
EX(object) = object_zval;
EX(fbc) = constructor;
- if (constructor->type == ZEND_USER_FUNCTION) { /* HACK!! */
- EX(calling_scope) = constructor->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
ZEND_VM_NEXT_OPCODE();
}
}
}
while (EX(fbc)) {
+ zend_op *ctor_opline = (zend_op*)zend_ptr_stack_pop(&EG(arg_types_stack));
+
if (EX(object)) {
+ if (ctor_opline && RETURN_VALUE_USED(ctor_opline)) {
+ EX(object)->refcount--;
+ }
zval_ptr_dtor(&EX(object));
}
- zend_ptr_stack_n_pop(&EG(arg_types_stack), 3, &EX(calling_scope), &EX(object), &EX(fbc));
+ zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc));
}
/* restore previous error_reporting value */
zval *current_this;
int return_value_used = RETURN_VALUE_USED(opline);
zend_bool should_change_scope;
+ zend_op *ctor_opline;
if (EX(function_state).function->common.fn_flags & ZEND_ACC_ABSTRACT) {
/* FIXME: output identifiers properly */
current_this = EG(This);
EG(This) = EX(object);
current_scope = EG(scope);
- EG(scope) = EX(calling_scope);
+ EG(scope) = (EX(function_state).function->type == ZEND_USER_FUNCTION || !EX(object)) ? EX(function_state).function->common.scope : NULL;
} else {
should_change_scope = 0;
}
}
}
+ ctor_opline = (zend_op*)zend_ptr_stack_pop(&EG(arg_types_stack));
+
if (EG(This)) {
- if (EG(exception) && EX(fbc) && EX(fbc)->common.fn_flags&ZEND_ACC_CTOR) {
- EG(This)->refcount--;
+ if (EG(exception) && ctor_opline) {
+ if (RETURN_VALUE_USED(ctor_opline)) {
+ EG(This)->refcount--;
+ }
if (EG(This)->refcount == 1) {
zend_object_store_ctor_failed(EG(This) TSRMLS_CC);
}
- if (should_change_scope && EG(This) != current_this) {
- zval_ptr_dtor(&EG(This));
- }
- } else if (should_change_scope) {
+ }
+ if (should_change_scope) {
zval_ptr_dtor(&EG(This));
}
}
EG(This) = current_this;
EG(scope) = current_scope;
}
- zend_ptr_stack_3_pop(&EG(arg_types_stack), (void**)&EX(calling_scope), (void**)&EX(object), (void**)&EX(fbc));
+ zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc));
EX(function_state).function = (zend_function *) EX(op_array);
EG(function_state_ptr) = &EX(function_state);
EX_T(opline->result.u.var).var.ptr_ptr = &EX_T(opline->result.u.var).var.ptr;
EX_T(opline->result.u.var).var.ptr = object_zval;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), opline);
/* We are not handling overloaded classes right now */
EX(object) = object_zval;
EX(fbc) = constructor;
- if (constructor->type == ZEND_USER_FUNCTION) { /* HACK!! */
- EX(calling_scope) = constructor->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
ZEND_VM_NEXT_OPCODE();
}
}
}
while (EX(fbc)) {
+ zend_op *ctor_opline = (zend_op*)zend_ptr_stack_pop(&EG(arg_types_stack));
+
if (EX(object)) {
+ if (ctor_opline && RETURN_VALUE_USED(ctor_opline)) {
+ EX(object)->refcount--;
+ }
zval_ptr_dtor(&EX(object));
}
- zend_ptr_stack_n_pop(&EG(arg_types_stack), 3, &EX(calling_scope), &EX(object), &EX(fbc));
+ zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc));
}
/* restore previous error_reporting value */
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(IS_CONST != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
unsigned int function_name_strlen, lcname_len;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (IS_CONST == IS_CONST) {
function_name = &opline->op2.u.constant;
}
- EX(calling_scope) = function->common.scope;
EX(object) = NULL;
EX(fbc) = function;
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(IS_TMP_VAR != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
unsigned int function_name_strlen, lcname_len;
zend_free_op free_op2;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (IS_TMP_VAR == IS_CONST) {
function_name = &opline->op2.u.constant;
zval_dtor(free_op2.var);
}
- EX(calling_scope) = function->common.scope;
EX(object) = NULL;
EX(fbc) = function;
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(IS_VAR != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
unsigned int function_name_strlen, lcname_len;
zend_free_op free_op2;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (IS_VAR == IS_CONST) {
function_name = &opline->op2.u.constant;
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
}
- EX(calling_scope) = function->common.scope;
EX(object) = NULL;
EX(fbc) = function;
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(IS_UNUSED != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
zval *function_name;
zend_class_entry *ce;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
ce = EX_T(opline->op1.u.var).class_entry;
if(IS_CV != IS_UNUSED) {
EX(fbc) = ce->constructor;
}
- EX(calling_scope) = EX(fbc)->common.scope;
-
if (EX(fbc)->common.fn_flags & ZEND_ACC_STATIC) {
EX(object) = NULL;
} else {
unsigned int function_name_strlen, lcname_len;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (IS_CV == IS_CONST) {
function_name = &opline->op2.u.constant;
}
- EX(calling_scope) = function->common.scope;
EX(object) = NULL;
EX(fbc) = function;
/* Convert inline HTML blocks to the output encoding, but only if necessary. */
if (opline->extended_value &&
strcmp(ucnv_getName(ZEND_U_CONVERTER(UG(output_encoding_conv)), &status),
- EG(active_op_array)->script_encoding)) {
+ EX(op_array)->script_encoding)) {
zval z_conv;
UConverter *script_enc_conv = NULL;
- if (zend_set_converter_encoding(&script_enc_conv, EG(active_op_array)->script_encoding) == FAILURE) {
- zend_error(E_ERROR, "Unsupported encoding [%d]", EG(active_op_array)->script_encoding);
+ if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
+ zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
}
zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &z_conv.value.str.val, &z_conv.value.str.len, z->value.str.val, z->value.str.len, &status);
z_conv.type = IS_BINARY;
zval *fname = &opline->op1.u.constant;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
if (zend_u_hash_find(EG(function_table), Z_TYPE_P(fname), Z_UNIVAL_P(fname), Z_UNILEN_P(fname)+1, (void **) &EX(function_state).function)==FAILURE) {
/* FIXME: output identifiers properly */
zend_error_noreturn(E_ERROR, "Unknown function: %R()", Z_TYPE_P(fname), Z_UNIVAL_P(fname));
}
EX(object) = NULL;
- EX(calling_scope) = EX(function_state).function->common.scope;
return zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
}
/* Convert inline HTML blocks to the output encoding, but only if necessary. */
if (opline->extended_value &&
strcmp(ucnv_getName(ZEND_U_CONVERTER(UG(output_encoding_conv)), &status),
- EG(active_op_array)->script_encoding)) {
+ EX(op_array)->script_encoding)) {
zval z_conv;
UConverter *script_enc_conv = NULL;
- if (zend_set_converter_encoding(&script_enc_conv, EG(active_op_array)->script_encoding) == FAILURE) {
- zend_error(E_ERROR, "Unsupported encoding [%d]", EG(active_op_array)->script_encoding);
+ if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
+ zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
}
zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &z_conv.value.str.val, &z_conv.value.str.len, z->value.str.val, z->value.str.len, &status);
z_conv.type = IS_BINARY;
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = &opline->op2.u.constant;
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
zval_dtor(free_op2.var);
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}
/* Convert inline HTML blocks to the output encoding, but only if necessary. */
if (opline->extended_value &&
strcmp(ucnv_getName(ZEND_U_CONVERTER(UG(output_encoding_conv)), &status),
- EG(active_op_array)->script_encoding)) {
+ EX(op_array)->script_encoding)) {
zval z_conv;
UConverter *script_enc_conv = NULL;
- if (zend_set_converter_encoding(&script_enc_conv, EG(active_op_array)->script_encoding) == FAILURE) {
- zend_error(E_ERROR, "Unsupported encoding [%d]", EG(active_op_array)->script_encoding);
+ if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
+ zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
}
zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &z_conv.value.str.val, &z_conv.value.str.len, z->value.str.val, z->value.str.len, &status);
z_conv.type = IS_BINARY;
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = &opline->op2.u.constant;
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
zval_dtor(free_op2.var);
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = &opline->op2.u.constant;
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_obj_zval_ptr_unused(TSRMLS_C);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_obj_zval_ptr_unused(TSRMLS_C);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
zval_dtor(free_op2.var);
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_obj_zval_ptr_unused(TSRMLS_C);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_obj_zval_ptr_unused(TSRMLS_C);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}
/* Convert inline HTML blocks to the output encoding, but only if necessary. */
if (opline->extended_value &&
strcmp(ucnv_getName(ZEND_U_CONVERTER(UG(output_encoding_conv)), &status),
- EG(active_op_array)->script_encoding)) {
+ EX(op_array)->script_encoding)) {
zval z_conv;
UConverter *script_enc_conv = NULL;
- if (zend_set_converter_encoding(&script_enc_conv, EG(active_op_array)->script_encoding) == FAILURE) {
- zend_error(E_ERROR, "Unsupported encoding [%d]", EG(active_op_array)->script_encoding);
+ if (zend_set_converter_encoding(&script_enc_conv, EX(op_array)->script_encoding) == FAILURE) {
+ zend_error(E_ERROR, "Unsupported encoding [%d]", EX(op_array)->script_encoding);
}
zend_convert_encodings(ZEND_U_CONVERTER(UG(output_encoding_conv)), script_enc_conv, &z_conv.value.str.val, &z_conv.value.str.len, z->value.str.val, z->value.str.len, &status);
z_conv.type = IS_BINARY;
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = &opline->op2.u.constant;
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
zval_dtor(free_op2.var);
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
if (free_op2.var) {zval_ptr_dtor(&free_op2.var);};
ZEND_VM_NEXT_OPCODE();
/* FIXME: type is default */
zend_uchar type = UG(unicode)?IS_UNICODE:IS_STRING;
- zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), EX(calling_scope));
+ zend_ptr_stack_3_push(&EG(arg_types_stack), EX(fbc), EX(object), NULL);
function_name = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
function_name_strval = Z_UNIVAL_P(function_name);
function_name_strlen = Z_UNILEN_P(function_name);
- EX(calling_scope) = EG(scope);
-
EX(object) = _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
if (EX(object) && EX(object)->type == IS_OBJECT) {
}
}
- if (EX(fbc)->type == ZEND_USER_FUNCTION) {
- EX(calling_scope) = EX(fbc)->common.scope;
- } else {
- EX(calling_scope) = NULL;
- }
-
ZEND_VM_NEXT_OPCODE();
}