History log of /PHP-7.2/Zend/zend_opcode.c (Results 176 – 200 of 319)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: php-5.2.16, php-5.2.15, php-5.3.4, php-5.2.15RC2, php-5.3.4RC2, php-5.3.4RC1, php-5.2.15RC1, PHP_5_2_15RC1
# aaa2f1c3 14-Oct-2010 Hartmut Holzgraefe

marked char pointer arguments as const in lots of
places where strings pointed to are not modified
to prevent compiler warnings about discarded qualifiers ...


# f2df6a4a 15-Sep-2010 Dmitry Stogov

- 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 replace

- 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.

show more ...


Revision tags: oci8-1.4.3
# 3cf5ab9e 05-Aug-2010 Dmitry Stogov

Use interned strings for class names


Revision tags: php-5.2.14, php-5.3.3, php-5.3.3RC3, php-5.2.14RC3
# 3ea3bbac 06-Jul-2010 Felipe Pena

- Fix ZTS build


# 1a1178a6 06-Jul-2010 Dmitry Stogov

eliminated unnecessary iterations during request startup/shutdown


Revision tags: php-5.3.3RC2, php-5.2.14RC2, php-5.3.3RC1, php-5.2.14RC1
# 748dd204 10-Jun-2010 Dmitry Stogov

Fixed bug #51822i (Segfault with strange __destruct() for static class variables)


# 743a2e29 10-Jun-2010 Dmitry Stogov

Fixed bug #51822i (Segfault with strange __destruct() for static class variables)


# f23e8576 24-May-2010 Dmitry Stogov

Fixed ZTS build


# c5237d82 24-May-2010 Dmitry Stogov

Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties


# fe498824 02-May-2010 Stefan Marr

Refactored part of the Traits implementation.
# - renamed php_runkit_function_copy_ctor to _duplicate_function
# REM: runkit does not compile with trunk at the moment, fixing it would intro

Refactored part of the Traits implementation.
# - renamed php_runkit_function_copy_ctor to _duplicate_function
# REM: runkit does not compile with trunk at the moment, fixing it would introduce even more version #ifs, don't know what the best way is to fix it
# - extracted traits related stuff from destroy_zend_class into _destroy_zend_class_traits_info
# - need to investigate implementation/handling of internal classes further before enabling internal traits

show more ...


# cd6415f1 22-Apr-2010 Stefan Marr

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more dis

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
#
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
#
# Internals of the Traits Patch
# -----------------------------
#
# Open TODOs
# """"""""""
#
# - Reflection API
# - support for traits for internal classes
# - currently destroy_zend_class does not handle that case
#
# Introduced Structures
# """""""""""""""""""""
#
# Data structures to encode the composition information specified in the
# source:
# - zend_trait_method_reference
# - zend_trait_precedence
# - zend_trait_alias
#
# Changes
# """""""
#
# zend_class_entry
# - uses NULL terminated lists of pointers for
# - trait_aliases
# - trait_precedences
# - do you prefer an explicit counter?
# - the information is only necessary during class composition
# but might be interesting for reflection
# - did not want to blow up class further with not really necessary length counters
#
# added keywords
# - trait
# - insteadof
#
# Added opcodes
# ZEND_ADD_TRAIT
# - similar to ZEND_ADD_INTERFACE
# - adds the trait to the list of traits of a class, no actual composition done
# ZEND_BIND_TRAITS
# - emitted in zend_do_end_class_declaration
# - concludes the class definition and will initiate the trait composition
# when the class definition is encountered during runtime
#
# Added Flags
# ZEND_ACC_TRAIT = 0x120
# ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
# ZEND_FETCH_CLASS_TRAIT = 14
#
# zend_vm_execute.h
# - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
# ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
#
# zend_compile.c
# - refactored do_inherit_method_check
# split into do_inherit_method_check and do_inheritance_check_on_method
# - added helper functions use a '_' as prefix and are not mentioned in the
# headers
# - _copy_functions
# prepare hash-maps of functions which should be merged into a class
# here the aliases are handled
# - _merge_functions
# builds a hash-table of the methods which need to be added to a class
# does the conflict detection
# - reused php_runkit_function_copy_ctor
# - it is not identical with the original code anymore, needed to update it
# think I fixed some bugs, not sure whether all have been reported back to runkit
# - has to be renamed, left the name for the moment, to make its origin obvious
# - here might be optimization potential
# - not sure whether everything needs to be copied
# - copying the literals might be broken
# - added it since the literals array is freed by efree and gave problems
# with doubled frees
# - all immutable parts of the zend_op array should not be copied
# - am not sure which parts are immutable
# - and not sure how to avoid doubled frees on the same arrays on shutdown
# - _merge_functions_to_class
# does the final merging with the target class to handle inherited
# and overridden methods
# - small helper for NULL terminated lists
# zend_init_list, zend_add_to_list
#
# zend_language_parser.y
# - reused class definition for traits
# - there should be something with regard to properties
# - if they get explicitly defined, it might be worthwhile to
# check that there are no collisions with other traits in a composition
# (however, I would not introduce elaborate language features to control that
# but a notice for such conflicts might be nice to the developers)

show more ...


# dd5c478b 20-Apr-2010 Dmitry Stogov

Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.


# 94dd8372 20-Apr-2010 Dmitry Stogov

Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table


Revision tags: php-5.3.2, php-5.2.13, php-5.3.2RC3, php-5.3.2RC2, php-5.2.13RC2, php-5.2.13RC1
# d2281d1d 05-Jan-2010 Sebastian Bergmann

sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php


Revision tags: php-5.3.2RC1, php-5.2.12, php-5.2.12RC4, php-5.2.12RC3, php-5.2.12RC2, php-5.3.1, php-5.3.1RC4, php-5.2.12RC1, php-5.3.1RC3, php-5.3.1RC2, oci8-1.4.0, php-5.2.11, php-5.2.11RC3, php-5.3.1RC1, php-5.2.11RC2, php-5.2.11RC1, php-5.3.0, php-5.3.0RC4, php-5.2.10, php-5.2.10RC2, php-5.3.0RC3
# cb7a21a4 05-Jun-2009 Brian Shire

MFH: Make pass_two visible to extensions with ZEND_API (required for optimizer).


Revision tags: php-5.2.10RC1, php-5.3.0RC2, php-5.3.0RC1, RELEASE_1_3_5, php-5.2.9, php-5.2.9RC3, php-5.2.9RC2, php-5.2.9RC1, php-5.3.0beta1
# 08659c2d 31-Dec-2008 Sebastian Bergmann

MFH: Bump copyright year, 3 of 3.


Revision tags: NEWS, php-5.2.8, BEFORE_HEAD_NS_CHANGES_MERGE, php-5.3.0alpha3, php-5.3.0alpha2, php-5.2.7, php-5.2.7RC5, php-5.2.7RC4, BEFORE_HEAD_NS_CHANGE, BEFORE_NS_RULES_CHANGE, php-5.2.7RC3, php-5.2.7RC2, php-5.2.7RC1
# 22a5aea1 29-Aug-2008 Matt Wilmas

MFH: - Updated unary_op_type typedef with TSRMLS_DC
- Added binary_op_type typedef
- Added missing ZEND_BOOL_XOR to get_binary_op()


Revision tags: php-4.4.9, php-5.3.0alpha1, php-4.4.9RC1, BEFORE_NEW_PARAMETER_PARSE, RELEASE_1_2_5, RELEASE_2_0_0b1
# 5521912b 07-May-2008 Dmitry Stogov

Use IS_CV for dirrent access to $this variable


Revision tags: php-5.2.6, RELEASE_1_0_2, php-5.2.6RC5, php-5.2.6RC4
# f66f55ed 28-Mar-2008 Felipe Pena

MFH: Implemented "jump label" operator (limited "goto")
[DOC]


Revision tags: php-5.2.6RC3, RELEASE_2_0_0a2, RELEASE_2_0_0a1
# 8c885b89 18-Mar-2008 Dmitry Stogov

Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo

Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
if (!is_cached($filename)) {
...
orig_compiler_options = CG(compiler_optins);
CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
ZEND_COMPILE_DELAYED_BINDING;
$op_array = orig_compile_file($filename);
CG(compiler_options) = orig_copiler_options;
...
} else {
$op_array = restore_from_cache($filename);
}
zend_do_delayed_early_binding($op_array);
}

show more ...


Revision tags: php-5.2.6RC2, php-5.2.6RC1, RELEASE_1_3_1, php-4.4.8
# d1dded87 31-Dec-2007 Sebastian Bergmann

MFH: Bump copyright year, 2 of 2.


Revision tags: php-4.4.8RC1, RELEASE_1_2_3
# 45f6b4ce 21-Nov-2007 Johannes Schlüter

- MFH Improved version of ternary shortcut (Marcus)


# 991f1d8d 18-Nov-2007 Derick Rethans

- MFH: Initialize the reserved resource bits so that they can be reliably used.


Revision tags: php-5.2.5, php-5.2.5RC2, php-5.2.5RC1
# 4b4d634c 07-Oct-2007 Yiduo (David) Wang

MFH: Added macros for managing zval refcounts and is_ref statuses


Revision tags: BEFORE_IMPORT_OF_MYSQLND_IN_5_3, RELEASE_1_2_2
# 6c810b0d 27-Sep-2007 Dmitry Stogov

Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)


12345678910>>...13