Changeset 266

Show
Ignore:
Timestamp:
08/23/06 16:44:46 (2 years ago)
Author:
hans
Message:

Fixes for tickets #157 and #164

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • eaccelerator/branches/0.9.5/ChangeLog

    r264 r266  
     12006-08-23  Hans Rakers <hans at parse dot nl> 
     2 
     3        * Fixes for tickets #157 and #164 
     4 
    152006-08-06  Bart Vanbrabant <bart.vanbrabant at zoeloelip.be> 
    26 
  • eaccelerator/branches/0.9.5/eaccelerator.h

    r237 r266  
    108108#endif 
    109109 
     110#if !defined(ssize_t) && ZEND_WIN32 
     111        /* define ssize_t for Win32. */ 
     112        #define ssize_t int 
     113#endif 
     114 
    110115#ifdef HAVE_EACCELERATOR 
    111116#ifndef HAVE_EACCELERATOR_STANDALONE_LOADER  
  • eaccelerator/branches/0.9.5/optimize.c

    r201 r266  
    28322832                                        op->op1.u.opline_num = jmp_to->brk; 
    28332833                                        op->op2.op_type = IS_UNUSED; 
     2834                                        op->extended_value = ZEND_BRK; /* Mark the opcode as former ZEND_BRK */ 
    28342835                                        bb[op->op1.u.opline_num].start = &op_array->opcodes[jmp_to->brk]; 
    28352836                                } 
     
    28712872                                op->op1.u.opline_num = jmp_to->cont; 
    28722873                                op->op2.op_type = IS_UNUSED; 
     2874                                op->extended_value = ZEND_CONT; /* Mark the opcode as former ZEND_CONT */ 
    28732875                                bb[op->op1.u.opline_num].start = &op_array->opcodes[jmp_to->cont]; 
    28742876                                } 
     
    29722974                                case ZEND_JMP: 
    29732975                                        p->jmp_1 = &bb[op->op1.u.opline_num]; 
     2976#ifdef ZEND_ENGINE_2 
     2977                                        if (op->extended_value == ZEND_BRK || op->extended_value == ZEND_CONT) 
     2978                                        { 
     2979                                                /* This was a ZEND_BRK or ZEND_CONT opcode changed into a ZEND_JMP in an earlier stage. 
     2980                                                   see comment above ZEND_BRK/ZEND_CONT below */ 
     2981                                                p->follow = (innermost_ketchup > 0) ? &bb[innermost_ketchup] : &bb[len-1]; 
     2982                                                /* clear extended_value again just for tidyness :) */ 
     2983                                                op->extended_value = 0; 
     2984                                        } 
     2985#endif 
    29742986                                        break; 
    29752987                                case ZEND_JMPZNZ: 
  • eaccelerator/trunk/ChangeLog

    r263 r266  
     12006-08-23  Hans Rakers <hans at parse dot nl> 
     2 
     3        * Fixes for tickets #157 and #164 
     4 
    152006-08-06  Bart Vanbrabant <bart.vanbrabant at zoeloelip.be> 
    26 
  • eaccelerator/trunk/eaccelerator.h

    r265 r266  
    112112#endif 
    113113 
     114#if !defined(ssize_t) && ZEND_WIN32 
     115        /* define ssize_t for Win32. */ 
     116        #define ssize_t int 
     117#endif 
     118 
    114119#ifdef HAVE_EACCELERATOR 
    115120 
  • eaccelerator/trunk/optimize.c

    r265 r266  
    28222822                                        op->op1.u.opline_num = jmp_to->brk; 
    28232823                                        op->op2.op_type = IS_UNUSED; 
     2824                                        op->extended_value = ZEND_BRK; /* Mark the opcode as former ZEND_BRK */ 
    28242825                                        bb[op->op1.u.opline_num].start = &op_array->opcodes[jmp_to->brk]; 
    28252826                                } 
     
    28612862                                op->op1.u.opline_num = jmp_to->cont; 
    28622863                                op->op2.op_type = IS_UNUSED; 
     2864                                op->extended_value = ZEND_CONT; /* Mark the opcode as former ZEND_CONT */ 
    28632865                                bb[op->op1.u.opline_num].start = &op_array->opcodes[jmp_to->cont]; 
    28642866                                } 
     
    29622964                                case ZEND_JMP: 
    29632965                                        p->jmp_1 = &bb[op->op1.u.opline_num]; 
     2966#ifdef ZEND_ENGINE_2 
     2967                                        if (op->extended_value == ZEND_BRK || op->extended_value == ZEND_CONT) 
     2968                                        { 
     2969                                                /* This was a ZEND_BRK or ZEND_CONT opcode changed into a ZEND_JMP in an earlier stage. 
     2970                                                   see comment above ZEND_BRK/ZEND_CONT below */ 
     2971                                                p->follow = (innermost_ketchup > 0) ? &bb[innermost_ketchup] : &bb[len-1]; 
     2972                                                /* clear extended_value again just for tidyness :) */ 
     2973                                                op->extended_value = 0; 
     2974                                        } 
     2975#endif 
    29642976                                        break; 
    29652977                                case ZEND_JMPZNZ: