Changeset 1371 in svn


Ignore:
Timestamp:
2013-09-16T03:20:31Z (2 years ago)
Author:
Xuefer
Message:

closes #326: opcode spec info updates for 5.4+

Location:
trunk/xcache
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache/xc_opcode_spec.h

    r982 r1371  
    2626    OPSPEC(CONT) \
    2727    OPSPEC(INCLUDE) \
    28     OPSPEC(ASSIGN)
     28    OPSPEC(ASSIGN) \
     29    OPSPEC(FETCHTYPE)
    2930
    3031#define OPSPECS_DEF_ENUM(name) OPSPEC_##name,
  • trunk/xcache/xc_opcode_spec_def.h

    r1332 r1371  
    114114    OPSPEC(       BIT,        STD,        STD,        TMP) /* 72 ADD_ARRAY_ELEMENT              */
    115115    OPSPEC(    UNUSED,        STD,    INCLUDE,        VAR) /* 73 INCLUDE_OR_EVAL                */
    116     OPSPEC(    UNUSED,        STD,      FETCH,     UNUSED) /* 74 UNSET_VAR                      */
    117116#ifdef ZEND_ENGINE_2_1
    118117  /* php 5.1 and up */
     118#   ifdef ZEND_ENGINE_2_4
     119    OPSPEC( FETCHTYPE,        STD,        STD,     UNUSED) /* 74 UNSET_VAR                      */
     120#   else
     121    OPSPEC(    UNUSED,        STD,      FETCH,     UNUSED) /* 74 UNSET_VAR                      */
     122#   endif
    119123    OPSPEC(       STD,        STD,        STD,     UNUSED) /* 75 UNSET_DIM                      */
    120124    OPSPEC(       STD,        STD,        STD,     UNUSED) /* 76 UNSET_OBJ                      */
     125    OPSPEC(       BIT,        STD,     OPLINE,        VAR) /* 77 FE_RESET                       */
    121126#else
    122127  /* <= php 5.0 */
     128    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 74 UNSET_VAR                      */
    123129  /* though there is no ISSET_ISEMPTY in php 5.0 it's better to leave it here i guess */
    124     OPSPEC(    UNUSED,        VAR,        STD,     UNUSED) /* 75 UNSET_DIM_OBJ                  */
    125     OPSPEC(    UNUSED,        VAR,      ISSET,        TMP) /* 76 UNUSED                         */
    126 #endif
     130    OPSPEC(    UNUSED,        VAR,        STD,     UNUSED)
     131    OPSPEC(    UNUSED,        VAR,      ISSET,        TMP)
    127132    OPSPEC(       BIT,        STD,     UNUSED,        VAR) /* 77 FE_RESET                       */
     133#endif
    128134    OPSPEC(        FE,        STD,     OPLINE,        TMP) /* 78 FE_FETCH                       */
    129135    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 79 EXIT                           */
     136#ifdef ZEND_ENGINE_2_4
     137    OPSPEC( FETCHTYPE,        STD,        STD,        VAR) /* 80 FETCH_R                        */
     138#else
    130139    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 80 FETCH_R                        */
     140#endif
    131141    OPSPEC(     FETCH,        VAR,        STD,        VAR) /* 81 FETCH_DIM_R                    */
    132142    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 82 FETCH_OBJ_R                    */
     143#ifdef ZEND_ENGINE_2_4
     144    OPSPEC( FETCHTYPE,        STD,        STD,        VAR) /* 83 FETCH_W                        */
     145#else
    133146    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 83 FETCH_W                        */
     147#endif
    134148    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 84 FETCH_DIM_W                    */
    135149    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 85 FETCH_OBJ_W                    */
     150#ifdef ZEND_ENGINE_2_4
     151    OPSPEC( FETCHTYPE,        STD,        STD,        VAR) /* 86 FETCH_RW                       */
     152#else
    136153    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 86 FETCH_RW                       */
     154#endif
    137155    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 87 FETCH_DIM_RW                   */
    138156    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 88 FETCH_OBJ_RW                   */
     157#ifdef ZEND_ENGINE_2_4
     158    OPSPEC( FETCHTYPE,        STD,        STD,        VAR) /* 89 FETCH_IS                        */
     159#else
    139160    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 89 FETCH_IS                       */
     161#endif
    140162    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 90 FETCH_DIM_IS                   */
    141163    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 91 FETCH_OBJ_IS                   */
     164#ifdef ZEND_ENGINE_2_4
     165    OPSPEC(       ARG,        STD,        STD,        VAR) /* 92 FETCH_FUNC_ARG                 */
     166#else
    142167    OPSPEC(       ARG,        STD,      FETCH,        VAR) /* 92 FETCH_FUNC_ARG                 */
     168#endif
    143169    OPSPEC(       ARG,        VAR,        STD,        VAR) /* 93 FETCH_DIM_FUNC_ARG             */
    144170    OPSPEC(       ARG,      VAR_2,        STD,        VAR) /* 94 FETCH_OBJ_FUNC_ARG             */
     171#ifdef ZEND_ENGINE_2_4
     172    OPSPEC( FETCHTYPE,        STD,        STD,        VAR) /* 95 FETCH_UNSET                    */
     173#else
    145174    OPSPEC(    UNUSED,        STD,      FETCH,        VAR) /* 95 FETCH_UNSET                    */
     175#endif
    146176    OPSPEC(    UNUSED,        VAR,        STD,        VAR) /* 96 FETCH_DIM_UNSET                */
    147177    OPSPEC(    UNUSED,      VAR_2,        STD,        VAR) /* 97 FETCH_OBJ_UNSET                */
     
    194224    OPSPEC(    UNUSED,     UCLASS,        STD,     UNUSED) /* 113 INIT_STATIC_METHOD_CALL        */
    195225#   endif
     226#   ifdef ZEND_ENGINE_2_4
     227    OPSPEC(     ISSET,        STD,        STD,        TMP) /* 114 ISSET_ISEMPTY_VAR              */
     228#   else
    196229    OPSPEC(     ISSET,        STD,      FETCH,        TMP) /* 114 ISSET_ISEMPTY_VAR              */
     230#   endif
    197231    OPSPEC(     ISSET,        STD,        STD,        TMP) /* 115 ISSET_ISEMPTY_DIM_OBJ          */
    198232
Note: See TracChangeset for help on using the changeset viewer.