History log of /PHP-7.1/Zend/zend_compile.c (Results 1101 – 1125 of 1956)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 331b0529 03-May-2010 Stefan Marr

Changed naming of traits-related helper functions (suggested by Derick), added missing static qualifiers.


# 155bdc8a 02-May-2010 Felipe Pena

- WS


# 9568c8e3 02-May-2010 Felipe Pena

- Changed zend_hash func calls to use the quick ones


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


# de555d39 28-Apr-2010 Pierre Joye

- fix build (void is evil)


# d8a7f892 27-Apr-2010 Dmitry Stogov

- ws
- removed unused variables


# c58b131e 27-Apr-2010 Dmitry Stogov

- Reimplemented ZEND_INIT_FCALL_BY_NAME and ZEND_INIT_NS_FCALL_BY_NAME to use literals instead of additional operands
- Optimized access to global constants


# 0a6bcd44 26-Apr-2010 Felipe Pena

- Removed allow_call_time_pass_reference (Pierrick)


# f06d839e 23-Apr-2010 Dmitry Stogov

Use fast class fetch function


# 246a15e9 23-Apr-2010 Felipe Pena

- Fix memory issue


# c7bf006c 23-Apr-2010 Felipe Pena

- Fix Windows build (Kalle)


# 5a8632a1 23-Apr-2010 Felipe Pena

- Fix function signature


# 28263bf8 23-Apr-2010 Felipe Pena

- Fix ZTS code and CS


# cdf71efc 22-Apr-2010 Felipe Pena

- Fix zend_hash_apply_with_arguments() calls on ZTS


# c05e38e4 22-Apr-2010 Felipe Pena

- Fixed ZTS build & comment-style


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


# e87d7200 22-Apr-2010 Dmitry Stogov

Optimized access to global constants using values with pre-calculated hash_values from litersls table


# fb9d95e5 22-Apr-2010 Dmitry Stogov

ZEND_RETURN is splitted into two new instructions ZEND_RETURN and ZEND_RETURN_BY_REF


# 9f700c41 21-Apr-2010 Felipe Pena

- Fix ZTS build


# 7a2fd62c 21-Apr-2010 Dmitry Stogov

Eliminated unnecessary compile-time hash_value recalculation for interned strings


# 453b49ed 20-Apr-2010 Dmitry Stogov

Added a number of small performance tweaks and optimizations
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FET

Added a number of small performance tweaks and optimizations
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order

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


# c93a4f19 19-Apr-2010 Stanislav Malyshev

restore $this support for closures to its former glory


# 5f6a39d5 04-Apr-2010 Stanislav Malyshev

change namespaced ctors - only __construct would work


1...<<41424344454647484950>>...79