Changeset 1371


Ignore:
Timestamp:
2013-09-16T05:20:31+02:00 (16 months ago)
Author:
moo
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.