7550 26280c57f0 2019.07.12 / Folus Wen 5 years ago
..
RFCs 26280c57f0 2019.07.12 / Folus Wen 5 years ago
tests 26280c57f0 2019.07.12 / Folus Wen 5 years ago
LICENSE 26280c57f0 2019.07.12 / Folus Wen 5 years ago
Makefile.am 26280c57f0 2019.07.12 / Folus Wen 5 years ago
Makefile.frag 26280c57f0 2019.07.12 / Folus Wen 5 years ago
OBJECTS2_HOWTO 26280c57f0 2019.07.12 / Folus Wen 5 years ago
README.ZEND_MM 26280c57f0 2019.07.12 / Folus Wen 5 years ago
README.ZEND_VM 26280c57f0 2019.07.12 / Folus Wen 5 years ago
ZEND_CHANGES 26280c57f0 2019.07.12 / Folus Wen 5 years ago
Zend.dsp 26280c57f0 2019.07.12 / Folus Wen 5 years ago
Zend.m4 26280c57f0 2019.07.12 / Folus Wen 5 years ago
ZendCore.dep 26280c57f0 2019.07.12 / Folus Wen 5 years ago
ZendTS.dsp 26280c57f0 2019.07.12 / Folus Wen 5 years ago
acinclude.m4 26280c57f0 2019.07.12 / Folus Wen 5 years ago
bench.php 26280c57f0 2019.07.12 / Folus Wen 5 years ago
buildconf 26280c57f0 2019.07.12 / Folus Wen 5 years ago
configure.in 26280c57f0 2019.07.12 / Folus Wen 5 years ago
header 26280c57f0 2019.07.12 / Folus Wen 5 years ago
micro_bench.php 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend.ico 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_API.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_API.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_alloc.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_alloc.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ast.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ast.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_build.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_builtin_functions.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_builtin_functions.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_closures.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_closures.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_compile.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_compile.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_config.nw.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_config.w32.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_constants.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_constants.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_default_classes.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_dtrace.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_dtrace.d 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_dtrace.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_dynamic_array.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_dynamic_array.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_errors.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_exceptions.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_exceptions.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_execute.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_execute.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_execute_API.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_extensions.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_extensions.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_float.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_float.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_gc.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_gc.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_generators.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_generators.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_globals.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_globals_macros.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_hash.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_hash.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_highlight.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_highlight.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_indent.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_indent.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini_parser.y 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini_scanner.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini_scanner.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini_scanner.l 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ini_scanner_defs.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_interfaces.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_interfaces.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_istdiostream.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_iterators.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_iterators.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_language_parser.y 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_language_scanner.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_language_scanner.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_language_scanner.l 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_language_scanner_defs.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_list.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_list.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_llist.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_llist.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_modules.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_multibyte.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_multibyte.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_multiply.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_object_handlers.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_object_handlers.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_objects.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_objects.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_objects_API.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_objects_API.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_opcode.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_operators.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_operators.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ptr_stack.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ptr_stack.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_qsort.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_qsort.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_signal.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_signal.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_sprintf.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_stack.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_stack.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_static_allocator.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_static_allocator.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_stream.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_stream.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_string.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_string.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_strtod.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_strtod.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ts_hash.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_ts_hash.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_types.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_variables.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_variables.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_virtual_cwd.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_virtual_cwd.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_def.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_execute.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_execute.skl 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_gen.php 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_opcodes.c 26280c57f0 2019.07.12 / Folus Wen 5 years ago
zend_vm_opcodes.h 26280c57f0 2019.07.12 / Folus Wen 5 years ago

README.ZEND_MM

Zend Memory Manager
===================

General:
--------

The goal of the new memory manager (available since PHP 5.2) is to reduce memory
allocation overhead and speedup memory management.

The new manager's "configure" has no "--disable-zend-memory-manager" option,
but it has "--enable-malloc-mm" instead. It is enabled by default in DEBUG
build and disabled by default in RELEASE build. When enabled it allows selecting
between malloc and emalloc at runtime so you can use internal and external memory
debuggers without recompilation.

Debugging:
----------

Normal:

$ sapi/cli/php -r 'leak();'

Zend MM disabled:

$ USE_ZEND_ALLOC=0 valgrind --leak-check=full sapi/cli/php -r 'leak();'

Shared extensions:
------------------

Since PHP 5.3.11 it is possible to prevent shared extensions from unloading so
that valgrind can correctly track the memory leaks in shared extensions. For
this there is the ZEND_DONT_UNLOAD_MODULES environment variable. If set, then
DL_UNLOAD() is skipped during the shutdown of shared extensions.


Tweaking:
---------

The Zend MM can be tweaked using ZEND_MM_MEM_TYPE and ZEND_MM_SEG_SIZE environment
variables. Default values are "malloc" and "256K". Dependent on target system you
can also use "mmap_anon", "mmap_zero" and "win32" storage managers.

$ ZEND_MM_MEM_TYPE=mmap_anon ZEND_MM_SEG_SIZE=1M sapi/cli/php ..etc.