Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: php-5.2.1RC3

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
RFCs
tests
ChangeLog
FlexLexer.h
LICENSE
Makefile.am
Makefile.frag
OBJECTS2_HOWTO
README.ZEND_MM
README.ZEND_VM
ZEND_CHANGES
Zend.dsp
Zend.m4
ZendCore.dep
ZendTS.dsp
acconfig.h
acinclude.m4
bench.php
build.mk
buildconf
configure.in
flex.skl
header
zend.c
zend.h
zend.ico
zend_API.c
zend_API.h
zend_alloc.c
zend_alloc.h
zend_arg_defs.c
zend_builtin_functions.c
zend_builtin_functions.h
zend_compile.c
zend_compile.h
zend_config.nw.h
zend_config.w32.h
zend_constants.c
zend_constants.h
zend_default_classes.c
zend_dynamic_array.c
zend_dynamic_array.h
zend_errors.h
zend_exceptions.c
zend_exceptions.h
zend_execute.c
zend_execute.h
zend_execute_API.c
zend_extensions.c
zend_extensions.h
zend_fast_cache.h
zend_globals.h
zend_globals_macros.h
zend_hash.c
zend_hash.h
zend_highlight.c
zend_highlight.h
zend_indent.c
zend_indent.h
zend_ini.c
zend_ini.h
zend_ini_parser.y
zend_ini_scanner.h
zend_ini_scanner.l
zend_interfaces.c
zend_interfaces.h
zend_istdiostream.h
zend_iterators.c
zend_iterators.h
zend_language_parser.y
zend_language_scanner.h
zend_language_scanner.l
zend_list.c
zend_list.h
zend_llist.c
zend_llist.h
zend_modules.h
zend_multibyte.c
zend_multibyte.h
zend_multiply.h
zend_object_handlers.c
zend_object_handlers.h
zend_objects.c
zend_objects.h
zend_objects_API.c
zend_objects_API.h
zend_opcode.c
zend_operators.c
zend_operators.h
zend_ptr_stack.c
zend_ptr_stack.h
zend_qsort.c
zend_qsort.h
zend_sprintf.c
zend_stack.c
zend_stack.h
zend_static_allocator.c
zend_static_allocator.h
zend_stream.c
zend_stream.h
zend_strtod.c
zend_strtod.h
zend_ts_hash.c
zend_ts_hash.h
zend_types.h
zend_variables.c
zend_variables.h
zend_vm.h
zend_vm_def.h
zend_vm_execute.h
zend_vm_execute.skl
zend_vm_gen.php
zend_vm_opcodes.h

README.ZEND_MM

The goal of the new memory manager (PHP 5.2 and later) is reducing 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 built. It allows select malloc/emalloc at runtime.  So you can use internal and external memory debuggers without recompilation.

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

$ USE_ZEND_ALLOC=0 valgrind --leak-check=full -r 'leak();'

The patch allows tweaking memory manager with 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

Something went wrong with that request. Please try again.