Changeset 1213 in svn


Ignore:
Timestamp:
2012-12-19T09:42:53+01:00 (2 years ago)
Author:
Xuefer
Message:

add support for PHP_5_5

Location:
trunk
Files:
1 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r1208 r1213  
     13.1.0 2012-??-??
     2ChangeLog
     3========
     4 * adds support for PHP_5_5
     5
    163.0.1 2012-??-??
    27ChangeLog
  • trunk/NEWS

    r1208 r1213  
     13.1.1 2012-??-??
     2========
     3 * adds support for PHP_5_5
     4
    153.0.1 2012-??-??
    2 ChangeLog
    36========
    47 * bug fixes
  • trunk/devel/prepare.mak

    r1197 r1213  
    2121    xcache/xc_const_string_opcodes_php5.0.h \
    2222    xcache/xc_const_string_opcodes_php5.1.h \
     23    xcache/xc_const_string_opcodes_php5.2.h \
    2324    xcache/xc_const_string_opcodes_php5.3.h \
    2425    xcache/xc_const_string_opcodes_php5.4.h \
     26    xcache/xc_const_string_opcodes_php5.5.h \
    2527    xcache/xc_const_string_opcodes_php6.x.h
    2628
     
    6163endif
    6264
     65ifeq (${PHP5_2_DIR},)
     66xcache/xc_const_string_opcodes_php5.2.h: dummy
     67    @echo "Skipped $@: PHP_5_2_DIR not set"
     68else
     69xcache/xc_const_string_opcodes_php5.2.h: ${PHP5_2_DIR}/Zend/zend_vm_def.h
     70    $(AWK) -f ./devel/gen_const_string_opcodes.awk < "$<" > "$@.tmp"
     71    mv "$@.tmp" "$@"
     72endif
     73
    6374ifeq (${PHP5_3_DIR},)
    6475xcache/xc_const_string_opcodes_php5.3.h: dummy
     
    7586else
    7687xcache/xc_const_string_opcodes_php5.4.h: ${PHP5_4_DIR}/Zend/zend_vm_def.h
     88    $(AWK) -f ./devel/gen_const_string_opcodes.awk < "$<" > "$@.tmp"
     89    mv "$@.tmp" "$@"
     90endif
     91
     92ifeq (${PHP5_5_DIR},)
     93xcache/xc_const_string_opcodes_php5.5.h: dummy
     94    @echo "Skipped $@: PHP_5_5_DIR not set"
     95else
     96xcache/xc_const_string_opcodes_php5.5.h: ${PHP5_5_DIR}/Zend/zend_vm_def.h
    7797    $(AWK) -f ./devel/gen_const_string_opcodes.awk < "$<" > "$@.tmp"
    7898    mv "$@.tmp" "$@"
  • trunk/mod_optimizer/xc_optimizer.c

    r1208 r1213  
    165165#endif
    166166    case ZEND_RETURN:
     167#ifdef ZEND_FAST_RET
     168    case ZEND_FAST_RET:
     169#endif
     170#ifdef ZEND_GENERATOR_RETURN
     171    case ZEND_GENERATOR_RETURN:
     172#endif
    167173    case ZEND_EXIT:
    168174        return SUCCESS; /* no fall */
    169175
     176#ifdef ZEND_GOTO
     177    case ZEND_GOTO:
     178#endif
    170179    case ZEND_JMP:
     180#ifdef ZEND_FAST_CALL
     181    case ZEND_FAST_CALL:
     182#endif
    171183        fi->jmpout_op1 = Z_OP(opline->op1).opline_num;
    172184        return SUCCESS; /* no fall */
  • trunk/processor/processor.m4

    r1201 r1213  
    4949    PROCESS(zend_uint, try_op)
    5050    PROCESS(zend_uint, catch_op)
     51#ifdef ZEND_ENGINE_2_5
     52    PROCESS(zend_uint, finally_op)
     53    PROCESS(zend_uint, finally_end)
     54#endif
    5155')
    5256dnl }}}
     
    654658#endif
    655659            case ZEND_JMP:
     660#ifdef ZEND_FAST_CALL
     661            case ZEND_FAST_CALL:
     662#endif
    656663#ifdef ZEND_ENGINE_2
    657664                assert(Z_OP(src->op1).jmp_addr >= processor->active_op_array_src->opcodes && Z_OP(src->op1).jmp_addr - processor->active_op_array_src->opcodes < processor->active_op_array_src->last);
     
    762769#endif
    763770                    case ZEND_JMP:
     771#ifdef ZEND_FAST_CALL
     772                    case ZEND_FAST_CALL:
     773#endif
    764774#ifdef ZEND_ENGINE_2
    765775                        Z_OP(opline->op1).jmp_addr = &dst->opcodes[Z_OP(opline->op1).jmp_addr - src->opcodes];
     
    874884    PROCESS(zend_uint, T)
    875885
     886#ifdef ZEND_ENGINE_2_4
     887    PROCESS(zend_uint, nested_calls)
     888    PROCESS(zend_uint, used_stack)
     889#endif
     890
    876891    STRUCT_ARRAY(last_brk_cont_t, last_brk_cont, zend_brk_cont_element, brk_cont_array)
    877892    PROCESS(last_brk_cont_t, last_brk_cont)
     
    886901    STRUCT_ARRAY(int, last_try_catch, zend_try_catch_element, try_catch_array)
    887902    PROCESS(int, last_try_catch)
     903#endif
     904#ifdef ZEND_ENGINE_2_5
     905    PROCESS(zend_bool, has_finally_block)
    888906#endif
    889907
  • trunk/xcache/xc_compatibility.h

    r1151 r1213  
    1111 */
    1212
    13 #if !defined(ZEND_ENGINE_2_4) && (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 4 || PHP_MAJOR_VERSION > 5)
     13#if !defined(ZEND_ENGINE_2_5) && (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 5 || PHP_MAJOR_VERSION > 6)
     14#   define ZEND_ENGINE_2_5
     15#endif
     16#if !defined(ZEND_ENGINE_2_4) && (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION == 4 || defined(ZEND_ENGINE_2_5))
    1417#   define ZEND_ENGINE_2_4
    1518#endif
  • trunk/xcache/xc_const_string.c

    r1095 r1213  
    6464#if PHP_MAJOR_VERSION >= 6
    6565#   include "xc_const_string_opcodes_php6.x.h"
     66#elif defined(ZEND_ENGINE_2_5)
     67#   include "xc_const_string_opcodes_php5.5.h"
    6668#elif defined(ZEND_ENGINE_2_4)
    6769#   include "xc_const_string_opcodes_php5.4.h"
  • trunk/xcache/xc_opcode_spec_def.h

    r982 r1213  
    238238    OPSPEC(    UNUSED,        STD,    JMPADDR,        TMP) /* 152 JMP_SET                        */
    239239    OPSPEC(    UNUSED,        STD,        STD,        TMP) /* 153 DECLARE_LAMBDA_FUNCTION        */
    240 #  ifdef ZEND_ENGINE_2_4
     240# endif
     241# ifdef ZEND_ENGINE_2_4
    241242    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 154 ADD_TRAIT                      */
    242243    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 155 BIND_TRAITS                    */
     
    244245    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 157 QM_ASSIGN_VAR                  */
    245246    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 158 JMP_SET_VAR                    */
    246 #  endif
    247 # else
    248     OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 151 UNDEF                          */
    249     OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 152 UNDEF                          */
    250     OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 153 UNDEF                          */
     247# endif
     248# ifdef ZEND_ENGINE_2_5
     249    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 159 DISCARD_EXCEPTION              */
     250    OPSPEC(    UNUSED,        STD,        STD,     UNUSED) /* 160 YIELD                          */
     251    OPSPEC(    UNUSED,        STD,     UNUSED,     UNUSED) /* 161 GENERATOR_RETURN               */
     252    OPSPEC(    UNUSED,    JMPADDR,     UNUSED,     UNUSED) /* 162 FAST_CALL                      */
     253    OPSPEC(    UNUSED,     UNUSED,     UNUSED,     UNUSED) /* 163 FAST_RET                       */
    251254# endif
    252255#else
  • trunk/xcache/xc_utils.c

    r1208 r1213  
    152152#endif
    153153            case ZEND_JMP:
     154#ifdef ZEND_FAST_CALL
     155            case ZEND_FAST_CALL:
     156#endif
    154157                assert(Z_OP(opline->op1).jmp_addr >= op_array->opcodes && (zend_uint) (Z_OP(opline->op1).jmp_addr - op_array->opcodes) < op_array->last);
    155158                Z_OP(opline->op1).opline_num = Z_OP(opline->op1).jmp_addr - op_array->opcodes;
     
    239242#endif
    240243            case ZEND_JMP:
     244#ifdef ZEND_FAST_CALL
     245            case ZEND_FAST_CALL:
     246#endif
    241247                assert(Z_OP(opline->op1).opline_num < op_array->last);
    242248                Z_OP(opline->op1).jmp_addr = op_array->opcodes + Z_OP(opline->op1).opline_num;
     
    347353#endif
    348354            case ZEND_JMP:
     355#ifdef ZEND_FAST_CALL
     356            case ZEND_FAST_CALL:
     357#endif
    349358                next = begin + Z_OP(opline->op1).opline_num;
    350359                break;
Note: See TracChangeset for help on using the changeset viewer.