|
|
@ -113,36 +113,66 @@ static const xc_opcode_spec_t xc_opcode_spec[] = { |
|
|
|
OPSPEC( BIT, STD, STD, TMP) /* 71 INIT_ARRAY */ |
|
|
|
OPSPEC( BIT, STD, STD, TMP) /* 72 ADD_ARRAY_ELEMENT */ |
|
|
|
OPSPEC( UNUSED, STD, INCLUDE, VAR) /* 73 INCLUDE_OR_EVAL */ |
|
|
|
OPSPEC( UNUSED, STD, FETCH, UNUSED) /* 74 UNSET_VAR */ |
|
|
|
#ifdef ZEND_ENGINE_2_1 |
|
|
|
/* php 5.1 and up */ |
|
|
|
# ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, UNUSED) /* 74 UNSET_VAR */ |
|
|
|
# else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, UNUSED) /* 74 UNSET_VAR */ |
|
|
|
# endif |
|
|
|
OPSPEC( STD, STD, STD, UNUSED) /* 75 UNSET_DIM */ |
|
|
|
OPSPEC( STD, STD, STD, UNUSED) /* 76 UNSET_OBJ */ |
|
|
|
OPSPEC( BIT, STD, OPLINE, VAR) /* 77 FE_RESET */ |
|
|
|
#else |
|
|
|
/* <= php 5.0 */ |
|
|
|
OPSPEC( UNUSED, STD, UNUSED, UNUSED) /* 74 UNSET_VAR */ |
|
|
|
/* though there is no ISSET_ISEMPTY in php 5.0 it's better to leave it here i guess */ |
|
|
|
OPSPEC( UNUSED, VAR, STD, UNUSED) /* 75 UNSET_DIM_OBJ */ |
|
|
|
OPSPEC( UNUSED, VAR, ISSET, TMP) /* 76 UNUSED */ |
|
|
|
#endif |
|
|
|
OPSPEC( UNUSED, VAR, STD, UNUSED) |
|
|
|
OPSPEC( UNUSED, VAR, ISSET, TMP) |
|
|
|
OPSPEC( BIT, STD, UNUSED, VAR) /* 77 FE_RESET */ |
|
|
|
#endif |
|
|
|
OPSPEC( FE, STD, OPLINE, TMP) /* 78 FE_FETCH */ |
|
|
|
OPSPEC( UNUSED, STD, UNUSED, UNUSED) /* 79 EXIT */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, VAR) /* 80 FETCH_R */ |
|
|
|
#else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, VAR) /* 80 FETCH_R */ |
|
|
|
#endif |
|
|
|
OPSPEC( FETCH, VAR, STD, VAR) /* 81 FETCH_DIM_R */ |
|
|
|
OPSPEC( UNUSED, VAR_2, STD, VAR) /* 82 FETCH_OBJ_R */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, VAR) /* 83 FETCH_W */ |
|
|
|
#else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, VAR) /* 83 FETCH_W */ |
|
|
|
#endif |
|
|
|
OPSPEC( UNUSED, VAR, STD, VAR) /* 84 FETCH_DIM_W */ |
|
|
|
OPSPEC( UNUSED, VAR_2, STD, VAR) /* 85 FETCH_OBJ_W */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, VAR) /* 86 FETCH_RW */ |
|
|
|
#else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, VAR) /* 86 FETCH_RW */ |
|
|
|
#endif |
|
|
|
OPSPEC( UNUSED, VAR, STD, VAR) /* 87 FETCH_DIM_RW */ |
|
|
|
OPSPEC( UNUSED, VAR_2, STD, VAR) /* 88 FETCH_OBJ_RW */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, VAR) /* 89 FETCH_IS */ |
|
|
|
#else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, VAR) /* 89 FETCH_IS */ |
|
|
|
#endif |
|
|
|
OPSPEC( UNUSED, VAR, STD, VAR) /* 90 FETCH_DIM_IS */ |
|
|
|
OPSPEC( UNUSED, VAR_2, STD, VAR) /* 91 FETCH_OBJ_IS */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( ARG, STD, STD, VAR) /* 92 FETCH_FUNC_ARG */ |
|
|
|
#else |
|
|
|
OPSPEC( ARG, STD, FETCH, VAR) /* 92 FETCH_FUNC_ARG */ |
|
|
|
#endif |
|
|
|
OPSPEC( ARG, VAR, STD, VAR) /* 93 FETCH_DIM_FUNC_ARG */ |
|
|
|
OPSPEC( ARG, VAR_2, STD, VAR) /* 94 FETCH_OBJ_FUNC_ARG */ |
|
|
|
#ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( FETCHTYPE, STD, STD, VAR) /* 95 FETCH_UNSET */ |
|
|
|
#else |
|
|
|
OPSPEC( UNUSED, STD, FETCH, VAR) /* 95 FETCH_UNSET */ |
|
|
|
#endif |
|
|
|
OPSPEC( UNUSED, VAR, STD, VAR) /* 96 FETCH_DIM_UNSET */ |
|
|
|
OPSPEC( UNUSED, VAR_2, STD, VAR) /* 97 FETCH_OBJ_UNSET */ |
|
|
|
OPSPEC( UNUSED, STD, STD, VAR) /* 98 FETCH_DIM_TMP_VAR */ |
|
|
@ -193,7 +223,11 @@ static const xc_opcode_spec_t xc_opcode_spec[] = { |
|
|
|
# else |
|
|
|
OPSPEC( UNUSED, UCLASS, STD, UNUSED) /* 113 INIT_STATIC_METHOD_CALL */ |
|
|
|
# endif |
|
|
|
# ifdef ZEND_ENGINE_2_4 |
|
|
|
OPSPEC( ISSET, STD, STD, TMP) /* 114 ISSET_ISEMPTY_VAR */ |
|
|
|
# else |
|
|
|
OPSPEC( ISSET, STD, FETCH, TMP) /* 114 ISSET_ISEMPTY_VAR */ |
|
|
|
# endif |
|
|
|
OPSPEC( ISSET, STD, STD, TMP) /* 115 ISSET_ISEMPTY_DIM_OBJ */ |
|
|
|
|
|
|
|
OPSPEC( UNUSED, CLASS, STD, UNUSED) /* 116 IMPORT_FUNCTION */ |
|
|
|