Browse Source

5.3 support, merge news from 1.2

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@562 c26eb9a1-5813-0410-bd6c-c2e55f420ca7
3.0
Xuefer 13 years ago
parent
commit
d7e92e4f8b
  1. 26
      ChangeLog
  2. 14
      NEWS
  3. 2
      const_string.c
  4. 15
      const_string_opcodes_php5.1.h
  5. 156
      const_string_opcodes_php5.3.h
  6. 7
      const_string_opcodes_php6.x.h
  7. 5
      prepare.devel
  8. 6
      processor/processor.m4
  9. 6
      xcache.h

26
ChangeLog

@ -5,21 +5,37 @@ Ini Settings Changes
ChangeLog
========
* fixed #102: segv when var cacher is too small
* fixed #55: segv php tokenizer on certain special situation
* compiler errors: all compiler warning (E_STRICT only currently) is now cached and is supported for user handler
* could not show module info in admin page when XCache is the last module
* wrong http auth realm
1.3.0 2008-?-?
== ChangeLog ==
* PHP 5.3 support
1.2.2 2007-12-29
== ChangeLog ==
* added module dependency
* live with wrong system time: allow caching files with mtime in further
* bug fix for compatibility with Zend Optimizer and other non-cachable
* new: xcache.stat = On
* could not show module info in admin page when XCache is the last module
* wrong http auth realm
* #59: Maximum execution time of 60 seconds exceeded
* #102: segv when var cacher is too small
* #55: segv php tokenizer on certain special situation
1.2.1 2007-07-01
== Ini Settings Changes ==
* new: xcache.admin.enable_auth = On
== ChangeLog ==
* #86: remove/edit variable in admin page
* fixed #102: segv when var cacher is too small
* fixed #55: segv php tokenizer on certain special situation
* fixed #109: fast inc/dec was trying to break ro protection
* fixed #101, #105: Fixed compatibility issue for apache 1.x
* fixed #94: Garbage collector disabled when xcache.cacher set to off
* fixed #92: Zend Optimizer compatibility issue
* fixed #77: hits/misses was not updated
* fixed #59: pass by reference for internal function was broken
* fixed #56: xcache_set segfaults when xcache.var_size=0
========

14
NEWS

@ -1,9 +1,23 @@
2.0.0 2007-?-?
== ChangeLog ==
1.3.0 2008-?-?
== ChangeLog ==
* PHP 5.3 support
1.2.2 2007-12-29
========
* live with wrong system time: allow caching files with mtime in further
* bug fix for compatibility with Zend Optimizer and other non-cachable
* a rare segv bug with token_get_all
* minor bug fixes
1.2.1 2007-07-01
========
* compatibility fix for apache 1.x, which init XCache module correctly
* full Zend Optimizer compatibility
* ini settings changed
* other bug fixes
1.2.0 2006-12-10
========

2
const_string.c

@ -63,8 +63,6 @@ const char *xc_get_data_type(zend_uchar data_type)
/* {{{ xc_get_opcode */
#if PHP_MAJOR_VERSION >= 6
# include "const_string_opcodes_php6.x.h"
#elif defined(ZEND_ENGINE_2_3)
# include "const_string_opcodes_php5.3.h"
#elif defined(ZEND_ENGINE_2_1)
# include "const_string_opcodes_php5.1.h"
#elif defined(ZEND_ENGINE_2)

15
const_string_opcodes_php5.1.h

@ -1,4 +1,4 @@
/* size = 150 */
/* size = 153 */
static const char *const xc_opcode_names[] = {
/* 0 */ "NOP",
/* 1 */ "ADD",
@ -69,7 +69,7 @@ static const char *const xc_opcode_names[] = {
/* 66 */ "SEND_VAR",
/* 67 */ "SEND_REF",
/* 68 */ "NEW",
/* 69 */ "UNDEF",
/* 69 */ "INIT_NS_FCALL_BY_NAME",
/* 70 */ "FREE",
/* 71 */ "INIT_ARRAY",
/* 72 */ "ADD_ARRAY_ELEMENT",
@ -100,7 +100,7 @@ static const char *const xc_opcode_names[] = {
/* 97 */ "FETCH_OBJ_UNSET",
/* 98 */ "FETCH_DIM_TMP_VAR",
/* 99 */ "FETCH_CONSTANT",
/* 100 */ "UNDEF",
/* 100 */ "GOTO",
/* 101 */ "EXT_STMT",
/* 102 */ "EXT_FCALL_BEGIN",
/* 103 */ "EXT_FCALL_END",
@ -143,12 +143,15 @@ static const char *const xc_opcode_names[] = {
/* 140 */ "DECLARE_INHERITED_CLASS",
/* 141 */ "DECLARE_FUNCTION",
/* 142 */ "RAISE_ABSTRACT_ERROR",
/* 143 */ "UNDEF",
/* 143 */ "DECLARE_CONST",
/* 144 */ "ADD_INTERFACE",
/* 145 */ "UNDEF",
/* 145 */ "DECLARE_INHERITED_CLASS_DELAYED",
/* 146 */ "VERIFY_ABSTRACT_CLASS",
/* 147 */ "ASSIGN_DIM",
/* 148 */ "ISSET_ISEMPTY_PROP_OBJ",
/* 149 */ "HANDLE_EXCEPTION",
/* 150 */ "USER_OPCODE"
/* 150 */ "USER_OPCODE",
/* 151 */ "UNDEF",
/* 152 */ "JMP_SET",
/* 153 */ "DECLARE_LAMBDA_FUNCTION"
};

156
const_string_opcodes_php5.3.h

@ -1,156 +0,0 @@
/* size = 152 */
static const char *const xc_opcode_names[] = {
/* 0 */ "NOP",
/* 1 */ "ADD",
/* 2 */ "SUB",
/* 3 */ "MUL",
/* 4 */ "DIV",
/* 5 */ "MOD",
/* 6 */ "SL",
/* 7 */ "SR",
/* 8 */ "CONCAT",
/* 9 */ "BW_OR",
/* 10 */ "BW_AND",
/* 11 */ "BW_XOR",
/* 12 */ "BW_NOT",
/* 13 */ "BOOL_NOT",
/* 14 */ "BOOL_XOR",
/* 15 */ "IS_IDENTICAL",
/* 16 */ "IS_NOT_IDENTICAL",
/* 17 */ "IS_EQUAL",
/* 18 */ "IS_NOT_EQUAL",
/* 19 */ "IS_SMALLER",
/* 20 */ "IS_SMALLER_OR_EQUAL",
/* 21 */ "CAST",
/* 22 */ "QM_ASSIGN",
/* 23 */ "ASSIGN_ADD",
/* 24 */ "ASSIGN_SUB",
/* 25 */ "ASSIGN_MUL",
/* 26 */ "ASSIGN_DIV",
/* 27 */ "ASSIGN_MOD",
/* 28 */ "ASSIGN_SL",
/* 29 */ "ASSIGN_SR",
/* 30 */ "ASSIGN_CONCAT",
/* 31 */ "ASSIGN_BW_OR",
/* 32 */ "ASSIGN_BW_AND",
/* 33 */ "ASSIGN_BW_XOR",
/* 34 */ "PRE_INC",
/* 35 */ "PRE_DEC",
/* 36 */ "POST_INC",
/* 37 */ "POST_DEC",
/* 38 */ "ASSIGN",
/* 39 */ "ASSIGN_REF",
/* 40 */ "ECHO",
/* 41 */ "PRINT",
/* 42 */ "JMP",
/* 43 */ "JMPZ",
/* 44 */ "JMPNZ",
/* 45 */ "JMPZNZ",
/* 46 */ "JMPZ_EX",
/* 47 */ "JMPNZ_EX",
/* 48 */ "CASE",
/* 49 */ "SWITCH_FREE",
/* 50 */ "BRK",
/* 51 */ "CONT",
/* 52 */ "BOOL",
/* 53 */ "INIT_STRING",
/* 54 */ "ADD_CHAR",
/* 55 */ "ADD_STRING",
/* 56 */ "ADD_VAR",
/* 57 */ "BEGIN_SILENCE",
/* 58 */ "END_SILENCE",
/* 59 */ "INIT_FCALL_BY_NAME",
/* 60 */ "DO_FCALL",
/* 61 */ "DO_FCALL_BY_NAME",
/* 62 */ "RETURN",
/* 63 */ "RECV",
/* 64 */ "RECV_INIT",
/* 65 */ "SEND_VAL",
/* 66 */ "SEND_VAR",
/* 67 */ "SEND_REF",
/* 68 */ "NEW",
/* 69 */ "INIT_NS_FCALL_BY_NAME",
/* 70 */ "FREE",
/* 71 */ "INIT_ARRAY",
/* 72 */ "ADD_ARRAY_ELEMENT",
/* 73 */ "INCLUDE_OR_EVAL",
/* 74 */ "UNSET_VAR",
/* 75 */ "UNSET_DIM",
/* 76 */ "UNSET_OBJ",
/* 77 */ "FE_RESET",
/* 78 */ "FE_FETCH",
/* 79 */ "EXIT",
/* 80 */ "FETCH_R",
/* 81 */ "FETCH_DIM_R",
/* 82 */ "FETCH_OBJ_R",
/* 83 */ "FETCH_W",
/* 84 */ "FETCH_DIM_W",
/* 85 */ "FETCH_OBJ_W",
/* 86 */ "FETCH_RW",
/* 87 */ "FETCH_DIM_RW",
/* 88 */ "FETCH_OBJ_RW",
/* 89 */ "FETCH_IS",
/* 90 */ "FETCH_DIM_IS",
/* 91 */ "FETCH_OBJ_IS",
/* 92 */ "FETCH_FUNC_ARG",
/* 93 */ "FETCH_DIM_FUNC_ARG",
/* 94 */ "FETCH_OBJ_FUNC_ARG",
/* 95 */ "FETCH_UNSET",
/* 96 */ "FETCH_DIM_UNSET",
/* 97 */ "FETCH_OBJ_UNSET",
/* 98 */ "FETCH_DIM_TMP_VAR",
/* 99 */ "FETCH_CONSTANT",
/* 100 */ "UNDEF",
/* 101 */ "EXT_STMT",
/* 102 */ "EXT_FCALL_BEGIN",
/* 103 */ "EXT_FCALL_END",
/* 104 */ "EXT_NOP",
/* 105 */ "TICKS",
/* 106 */ "SEND_VAR_NO_REF",
/* 107 */ "CATCH",
/* 108 */ "THROW",
/* 109 */ "FETCH_CLASS",
/* 110 */ "CLONE",
/* 111 */ "UNDEF",
/* 112 */ "INIT_METHOD_CALL",
/* 113 */ "INIT_STATIC_METHOD_CALL",
/* 114 */ "ISSET_ISEMPTY_VAR",
/* 115 */ "ISSET_ISEMPTY_DIM_OBJ",
/* 116 */ "UNDEF",
/* 117 */ "UNDEF",
/* 118 */ "UNDEF",
/* 119 */ "UNDEF",
/* 120 */ "UNDEF",
/* 121 */ "UNDEF",
/* 122 */ "UNDEF",
/* 123 */ "UNDEF",
/* 124 */ "UNDEF",
/* 125 */ "UNDEF",
/* 126 */ "UNDEF",
/* 127 */ "UNDEF",
/* 128 */ "UNDEF",
/* 129 */ "UNDEF",
/* 130 */ "UNDEF",
/* 131 */ "UNDEF",
/* 132 */ "PRE_INC_OBJ",
/* 133 */ "PRE_DEC_OBJ",
/* 134 */ "POST_INC_OBJ",
/* 135 */ "POST_DEC_OBJ",
/* 136 */ "ASSIGN_OBJ",
/* 137 */ "OP_DATA",
/* 138 */ "INSTANCEOF",
/* 139 */ "DECLARE_CLASS",
/* 140 */ "DECLARE_INHERITED_CLASS",
/* 141 */ "DECLARE_FUNCTION",
/* 142 */ "RAISE_ABSTRACT_ERROR",
/* 143 */ "DECLARE_CONST",
/* 144 */ "ADD_INTERFACE",
/* 145 */ "UNDEF",
/* 146 */ "VERIFY_ABSTRACT_CLASS",
/* 147 */ "ASSIGN_DIM",
/* 148 */ "ISSET_ISEMPTY_PROP_OBJ",
/* 149 */ "HANDLE_EXCEPTION",
/* 150 */ "USER_OPCODE",
/* 151 */ "UNDEF",
/* 152 */ "JMP_SET"
};

7
const_string_opcodes_php6.x.h

@ -1,4 +1,4 @@
/* size = 152 */
/* size = 153 */
static const char *const xc_opcode_names[] = {
/* 0 */ "NOP",
/* 1 */ "ADD",
@ -145,12 +145,13 @@ static const char *const xc_opcode_names[] = {
/* 142 */ "RAISE_ABSTRACT_ERROR",
/* 143 */ "DECLARE_CONST",
/* 144 */ "ADD_INTERFACE",
/* 145 */ "UNDEF",
/* 145 */ "DECLARE_INHERITED_CLASS_DELAYED",
/* 146 */ "VERIFY_ABSTRACT_CLASS",
/* 147 */ "ASSIGN_DIM",
/* 148 */ "ISSET_ISEMPTY_PROP_OBJ",
/* 149 */ "HANDLE_EXCEPTION",
/* 150 */ "USER_OPCODE",
/* 151 */ "U_NORMALIZE",
/* 152 */ "JMP_SET"
/* 152 */ "JMP_SET",
/* 153 */ "DECLARE_LAMBDA_FUNCTION"
};

5
prepare.devel

@ -27,7 +27,6 @@ make_const_string() {
make_const_string_opcodes_php4.x.h
make_const_string_opcodes_php5.0.h
make_const_string_opcodes_php5.1.h
make_const_string_opcodes_php5.3.h
make_const_string_opcodes_php6.x.h
}
@ -48,10 +47,6 @@ make_const_string_opcodes_php5.1.h() {
precheck const_string_opcodes_php5.1.h "${PHP5_1_DIR}/Zend/zend_vm_def.h" && "$AWK" -f ./mkopcode.awk < "$I" > "$O.tmp" && mv "$O.tmp" "$O"
}
make_const_string_opcodes_php5.3.h() {
precheck const_string_opcodes_php5.3.h "${PHP5_3_DIR}/Zend/zend_vm_def.h" && "$AWK" -f ./mkopcode.awk < "$I" > "$O.tmp" && mv "$O.tmp" "$O"
}
make_const_string_opcodes_php6.x.h() {
precheck const_string_opcodes_php6.x.h "${PHP6_x_DIR}/Zend/zend_vm_def.h" && "$AWK" -f ./mkopcode.awk < "$I" > "$O.tmp" && mv "$O.tmp" "$O"
}

6
processor/processor.m4

@ -617,9 +617,13 @@ DEF_STRUCT_P_FUNC(`zend_op_array', , `dnl {{{
COPY(start_op)
DISPATCH(int, backpatch_count)
#ifdef ZEND_ENGINE_2_3
DISPATCH(zend_uint, this_var)
#endif
DISPATCH(zend_bool, done_pass_two)
#ifdef ZEND_ENGINE_2
/* 5.0 <= ver < 5.3 */
#if defined(ZEND_ENGINE_2) && !defined(ZEND_ENGINE_2_3)
DISPATCH(zend_bool, uses_this)
#endif

6
xcache.h

@ -51,13 +51,13 @@
# define ALLOCA_FLAG(x)
#endif
#ifndef Z_SET_ISREF
# define Z_SET_ISREF(z) (z).is_ref = 1;
# define Z_SET_ISREF(z) (z).is_ref = 1
#endif
#ifndef Z_UNSET_ISREF
# define Z_UNSET_ISREF(z) (z).is_ref = 0;
# define Z_UNSET_ISREF(z) (z).is_ref = 0
#endif
#ifndef Z_SET_REFCOUNT
# define Z_SET_REFCOUNT(z, rc) (z).refcount = rc;
# define Z_SET_REFCOUNT(z, rc) (z).refcount = rc
#endif
#ifndef IS_CONSTANT_TYPE_MASK
# define IS_CONSTANT_TYPE_MASK 0xf

Loading…
Cancel
Save