- Timestamp:
- 2013-07-15T04:40:37Z (5 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Decompiler.class.php
r1315 r1316 1594 1594 case XC_ASSIGN_DIM: 1595 1595 case XC_UNSET_DIM: 1596 case XC_UNSET_DIM_OBJ: 1596 1597 case XC_UNSET_OBJ: 1597 1598 $src = $this->getOpVal($op1, $EX); … … 2129 2130 $flags = array_flip(explode('_', $opname)); 2130 2131 if (isset($flags['OBJ'])) { 2131 $resvar = $this->getOpVal($op1, $EX) . '->' . unquoteVariableName($this->getOpVal($op2, $EX), $EX); 2132 $name = isset($op2['constant']) ? $op2['constant'] : unquoteVariableName($this->getOpVal($op2, $EX), $EX); 2133 $resvar = str($this->getOpVal($op1, $EX)) . '->' . $name; 2132 2134 } 2133 2135 else { 2134 $resvar = $this->getOpVal($op1, $EX);2136 $resvar = str($this->getOpVal($op1, $EX)); 2135 2137 } 2136 2138 $opstr = isset($flags['DEC']) ? '--' : '++'; … … 2166 2168 assert(isset($type2cast[$type])); 2167 2169 $cast = $type2cast[$type]; 2168 $resvar = $cast . ' ' . $this->getOpVal($op1, $EX);2170 $resvar = $cast . ' ' . str($this->getOpVal($op1, $EX)); 2169 2171 break; 2170 2172 // }}} … … 2173 2175 case XC_EXT_FCALL_END: 2174 2176 case XC_EXT_NOP: 2177 case XC_INIT_CTOR_CALL: 2175 2178 break; 2176 2179 case XC_DECLARE_FUNCTION: … … 2837 2840 define('IS_LONG', 1); 2838 2841 define('IS_DOUBLE', 2); 2839 define('IS_BOOL', 3);2842 define('IS_BOOL', ZEND_ENGINE_2_1 ? 3 : 6); 2840 2843 define('IS_ARRAY', 4); 2841 2844 define('IS_OBJECT', 5); 2842 define('IS_STRING', 6);2845 define('IS_STRING', ZEND_ENGINE_2_1 ? 6 : 3); 2843 2846 define('IS_RESOURCE', 7); 2844 2847 define('IS_CONSTANT', 8); … … 2876 2879 'XC_DO_FCALL_BY_FUNC' => -1, 2877 2880 'XC_GOTO' => -1, 2881 'XC_INIT_CTOR_CALL' => -1, 2878 2882 'XC_INIT_FCALL_BY_FUNC' => -1, 2879 2883 'XC_INIT_NS_FCALL_BY_NAME' => -1, … … 2884 2888 'XC_QM_ASSIGN_VAR' => -1, 2885 2889 'XC_UNSET_DIM' => -1, 2890 'XC_UNSET_DIM_OBJ' => -1, 2886 2891 'XC_UNSET_OBJ' => -1, 2887 2892 'XC_USER_OPCODE' => -1, -
trunk/xcache/xc_opcode_spec_def.h
r1306 r1316 71 71 #ifdef ZEND_ENGINE_2_3 72 72 OPSPEC( STD, STD, STD, UNUSED) /* 69 INIT_NS_FCALL_BY_NAME */ 73 #elif defined(ZEND_ENGINE_2_1) 74 OPSPEC( UNUSED, UNUSED, UNUSED, UNUSED) 73 75 #else 74 76 OPSPEC( UNUSED, STD, OPLINE, UNUSED) /* 69 JMP_NO_CTOR */ … … 78 80 OPSPEC( BIT, STD, STD, TMP) /* 72 ADD_ARRAY_ELEMENT */ 79 81 OPSPEC( UNUSED, STD, INCLUDE, VAR) /* 73 INCLUDE_OR_EVAL */ 82 OPSPEC( UNUSED, STD, FETCH, UNUSED) /* 74 UNSET_VAR */ 80 83 #ifdef ZEND_ENGINE_2_1 81 84 /* php 5.1 and up */ 82 OPSPEC( UNUSED, STD, FETCH, UNUSED) /* 74 UNSET_VAR */83 85 OPSPEC( STD, STD, STD, UNUSED) /* 75 UNSET_DIM */ 84 86 OPSPEC( STD, STD, STD, UNUSED) /* 76 UNSET_OBJ */ … … 87 89 /* <= php 5.0 */ 88 90 /* though there is no ISSET_ISEMPTY in php 5.0 it's better to leave it here i guess */ 89 OPSPEC( UNUSED, STD, UNUSED, UNUSED) 90 OPSPEC( UNUSED, VAR, STD, UNUSED) 91 OPSPEC( UNUSED, VAR, STD, UNUSED) /* 75 UNSET_DIM_OBJ */ 91 92 OPSPEC( UNUSED, VAR, ISSET, TMP) 92 93 OPSPEC( BIT, STD, UNUSED, VAR)
Note: See TracChangeset
for help on using the changeset viewer.