Changeset 781 for trunk/xcache.c


Ignore:
Timestamp:
2011-04-22T14:05:08+02:00 (3 years ago)
Author:
moo
Message:

Decompiler: handle closure use()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r780 r781  
    28762876/* }}} */ 
    28772877/* {{{ proto int xcache_get_refcount(mixed variable) 
    2878    Get reference count of variable */ 
     2878   XCache internal uses only: Get reference count of variable */ 
    28792879PHP_FUNCTION(xcache_get_refcount) 
    28802880{ 
     
    28882888/* }}} */ 
    28892889/* {{{ proto bool xcache_get_isref(mixed variable) 
    2890    check if variable data is marked referenced */ 
     2890   XCache internal uses only: Check if variable data is marked referenced */ 
     2891ZEND_BEGIN_ARG_INFO_EX(arginfo_xcache_get_isref, 0, 0, 1) 
     2892    ZEND_ARG_INFO(1, variable) 
     2893ZEND_END_ARG_INFO() 
     2894 
    28912895PHP_FUNCTION(xcache_get_isref) 
    28922896{ 
     
    28962900    } 
    28972901 
    2898     RETURN_BOOL(Z_ISREF_P(variable)); 
     2902    RETURN_BOOL(Z_ISREF_P(variable) && Z_REFCOUNT_P(variable) >= 3); 
    28992903} 
    29002904/* }}} */ 
     
    30473051/* }}} */ 
    30483052#endif 
    3049 /* {{{ proto mixed xcache_get_special_value(zval value) */ 
     3053/* {{{ proto mixed xcache_get_special_value(zval value) 
     3054   XCache internal use only: For decompiler to get static value with type fixed */ 
    30503055PHP_FUNCTION(xcache_get_special_value) 
    30513056{ 
     
    30723077        RETURN_NULL(); 
    30733078    } 
     3079} 
     3080/* }}} */ 
     3081/* {{{ proto int xcache_get_type(zval value) 
     3082   XCache internal use only for disassembler to get variable type in engine level */ 
     3083PHP_FUNCTION(xcache_get_type) 
     3084{ 
     3085    zval *value; 
     3086 
     3087    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &value) == FAILURE) { 
     3088        return; 
     3089    } 
     3090 
     3091    RETURN_LONG(Z_TYPE_P(value)); 
    30743092} 
    30753093/* }}} */ 
     
    31263144#endif 
    31273145    PHP_FE(xcache_get_special_value, NULL) 
     3146    PHP_FE(xcache_get_type,          NULL) 
    31283147    PHP_FE(xcache_get_op_type,       NULL) 
    31293148    PHP_FE(xcache_get_data_type,     NULL) 
     
    31413160    PHP_FE(xcache_unset_by_prefix,   NULL) 
    31423161    PHP_FE(xcache_get_refcount,      NULL) 
    3143     PHP_FE(xcache_get_isref,         NULL) 
     3162    PHP_FE(xcache_get_isref,         arginfo_xcache_get_isref) 
    31443163#ifdef HAVE_XCACHE_DPRINT 
    31453164    PHP_FE(xcache_dprint,            NULL) 
Note: See TracChangeset for help on using the changeset viewer.