Browse Source

disassembler: fix UNSET_VAR for PHP 5.4+

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@1295 c26eb9a1-5813-0410-bd6c-c2e55f420ca7
3.1
Xuefer 8 years ago
parent
commit
2575870deb
  1. 6
      mod_disassembler/sample.php
  2. 4
      xcache/xc_opcode_spec_def.h

6
mod_disassembler/sample.php

@ -36,12 +36,16 @@ abstract class ClassName
{
echo CONST_VALUE;
echo ClassName::CONST_VALUE;
unset(ClassName::$classProp);
unset(t::$classProp1);
unset($obj->objProp);
unset($this->thisProp);
unset($array['index']->valueProp);
unset($obj->array['index']);
unset($this->array['index']);
isset($GLOBALS['a']);
empty($GLOBALS['a']);
unset($GLOBALS['a']);
echo $GLOBALS['a'];
$obj->objProp = 1;
$this->thisProp = 1;
$array['index']->valueProp = 1;

4
xcache/xc_opcode_spec_def.h

@ -79,7 +79,11 @@ static const xc_opcode_spec_t xc_opcode_spec[] = {
OPSPEC( UNUSED, STD, INCLUDE, VAR) /* 73 INCLUDE_OR_EVAL */
#ifdef ZEND_ENGINE_2_1
/* php 5.1 and up */
# ifdef ZEND_ENGINE_2_4
OPSPEC( UNUSED, 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 */

Loading…
Cancel
Save