Use macros

This commit is contained in:
Dmitry Stogov 2014-04-07 10:57:58 +04:00
parent a94923d5cb
commit 8b2bb30137
3 changed files with 11 additions and 12 deletions

View File

@ -220,6 +220,11 @@ static zend_always_inline zval *zend_vm_stack_top(TSRMLS_D)
return EG(argument_stack)->top;
}
static zend_always_inline zval *zend_vm_stack_top_inc(TSRMLS_D)
{
return EG(argument_stack)->top++;
}
static zend_always_inline void zend_vm_stack_push(zval *ptr TSRMLS_DC)
{
ZVAL_COPY_VALUE(EG(argument_stack)->top, ptr);

View File

@ -2941,8 +2941,7 @@ ZEND_VM_HANDLER(65, ZEND_SEND_VAL, CONST|TMP, ANY)
zend_free_op free_op1;
value = GET_OP1_ZVAL_PTR(BP_VAR_R);
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
ZVAL_COPY_VALUE(top, value);
if (!IS_OP1_TMP_FREE()) {
zval_opt_copy_ctor(top);
@ -2960,8 +2959,7 @@ ZEND_VM_HELPER(zend_send_by_var_helper, VAR|CV, ANY)
zend_free_op free_op1;
varptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
if (Z_ISREF_P(varptr)) {
//??? if (OP1_TYPE == IS_CV ||
//??? (OP1_TYPE == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {

View File

@ -2670,8 +2670,7 @@ static int ZEND_FASTCALL ZEND_SEND_VAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
value = opline->op1.zv;
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
ZVAL_COPY_VALUE(top, value);
if (!0) {
zval_opt_copy_ctor(top);
@ -7726,8 +7725,7 @@ static int ZEND_FASTCALL ZEND_SEND_VAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
zend_free_op free_op1;
value = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
ZVAL_COPY_VALUE(top, value);
if (!1) {
zval_opt_copy_ctor(top);
@ -12691,8 +12689,7 @@ static int ZEND_FASTCALL zend_send_by_var_helper_SPEC_VAR(ZEND_OPCODE_HANDLER_AR
zend_free_op free_op1;
varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
if (Z_ISREF_P(varptr)) {
//??? if (IS_VAR == IS_CV ||
//??? (IS_VAR == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {
@ -29279,8 +29276,7 @@ static int ZEND_FASTCALL zend_send_by_var_helper_SPEC_CV(ZEND_OPCODE_HANDLER_ARG
varptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
top = EG(argument_stack)->top;
EG(argument_stack)->top++;
top = zend_vm_stack_top_inc(TSRMLS_C);
if (Z_ISREF_P(varptr)) {
//??? if (IS_CV == IS_CV ||
//??? (IS_CV == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {