ZEND_VM_HELPER(zend_leave_helper, ANY, ANY)
{
- vm_frame_kind frame_kind = EX(frame_kind);
+ vm_frame_kind frame_kind = VM_FRAME_KIND(EX(frame_info));
if (frame_kind == VM_FRAME_NESTED_FUNCTION) {
zend_object *object;
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
FREE_OP2();
FREE_OP1_IF_VAR();
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (OP2_TYPE == IS_UNUSED) {
EX(call)->return_value = NULL;
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
/*CHECK_EXCEPTION();*/
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Function name must be a string");
ZEND_VM_CONTINUE(); /* Never reached */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
object = NULL;
}
- EX(call) = zend_vm_stack_push_call_frame(
- func, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ func, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
FREE_OP2();
CHECK_EXCEPTION();
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
ZEND_VM_NEXT_OPCODE();
}
CACHE_PTR(Z_CACHE_SLOT_P(fname), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
FREE_OP2();
zend_vm_stack_free_call_frame(call TSRMLS_CC);
} else {
call->prev_execute_data = execute_data;
- i_init_func_execute_data(call, &fbc->op_array, return_value, VM_FRAME_NESTED_FUNCTION TSRMLS_CC);
+ i_init_func_execute_data(call, &fbc->op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_FUNCTION;
+ call->frame_info = VM_FRAME_INFO(
+ VM_FRAME_TOP_FUNCTION,
+ VM_FRAME_FLAGS(call->frame_info));
zend_execute_ex(call TSRMLS_CC);
}
}
} else {
/* We are not handling overloaded classes right now */
EX(call) = zend_vm_stack_push_call_frame(
- constructor, opline->extended_value,
- RETURN_VALUE_USED(opline) ?
- ZEND_CALL_CTOR : (ZEND_CALL_CTOR | ZEND_CALL_CTOR_RESULT_UNUSED),
+ VM_FRAME_INFO(
+ VM_FRAME_NESTED_FUNCTION,
+ RETURN_VALUE_USED(opline) ?
+ ZEND_CALL_CTOR : (ZEND_CALL_CTOR | ZEND_CALL_CTOR_RESULT_UNUSED)),
+ constructor,
+ opline->extended_value,
Z_CE_P(EX_VAR(opline->op1.var)),
Z_OBJ(object_zval),
EX(call) TSRMLS_CC);
return_value = EX_VAR(opline->result.var);
}
- call = zend_vm_stack_push_call_frame(
- (zend_function*)new_op_array, 0, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
+ call = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_CODE,
+ (zend_function*)new_op_array, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
if (EX(symbol_table)) {
call->symbol_table = EX(symbol_table);
}
call->prev_execute_data = execute_data;
- i_init_code_execute_data(call, new_op_array, return_value, VM_FRAME_NESTED_CODE TSRMLS_CC);
+ i_init_code_execute_data(call, new_op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_CODE;
+ call->frame_info = VM_FRAME_TOP_CODE;
zend_execute_ex(call TSRMLS_CC);
}
zend_vm_stack_free_args(EX(call) TSRMLS_CC);
if (Z_OBJ(call->This)) {
- if (call->flags & ZEND_CALL_CTOR) {
- if (!(call->flags & ZEND_CALL_CTOR_RESULT_UNUSED)) {
+ if (call->frame_info & ZEND_CALL_CTOR) {
+ if (!(call->frame_info & ZEND_CALL_CTOR_RESULT_UNUSED)) {
GC_REFCOUNT(Z_OBJ(call->This))--;
}
if (GC_REFCOUNT(Z_OBJ(call->This)) == 1) {
return;
}
- execute_data = zend_vm_stack_push_call_frame(
- (zend_function*)op_array, 0, 0, EG(current_execute_data) ? EG(current_execute_data)->called_scope : NULL, EG(current_execute_data) ? Z_OBJ(EG(current_execute_data)->This) : NULL, NULL TSRMLS_CC);
+ execute_data = zend_vm_stack_push_call_frame(VM_FRAME_TOP_CODE,
+ (zend_function*)op_array, 0, EG(current_execute_data) ? EG(current_execute_data)->called_scope : NULL, EG(current_execute_data) ? Z_OBJ(EG(current_execute_data)->This) : NULL, NULL TSRMLS_CC);
if (EG(current_execute_data)) {
execute_data->symbol_table = zend_rebuild_symbol_table(TSRMLS_C);
} else {
execute_data->symbol_table = &EG(symbol_table);
}
EX(prev_execute_data) = EG(current_execute_data);
- i_init_execute_data(execute_data, op_array, return_value, VM_FRAME_TOP_CODE TSRMLS_CC);
+ i_init_execute_data(execute_data, op_array, return_value TSRMLS_CC);
zend_execute_ex(execute_data TSRMLS_CC);
}
static int ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS)
{
- vm_frame_kind frame_kind = EX(frame_kind);
+ vm_frame_kind frame_kind = VM_FRAME_KIND(EX(frame_info));
if (frame_kind == VM_FRAME_NESTED_FUNCTION) {
zend_object *object;
zend_vm_stack_free_call_frame(call TSRMLS_CC);
} else {
call->prev_execute_data = execute_data;
- i_init_func_execute_data(call, &fbc->op_array, return_value, VM_FRAME_NESTED_FUNCTION TSRMLS_CC);
+ i_init_func_execute_data(call, &fbc->op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_FUNCTION;
+ call->frame_info = VM_FRAME_INFO(
+ VM_FRAME_TOP_FUNCTION,
+ VM_FRAME_FLAGS(call->frame_info));
zend_execute_ex(call TSRMLS_CC);
}
}
} else {
/* We are not handling overloaded classes right now */
EX(call) = zend_vm_stack_push_call_frame(
- constructor, opline->extended_value,
- RETURN_VALUE_USED(opline) ?
- ZEND_CALL_CTOR : (ZEND_CALL_CTOR | ZEND_CALL_CTOR_RESULT_UNUSED),
+ VM_FRAME_INFO(
+ VM_FRAME_NESTED_FUNCTION,
+ RETURN_VALUE_USED(opline) ?
+ ZEND_CALL_CTOR : (ZEND_CALL_CTOR | ZEND_CALL_CTOR_RESULT_UNUSED)),
+ constructor,
+ opline->extended_value,
Z_CE_P(EX_VAR(opline->op1.var)),
Z_OBJ(object_zval),
EX(call) TSRMLS_CC);
zend_vm_stack_free_args(EX(call) TSRMLS_CC);
if (Z_OBJ(call->This)) {
- if (call->flags & ZEND_CALL_CTOR) {
- if (!(call->flags & ZEND_CALL_CTOR_RESULT_UNUSED)) {
+ if (call->frame_info & ZEND_CALL_CTOR) {
+ if (!(call->frame_info & ZEND_CALL_CTOR_RESULT_UNUSED)) {
GC_REFCOUNT(Z_OBJ(call->This))--;
}
if (GC_REFCOUNT(Z_OBJ(call->This)) == 1) {
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
/*CHECK_EXCEPTION();*/
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Function name must be a string");
ZEND_VM_CONTINUE(); /* Never reached */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
ZEND_VM_NEXT_OPCODE();
}
CACHE_PTR(Z_CACHE_SLOT_P(fname), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
ZEND_VM_NEXT_OPCODE();
}
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
/*CHECK_EXCEPTION();*/
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Function name must be a string");
ZEND_VM_CONTINUE(); /* Never reached */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
/*CHECK_EXCEPTION();*/
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Function name must be a string");
ZEND_VM_CONTINUE(); /* Never reached */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
CACHE_PTR(Z_CACHE_SLOT_P(opline->op2.zv), fbc);
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, NULL, NULL, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, NULL, NULL, EX(call) TSRMLS_CC);
/*CHECK_EXCEPTION();*/
ZEND_VM_NEXT_OPCODE();
zend_error_noreturn(E_ERROR, "Function name must be a string");
ZEND_VM_CONTINUE(); /* Never reached */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
return_value = EX_VAR(opline->result.var);
}
- call = zend_vm_stack_push_call_frame(
- (zend_function*)new_op_array, 0, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
+ call = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_CODE,
+ (zend_function*)new_op_array, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
if (EX(symbol_table)) {
call->symbol_table = EX(symbol_table);
}
call->prev_execute_data = execute_data;
- i_init_code_execute_data(call, new_op_array, return_value, VM_FRAME_NESTED_CODE TSRMLS_CC);
+ i_init_code_execute_data(call, new_op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_CODE;
+ call->frame_info = VM_FRAME_TOP_CODE;
zend_execute_ex(call TSRMLS_CC);
}
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_CONST == IS_UNUSED) {
EX(call)->return_value = NULL;
object = NULL;
}
- EX(call) = zend_vm_stack_push_call_frame(
- func, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ func, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_TMP_VAR == IS_UNUSED) {
EX(call)->return_value = NULL;
object = NULL;
}
- EX(call) = zend_vm_stack_push_call_frame(
- func, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ func, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
CHECK_EXCEPTION();
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_VAR == IS_UNUSED) {
EX(call)->return_value = NULL;
object = NULL;
}
- EX(call) = zend_vm_stack_push_call_frame(
- func, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ func, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
CHECK_EXCEPTION();
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_UNUSED == IS_UNUSED) {
EX(call)->return_value = NULL;
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_CV == IS_UNUSED) {
EX(call)->return_value = NULL;
object = NULL;
}
- EX(call) = zend_vm_stack_push_call_frame(
- func, opline->extended_value, 0, called_scope, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ func, opline->extended_value, called_scope, object, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
return_value = EX_VAR(opline->result.var);
}
- call = zend_vm_stack_push_call_frame(
- (zend_function*)new_op_array, 0, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
+ call = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_CODE,
+ (zend_function*)new_op_array, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
if (EX(symbol_table)) {
call->symbol_table = EX(symbol_table);
}
call->prev_execute_data = execute_data;
- i_init_code_execute_data(call, new_op_array, return_value, VM_FRAME_NESTED_CODE TSRMLS_CC);
+ i_init_code_execute_data(call, new_op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_CODE;
+ call->frame_info = VM_FRAME_TOP_CODE;
zend_execute_ex(call TSRMLS_CC);
}
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
return_value = EX_VAR(opline->result.var);
}
- call = zend_vm_stack_push_call_frame(
- (zend_function*)new_op_array, 0, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
+ call = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_CODE,
+ (zend_function*)new_op_array, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
if (EX(symbol_table)) {
call->symbol_table = EX(symbol_table);
}
call->prev_execute_data = execute_data;
- i_init_code_execute_data(call, new_op_array, return_value, VM_FRAME_NESTED_CODE TSRMLS_CC);
+ i_init_code_execute_data(call, new_op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_CODE;
+ call->frame_info = VM_FRAME_TOP_CODE;
zend_execute_ex(call TSRMLS_CC);
}
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op1.var);
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_CONST == IS_UNUSED) {
EX(call)->return_value = NULL;
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
zval_ptr_dtor_nogc(free_op1.var);
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_TMP_VAR == IS_UNUSED) {
EX(call)->return_value = NULL;
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
zval_ptr_dtor_nogc(free_op1.var);
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_VAR == IS_UNUSED) {
EX(call)->return_value = NULL;
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_UNUSED == IS_UNUSED) {
EX(call)->return_value = NULL;
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op1.var);
}
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, ce, object, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, ce, object, EX(call) TSRMLS_CC);
if (IS_CV == IS_UNUSED) {
EX(call)->return_value = NULL;
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
return_value = EX_VAR(opline->result.var);
}
- call = zend_vm_stack_push_call_frame(
- (zend_function*)new_op_array, 0, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
+ call = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_CODE,
+ (zend_function*)new_op_array, 0, EX(called_scope), Z_OBJ(EX(This)), NULL TSRMLS_CC);
if (EX(symbol_table)) {
call->symbol_table = EX(symbol_table);
}
call->prev_execute_data = execute_data;
- i_init_code_execute_data(call, new_op_array, return_value, VM_FRAME_NESTED_CODE TSRMLS_CC);
+ i_init_code_execute_data(call, new_op_array, return_value TSRMLS_CC);
if (EXPECTED(zend_execute_ex == execute_ex)) {
ZEND_VM_ENTER();
} else {
- call->frame_kind = VM_FRAME_TOP_CODE;
+ call->frame_info = VM_FRAME_TOP_CODE;
zend_execute_ex(call TSRMLS_CC);
}
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
zval_ptr_dtor_nogc(free_op2.var);
GC_REFCOUNT(obj)++; /* For $this pointer */
}
- EX(call) = zend_vm_stack_push_call_frame(
- fbc, opline->extended_value, 0, called_scope, obj, EX(call) TSRMLS_CC);
+ EX(call) = zend_vm_stack_push_call_frame(VM_FRAME_NESTED_FUNCTION,
+ fbc, opline->extended_value, called_scope, obj, EX(call) TSRMLS_CC);
CHECK_EXCEPTION();