Changeset 334
- Timestamp:
- 08/20/07 19:04:30 (9 months ago)
- Files:
-
- eaccelerator/trunk/ea_store.c (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
eaccelerator/trunk/ea_store.c
r332 r334 40 40 /******************************************************************************/ 41 41 42 // add the given length to the size var and aling it 43 #define ADDSIZE(size, len) (size) += (len); \ 44 EA_SIZE_ALIGN(size); 45 42 46 #ifndef DEBUG 43 47 inline … … 71 75 size_t size = 0; 72 76 73 size += sizeof(zval); 74 EA_SIZE_ALIGN(size); 77 ADDSIZE(size, sizeof(zval)); 75 78 size += calc_zval(*from TSRMLS_CC); 76 79 … … 83 86 size_t size = 0; 84 87 85 size += sizeof(zend_property_info); 86 EA_SIZE_ALIGN(size); 88 ADDSIZE(size, sizeof(zend_property_info)); 87 89 88 90 size += calc_string(from->name, from->name_length + 1 TSRMLS_CC); … … 107 109 if (source->nNumOfElements > 0) { 108 110 if (!EAG(compress)) { 109 size += source->nTableSize * sizeof(Bucket *); 110 EA_SIZE_ALIGN(size); 111 ADDSIZE(size, source->nTableSize * sizeof(Bucket *)); 111 112 } 112 113 p = start; 113 114 while (p) { 114 size += offsetof(Bucket, arKey) + p->nKeyLength; 115 EA_SIZE_ALIGN(size); 115 ADDSIZE(size, offsetof(Bucket, arKey) + p->nKeyLength); 116 116 size += calc_bucket(p->pData TSRMLS_CC); 117 117 p = p->pListNext; … … 135 135 case IS_CONSTANT_ARRAY: 136 136 if (Z_ARRVAL_P(zv) != NULL && Z_ARRVAL_P(zv) != &EG(symbol_table)) { 137 size += sizeof(HashTable); 138 EA_SIZE_ALIGN(size); 137 ADDSIZE(size, sizeof(HashTable)); 139 138 size += calc_zval_hash(Z_ARRVAL_P(zv)); 140 139 } … … 159 158 160 159 if (from->type == ZEND_INTERNAL_FUNCTION) { 161 size += sizeof(zend_internal_function); 162 EA_SIZE_ALIGN(size); 160 ADDSIZE(size, sizeof(zend_internal_function)); 163 161 } else if (from->type == ZEND_USER_FUNCTION) { 164 size += sizeof(ea_op_array); 165 EA_SIZE_ALIGN(size); 162 ADDSIZE(size, sizeof(ea_op_array)); 166 163 } else { 167 164 DBG(ea_debug_error, ("[%d] EACCELERATOR can't cache function \"%s\"\n", getpid(), from->function_name)); … … 171 168 if (from->num_args > 0) { 172 169 zend_uint i; 173 size += from->num_args * sizeof(zend_arg_info); 174 EA_SIZE_ALIGN(size); 170 ADDSIZE(size, from->num_args * sizeof(zend_arg_info)); 175 171 for (i = 0; i < from->num_args; i++) { 176 172 if (from->arg_info[i].name) { … … 208 204 209 205 if (from->opcodes != NULL) { 210 size += from->last * sizeof(zend_op); 211 EA_SIZE_ALIGN(size); 206 ADDSIZE(size, from->last * sizeof(zend_op)); 212 207 213 208 opline = from->opcodes; … … 225 220 } 226 221 if (from->brk_cont_array != NULL) { 227 size += sizeof(zend_brk_cont_element) * from->last_brk_cont; 228 EA_SIZE_ALIGN(size); 222 ADDSIZE(size, sizeof(zend_brk_cont_element) * from->last_brk_cont); 229 223 } 230 224 #ifdef ZEND_ENGINE_2 231 225 if (from->try_catch_array != NULL) { 232 size += sizeof(zend_try_catch_element) * from->last_try_catch; 233 EA_SIZE_ALIGN(size); 226 ADDSIZE(size, sizeof(zend_try_catch_element) * from->last_try_catch); 234 227 } 235 228 #endif 236 229 if (from->static_variables != NULL) { 237 size += sizeof(HashTable); 238 EA_SIZE_ALIGN(size); 230 ADDSIZE(size, sizeof(HashTable)); 239 231 size += calc_zval_hash(from->static_variables); 240 232 } … … 242 234 if (from->vars != NULL) { 243 235 int i; 244 size += sizeof(zend_compiled_variable) * from->last_var; 245 EA_SIZE_ALIGN(size); 236 ADDSIZE(size, sizeof(zend_compiled_variable) * from->last_var); 246 237 for (i = 0; i < from->last_var; i ++) { 247 238 size += calc_string(from->vars[i].name, from->vars[i].name_len+1 TSRMLS_CC); … … 271 262 zend_bailout(); 272 263 } 273 size += sizeof(ea_class_entry); 274 EA_SIZE_ALIGN(size); 264 ADDSIZE(size, sizeof(ea_class_entry)); 275 265 276 266 if (from->name != NULL) { … … 300 290 if (from->static_members != NULL) { 301 291 # endif 302 size += sizeof(HashTable); 303 EA_SIZE_ALIGN(size); 292 ADDSIZE(size, sizeof(HashTable)); 304 293 size += calc_zval_hash(from->static_members); 305 294 } … … 323 312 324 313 zend_hash_init(&EAG(strings), 0, NULL, NULL, 0); 325 size += offsetof(ea_cache_entry, realfilename) + len + 1; 326 EA_SIZE_ALIGN(size); 314 ADDSIZE(size, offsetof(ea_cache_entry, realfilename) + len + 1); 327 315 zend_hash_add(&EAG(strings), key, len + 1, &key, sizeof(char *), NULL); 328 316 b = c; 329 317 while (b != NULL) { 330 size += offsetof(ea_fc_entry, htabkey) + b->nKeyLength; 331 EA_SIZE_ALIGN(size); 318 ADDSIZE(size, offsetof(ea_fc_entry, htabkey) + b->nKeyLength); 332 319 333 320 x = b->arKey; … … 337 324 b = f; 338 325 while (b != NULL) { 339 size += offsetof(ea_fc_entry, htabkey) + b->nKeyLength; 340 EA_SIZE_ALIGN(size); 326 ADDSIZE(size, offsetof(ea_fc_entry, htabkey) + b->nKeyLength); 341 327 342 328 x = b->arKey;