]> granicus.if.org Git - php/commit
- Improved memory usage
authorDmitry Stogov <dmitry@php.net>
Wed, 15 Sep 2010 07:38:52 +0000 (07:38 +0000)
committerDmitry Stogov <dmitry@php.net>
Wed, 15 Sep 2010 07:38:52 +0000 (07:38 +0000)
commitf2df6a4a3ee7d1cff29dfc3326b50eb9d2818a05
tree82cdb33028f6d6a48225c0ac47fc6539c0aafdd0
parent3e92b2043494863a2baed87e9f04585a732f9c1b
- Improved memory usage
  . zend_function.pass_rest_by_reference is replaced by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
  . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags
  . zend_arg_info.required_num_args removed. it was needed only for internal
    functions. Now the first arg_info for internal function (which has special
    meaning) is represented by zend_internal_function_info structure.
  . zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count moved into CG(context), because they are used only during
    compilation.
  . zend_op_array.start_op is moved into EG(start_op), because it's used
    only for 'interactive' execution of single top-level op-array.
  . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
  . op_array.vars array is trimmed (reallocated) during pass_two.
  . zend_class_entry.constants_updated is replaced by
     ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
  . the size of zend_class_entry is reduced by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_inttry.info union.
20 files changed:
NEWS
UPGRADING.INTERNALS
Zend/zend.h
Zend/zend_API.c
Zend/zend_API.h
Zend/zend_closures.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_execute.c
Zend/zend_execute_API.c
Zend/zend_globals.h
Zend/zend_language_scanner.l
Zend/zend_object_handlers.c
Zend/zend_opcode.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.skl
ext/pdo/pdo_dbh.c
ext/reflection/php_reflection.c
ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt
ext/soap/soap.c