Changeset 506 in svn for trunk/xcache.c


Ignore:
Timestamp:
2008-01-05T05:45:48+01:00 (7 years ago)
Author:
Xuefer
Message:

optimized function_table/class_table by caching hash value

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r504 r506  
    622622        xc_constinfo_t *ci = &p->constinfos[i];
    623623        xc_install_constant(xce->name.str.val, &ci->constant,
    624                 UNISW(0, ci->type), ci->key, ci->key_size TSRMLS_CC);
     624                UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC);
    625625    }
    626626#endif
     
    630630        xc_funcinfo_t  *fi = &p->funcinfos[i];
    631631        xc_install_function(xce->name.str.val, &fi->func,
    632                 UNISW(0, fi->type), fi->key, fi->key_size TSRMLS_CC);
     632                UNISW(0, fi->type), fi->key, fi->key_size, fi->h TSRMLS_CC);
    633633    }
    634634
     
    647647#endif
    648648        xc_install_class(xce->name.str.val, &ci->cest, ci->oplineno,
    649                 UNISW(0, ci->type), ci->key, ci->key_size TSRMLS_CC);
     649                UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC);
    650650    }
    651651
     
    656656        /*
    657657        zend_auto_global *auto_global;
    658         if (zend_u_hash_find(CG(auto_globals), aginfo->type, aginfo->key, aginfo->key_len+1, (void **) &auto_global)==SUCCESS) {
     658        if (zend_u_hash_quick_find(CG(auto_globals), aginfo->type, aginfo->key, aginfo->key_len+1, aginfo->h, (void **) &auto_global)==SUCCESS) {
    659659            if (auto_global->armed) {
    660660                auto_global->armed = auto_global->auto_global_callback(auto_global->name, auto_global->name_len TSRMLS_CC);
     
    10871087        }                                                     \
    10881088        data->key_size   = b->nKeyLength;                     \
     1089        data->h          = b->h;                              \
    10891090    }                                                         \
    10901091} while(0)
     
    11191120                }
    11201121                data->key_len = b->nKeyLength - 1;
     1122                data->h       = b->h;
    11211123            }
    11221124        }
Note: See TracChangeset for help on using the changeset viewer.