Changeset 161

Show
Ignore:
Timestamp:
02/17/06 17:32:29 (2 years ago)
Author:
hrak
Message:

* PHP_5_1: Some final fixes before merging to HEAD:

  • Fixed bug #1410723 (handling of class constants by the optimizer)
  • Fixed backwards compatibility with php < 5.1
Files:

Legend:

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

    r158 r161  
     12006-02-17  Hans Rakers <hans at parse dot nl> 
     2 
     3        * PHP_5_1: Some final fixes before merging to HEAD: 
     4          - Fixed bug #1410723 (handling of class constants by the optimizer) 
     5          - Fixed backwards compatibility with PHP < 5.1 
     6 
     7          This revision works pretty well in my testing environment, PHP-5.1 support 
     8          seems to be coming along quite well. Please test with your applications/ 
     9          in your environment and report back with your experiences or possible problems! 
     10 
    1112006-02-15  Hans Rakers <hans at parse dot nl> 
    212 
  • eaccelerator/branches/PHP_5_1/ea_store.c

    r158 r161  
    808808                        } 
    809809                        /* If the static member points to the same value in parent and child, remove for proper inheritance during restore */ 
     810#  ifdef ZEND_ENGINE_2_1 
    810811                        if(zend_hash_quick_find(&parent->default_static_members, p->arKey, p->nKeyLength, p->h, (void**)&pprop) == SUCCESS) { 
     812#  else 
     813                        if(zend_hash_quick_find(&parent->static_members, p->arKey, p->nKeyLength, p->h, (void**)&pprop) == SUCCESS) { 
     814#  endif 
    811815                                ea_debug_printf(EA_DEBUG, "[%d] store_static_member_access_check: SUCCESS looking up arKey\n",getpid()); 
    812816                                ea_debug_printf(EA_DEBUG, "[%d] store_static_member_access_check: pprop=%x cprop=%x\n",getpid(), *pprop, *cprop); 
  • eaccelerator/branches/PHP_5_1/optimize.c

    r148 r161  
    32243224          if (op->opcode == ZEND_DO_FCALL_BY_NAME) { 
    32253225            op->op1.op_type = IS_UNUSED; 
     3226          } else if (op->opcode == ZEND_FETCH_CONSTANT) { 
     3227            op->op1.u.var = VAR_VAL(assigned[r]); 
     3228            op->op1.op_type = IS_CONST; 
    32263229          } else { 
    32273230            op->op1.u.var = VAR_VAL(assigned[r]);