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

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.