Changeset 187

Show
Ignore:
Timestamp:
03/17/06 14:47:29 (2 years ago)
Author:
hans
Message:

* Fix for sf.net bug #1442839 (handling of ZEND_ASSIGN_OBJ by the optimizer)
* Changed BRK handling to not bail out of the optimizer prematurely on a multi-level break. This does need some more testing, but should fix sf.net bug #1442923
* Removed some dead code in ea_store.c and excluded some debug code from compilation in optimize.c

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • eaccelerator/trunk/ChangeLog

    r184 r187  
     12006-03-17  Hans Rakers <hans at parse dot nl> 
     2 
     3        * Fix for sf.net bug #1442839 (handling of ZEND_ASSIGN_OBJ by the 
     4          optimizer) 
     5        * Changed BRK handling to not bail out of the optimizer prematurely 
     6          on a multi-level break. This does need some more testing, but 
     7          should fix sf.net bug #1442923 
     8        * Removed some dead code in ea_store.c and excluded some debug code 
     9          from compilation in optimize.c 
     10 
    1112006-03-09  Bart Vanbrabant <bart.vanbrabant at zoeloelip.be> 
    212 
  • eaccelerator/trunk/ea_store.c

    r176 r187  
    906906                store_hash(to->static_members, from->static_members, (store_bucket_t) store_zval_ptr, (check_bucket_t) store_static_member_access_check, from); 
    907907        }        
    908 #  else 
    909         /* for php < 5.0 */ 
    910         if (from->static_members != NULL) { 
    911                 EACCELERATOR_ALIGN(EAG(mem)); 
    912                 to->static_members = (HashTable *) EAG(mem); 
    913                 EAG(mem) += sizeof(HashTable); 
    914                 store_zval_hash(to->static_members, from->static_members); 
    915         } 
    916908#  endif 
    917909#else 
  • eaccelerator/trunk/optimize.c

    r182 r187  
    6363} BBlink; 
    6464 
     65#if 0 
    6566static void dump_bb(BB* bb, zend_op_array *op_array) { 
    6667  BB* p = bb; 
     
    167168   zend_printf("<br>\n"); 
    168169} 
     170#endif 
    169171 
    170172#define SET_TO_NOP(op) \ 
     
    313315             case ZEND_INIT_STATIC_METHOD_CALL: 
    314316             case ZEND_ASSIGN_DIM: 
     317             case ZEND_ASSIGN_OBJ: 
    315318             case ZEND_DECLARE_CLASS: 
    316319             case ZEND_DECLARE_INHERITED_CLASS: 
     
    28182821                                                        op_array->opcodes[jmp_to->brk].opcode == ZEND_FREE)) 
    28192822                                                { 
    2820                                                         goto brk_failed
     2823                                                        break
    28212824                                                } 
    28222825                                                offset = jmp_to->parent;