1
0
Fork 0

fixed #333: reduce memory usage for small or empty files

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@1478 c26eb9a1-5813-0410-bd6c-c2e55f420ca7
master
Xuefer 2013-12-13 07:28:45 +00:00
parent 501bbf2e0f
commit 7b4722df0f
4 changed files with 18 additions and 14 deletions

View File

@ -12,6 +12,12 @@ ChangeLog
* misc:
* Reflection info added for APIs
3.2.0 2013-??-??
ChangeLog
========
* cacher:
* fixed #333: reduce memory usage for small or empty files
3.1.1 2013-??-??
ChangeLog
========

6
NEWS
View File

@ -1,10 +1,12 @@
4.0.0 2014-??-??
ChangeLog
========
* api updates
* cache defragment, cache to disk
3.2.1 2013-??-??
========
3.1.1 2013-??-??
========
* compatible with bcompiler
3.1.0 2013-10-10

View File

@ -866,11 +866,6 @@ static zend_op_array *xc_entry_install(xc_entry_php_t *entry_php TSRMLS_DC) /* {
CG(zend_lineno) = 0;
#endif
i = 1;
#ifndef ZEND_ENGINE_2_2
zend_hash_add(&EG(included_files), entry_php->entry.name.str.val, entry_php->entry.name.str.len+1, (void *)&i, sizeof(int), NULL);
#endif
#ifndef ZEND_ENGINE_2
xc_free_alloca(new_cest_ptrs, use_heap);
#endif
@ -2187,7 +2182,6 @@ static zend_op_array *xc_compile_file_cached(xc_compiler_t *compiler, zend_file_
/* found entry */
if (stored_entry && stored_php) {
zend_llist_add_element(&CG(open_files), h);
return xc_compile_restore(stored_entry, stored_php TSRMLS_CC);
}

View File

@ -749,22 +749,24 @@ DEF_STRUCT_P_FUNC(`zend_op_array', , `dnl {{{
/* deep */
STRUCT_P(HashTable, static_variables, HashTable_zval_ptr)
#ifdef ZEND_ENGINE_2
STRUCT_ARRAY(zend_uint, num_args, zend_arg_info, arg_info)
gc_arg_info = 1;
if (SRC(`arg_info')) {
gc_arg_info = 1;
STRUCT_ARRAY(zend_uint, num_args, zend_arg_info, arg_info)
}
#endif
DST(`filename') = processor->entry_php_src->filepath;
#ifdef ZEND_ENGINE_2_4
if (SRC(`literals')) {
if (SRC(`literals') && op_array_info->literalinfo_cnt) {
gc_opcodes = 1;
if (op_array_info->literalinfo_cnt) {
gc_literals = 1;
}
gc_literals = 1;
}
#else
if (op_array_info->oplineinfo_cnt) {
gc_opcodes = 1;
}
#endif
#ifdef ZEND_ENGINE_2_4
if (gc_literals) {
dnl used when copying opcodes