| 77fffff |
|
21-May-2013 |
Dmitry Stogov <dmitry@zend.com> |
Fixed bug #64720 (SegFault on zend_deactivate)
/PHP_5_4/Zend/zend_opcode.c
|
| 0a7395e |
|
01-Jan-2013 |
Xinchen Hui <laruence@php.net> |
Happy New Year
/PHP_5_4/Zend/zend_opcode.c
|
| 3f8c729 |
|
25-Dec-2012 |
Dmitry Stogov <dmitry@zend.com> |
Traits refactoring
/PHP_5_4/Zend/zend_opcode.c
|
| 954e7a3 |
|
05-Sep-2012 |
Pierre Joye <pierre.php@gmail.com> |
- fix build, there was no tsrm context there, doing a fetch but this is horribly slow, this fix needs improvement (or simply add a TSRM context in the signature in master
/PHP_5_4/Zend/zend_opcode.c
|
| 6c0508f |
|
05-Sep-2012 |
Dmitry Stogov <dmitry@zend.com> |
Fixed bug #62907 (Double free when use traits)
/PHP_5_4/Zend/zend_opcode.c
|
| 2ae8d2f |
|
21-May-2012 |
Dmitry Stogov <dmitry@zend.com> |
Fixed bug #61998 (Using traits with method aliases appears to result in crash during execution)
/PHP_5_4/Zend/zend_opcode.c
|
| 4e19825 |
|
01-Jan-2012 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_opcode.c
|
| 07b7ba8 |
|
18-Oct-2011 |
Arnaud Le Blanc <lbarnaud@php.net> |
Improved ternary operator performance when returning arrays
/PHP_5_4/Zend/zend_opcode.c
|
| 4a25a77 |
|
13-Sep-2011 |
Dmitry Stogov <dmitry@php.net> |
Fixed ZE specific compile warnings (Bug #55629)
/PHP_5_4/Zend/zend_opcode.c
|
| 0203cc3 |
|
01-Jan-2011 |
Felipe Pena <felipe@php.net> |
- Year++
/PHP_5_4/Zend/zend_opcode.c
|
| aaa2f1c |
|
14-Oct-2010 |
Hartmut Holzgraefe <hholzgra@php.net> |
marked char pointer arguments as const in lots of places where strings pointed to are not modified to prevent compiler warnings about discarded qualifiers ...
/PHP_5_4/Zend/zend_opcode.c
|
| f2df6a4 |
|
15-Sep-2010 |
Dmitry Stogov <dmitry@php.net> |
- 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.
/PHP_5_4/Zend/zend_opcode.c
|
| 3cf5ab9 |
|
05-Aug-2010 |
Dmitry Stogov <dmitry@php.net> |
Use interned strings for class names
/PHP_5_4/Zend/zend_opcode.c
|
| 3ea3bba |
|
06-Jul-2010 |
Felipe Pena <felipe@php.net> |
- Fix ZTS build
/PHP_5_4/Zend/zend_opcode.c
|
| 1a1178a |
|
06-Jul-2010 |
Dmitry Stogov <dmitry@php.net> |
eliminated unnecessary iterations during request startup/shutdown
/PHP_5_4/Zend/zend_opcode.c
|
| 743a2e2 |
|
10-Jun-2010 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #51822i (Segfault with strange __destruct() for static class variables)
/PHP_5_4/Zend/zend_opcode.c
|
| f23e857 |
|
24-May-2010 |
Dmitry Stogov <dmitry@php.net> |
Fixed ZTS build
/PHP_5_4/Zend/zend_opcode.c
|
| c5237d8 |
|
24-May-2010 |
Dmitry Stogov <dmitry@php.net> |
Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties
/PHP_5_4/Zend/zend_opcode.c
|
| fe49882 |
|
02-May-2010 |
Stefan Marr <gron@php.net> |
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
/PHP_5_4/Zend/zend_opcode.c
|
| cd6415f |
|
22-Apr-2010 |
Stefan Marr <gron@php.net> |
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)
/PHP_5_4/Zend/zend_opcode.c
|
| dd5c478 |
|
20-Apr-2010 |
Dmitry Stogov <dmitry@php.net> |
Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.
/PHP_5_4/Zend/zend_opcode.c
|
| 94dd837 |
|
20-Apr-2010 |
Dmitry Stogov <dmitry@php.net> |
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
/PHP_5_4/Zend/zend_opcode.c
|
| d2281d1 |
|
05-Jan-2010 |
Sebastian Bergmann <sebastian@php.net> |
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
/PHP_5_4/Zend/zend_opcode.c
|
| cb7a21a |
|
05-Jun-2009 |
Brian Shire <shire@php.net> |
MFH: Make pass_two visible to extensions with ZEND_API (required for optimizer).
/PHP_5_4/Zend/zend_opcode.c
|
| 08659c2 |
|
31-Dec-2008 |
Sebastian Bergmann <sebastian@php.net> |
MFH: Bump copyright year, 3 of 3.
/PHP_5_4/Zend/zend_opcode.c
|
| 22a5aea |
|
29-Aug-2008 |
Matt Wilmas <mattwil@php.net> |
MFH: - Updated unary_op_type typedef with TSRMLS_DC - Added binary_op_type typedef - Added missing ZEND_BOOL_XOR to get_binary_op()
/PHP_5_4/Zend/zend_opcode.c
|
| 5521912 |
|
07-May-2008 |
Dmitry Stogov <dmitry@php.net> |
Use IS_CV for dirrent access to $this variable
/PHP_5_4/Zend/zend_opcode.c
|
| f66f55e |
|
28-Mar-2008 |
Felipe Pena <felipe@php.net> |
MFH: Implemented "jump label" operator (limited "goto") [DOC]
/PHP_5_4/Zend/zend_opcode.c
|
| 8c885b8 |
|
18-Mar-2008 |
Dmitry Stogov <dmitry@php.net> |
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); }
/PHP_5_4/Zend/zend_opcode.c
|
| d1dded8 |
|
31-Dec-2007 |
Sebastian Bergmann <sebastian@php.net> |
MFH: Bump copyright year, 2 of 2.
/PHP_5_4/Zend/zend_opcode.c
|
| 45f6b4c |
|
21-Nov-2007 |
Johannes Schlüter <johannes@php.net> |
- MFH Improved version of ternary shortcut (Marcus)
/PHP_5_4/Zend/zend_opcode.c
|
| 991f1d8 |
|
18-Nov-2007 |
Derick Rethans <derick@php.net> |
- MFH: Initialize the reserved resource bits so that they can be reliably used.
/PHP_5_4/Zend/zend_opcode.c
|
| 4b4d634 |
|
07-Oct-2007 |
Yiduo (David) Wang <davidw@php.net> |
MFH: Added macros for managing zval refcounts and is_ref statuses
/PHP_5_4/Zend/zend_opcode.c
|
| 6c810b0 |
|
27-Sep-2007 |
Dmitry Stogov <dmitry@php.net> |
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
/PHP_5_4/Zend/zend_opcode.c
|
| e1814f0 |
|
16-Apr-2007 |
Dmitry Stogov <dmitry@php.net> |
WIN64 support
/PHP_5_4/Zend/zend_opcode.c
|
| 0291ad5 |
|
15-Feb-2007 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #40236 (php -a function allocation eats memory)
/PHP_5_4/Zend/zend_opcode.c
|
| 4223aa4 |
|
01-Jan-2007 |
Sebastian Bergmann <sebastian@php.net> |
MFH: Bump year.
/PHP_5_4/Zend/zend_opcode.c
|
| 64e7be9 |
|
10-Apr-2006 |
Dmitry Stogov <dmitry@php.net> |
Fixed possible crash in interactive mode
/PHP_5_4/Zend/zend_opcode.c
|
| 161ae71 |
|
14-Mar-2006 |
Dmitry Stogov <dmitry@php.net> |
zend_hash_apply() doesn't use ZEND_HASH_APPLY_... macros
/PHP_5_4/Zend/zend_opcode.c
|
| ad10a53 |
|
13-Mar-2006 |
Dmitry Stogov <dmitry@php.net> |
Optimized cleanup loops on request shutdown
/PHP_5_4/Zend/zend_opcode.c
|
| 61e93cc |
|
04-Jan-2006 |
Andi Gutmans <andi@php.net> |
- Update copyright notices to 2006
/PHP_5_4/Zend/zend_opcode.c
|
| 8768ab9 |
|
01-Dec-2005 |
Dmitry Stogov <dmitry@php.net> |
Fixed bug #34729 (Crash in ZTS mode under Apache)
/PHP_5_4/Zend/zend_opcode.c
|
| 248345d |
|
01-Sep-2005 |
Dmitry Stogov <dmitry@php.net> |
Support for class constants and static members for internal classes
/PHP_5_4/Zend/zend_opcode.c
|
| 916815b |
|
03-Aug-2005 |
foobar <sniper@php.net> |
Bump up the year
/PHP_5_4/Zend/zend_opcode.c
|
| db507dd |
|
04-Oct-2004 |
Andi Gutmans <andi@php.net> |
- Commit the variable fetch optimization. - Extensions which delete global variables need to use new special function - delete_global_variable() (I'm about to rename it) to remove them. - Will post to internals@ or via commit messages if there's anything else.
/PHP_5_4/Zend/zend_opcode.c
|
| f82ed13 |
|
23-Sep-2004 |
Andi Gutmans <andi@php.net> |
- Commit new VM architecture. This one allows people (aka Derick) to - ask the engine to use function handler mode. Will update the README - about that.
/PHP_5_4/Zend/zend_opcode.c
|
| 96ab56e |
|
09-Sep-2004 |
Andi Gutmans <andi@php.net> |
- Roll back VM commit
/PHP_5_4/Zend/zend_opcode.c
|
| 8eb8850 |
|
08-Sep-2004 |
Andi Gutmans <andi@php.net> |
- Some architectural changes: a) We specialize opcodes according to op_type fields. Each opcode has to be marked with which op_type's it uses. b) We support different execution methods. Function handlers, switch() and goto dispatching. goto seems to be the fastest but it really depends on the compiler and how well it optimizes. I suggest playing around with optimization flags. - Warning: Things might break so keep us posted on how things are going. (Dmitry, Andi)
/PHP_5_4/Zend/zend_opcode.c
|
| d96e7a1 |
|
29-Jul-2004 |
Sara Golemon <pollita@php.net> |
Revert goto opcode
/PHP_5_4/Zend/zend_opcode.c
|
| 5865b36 |
|
29-Jul-2004 |
Sara Golemon <pollita@php.net> |
Add goto operator by popular request.
/PHP_5_4/Zend/zend_opcode.c
|
| fb5cb59 |
|
06-Jun-2004 |
Stefan Esser <sesser@php.net> |
Fixed Zend Function Destructor to use correct TSRM handle.
/PHP_5_4/Zend/zend_opcode.c
|
| 36a7518 |
|
25-Feb-2004 |
Zeev Suraski <zeev@php.net> |
- Abstract methods cannot have defaults for arguments - Make function foo($a, $b=null) satisfy both foo($a) and foo($a, $b) prototypes
/PHP_5_4/Zend/zend_opcode.c
|
| acf7a5e |
|
20-Feb-2004 |
foobar <sniper@php.net> |
ws fix
/PHP_5_4/Zend/zend_opcode.c
|
| 7236415 |
|
04-Feb-2004 |
Zeev Suraski <zeev@php.net> |
Optimize
/PHP_5_4/Zend/zend_opcode.c
|
| 9e60cb5 |
|
03-Feb-2004 |
Zeev Suraski <zeev@php.net> |
Rewrote exception support. Fixes a few limitations and bugs in the old implementation, and allows exceptions to 'fire' much earlier than before. Instructions on how to use the new mechanism will follow on internals@ shortly... Note - this (most probably) breaks the current implementation of set_exception_handler()
/PHP_5_4/Zend/zend_opcode.c
|
| ccfc46b |
|
08-Jan-2004 |
foobar <sniper@php.net> |
- Happy new year and PHP 5 for rest of the files too.. # Should the LICENSE and Zend/LICENSE dates be updated too?
/PHP_5_4/Zend/zend_opcode.c
|
| 6f53e48 |
|
04-Aug-2003 |
Zeev Suraski <zeev@php.net> |
This check shouldn't be necessary
/PHP_5_4/Zend/zend_opcode.c
|
| 1f8fd69 |
|
03-Aug-2003 |
Marcus Boerger <helly@php.net> |
Fix crash
/PHP_5_4/Zend/zend_opcode.c
|
| f8bbafd |
|
03-Aug-2003 |
Zeev Suraski <zeev@php.net> |
ntroduce infrastructure for supplying information about arguments, including: - Whether or not to pass by ref (replaces the old arg_types, with arg_info) - Argument name (for future use, maybe introspection) - Class/Interface name (for type hints) - If a class/interface name is available, whether to allow a null instance Both user and builtin functions share the same data structures. To declare a builtin function that expects its first arg to be an instance of class 'Person', its second argument as a regular arg, and its third by reference, use: ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0) ZEND_ARG_OBJ_INFO(0, someone, Person, 1) ZEND_ARG_PASS_INFO(0) ZEND_ARG_PASS_INFO(1) ZEND_END_ARG_INFO(); and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family of macros. The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref. The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat the arguments for which there's no explicit information as pass by reference or not. The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
/PHP_5_4/Zend/zend_opcode.c
|
| 237116a |
|
23-Jul-2003 |
Stanislav Malyshev <stas@php.net> |
Remove namespace leftovers
/PHP_5_4/Zend/zend_opcode.c
|
| 288dacc |
|
30-Jun-2003 |
Andi Gutmans <andi@php.net> |
- ZE coding style requires if ( instead of if(
/PHP_5_4/Zend/zend_opcode.c
|
| f68c7ff |
|
10-Jun-2003 |
James Cox <imajes@php.net> |
updating license information in the headers.
/PHP_5_4/Zend/zend_opcode.c
|
| f7f5a5e |
|
02-Jun-2003 |
Stanislav Malyshev <stas@php.net> |
MEGA-patch: namespaces are R.I.P.
/PHP_5_4/Zend/zend_opcode.c
|
| a023c10 |
|
01-Jun-2003 |
Marcus Boerger <helly@php.net> |
Bugfix #23670: implements and extends cause Apache 2 crash
/PHP_5_4/Zend/zend_opcode.c
|
| 48b3303 |
|
18-Apr-2003 |
Sterling Hughes <sterling@php.net> |
Patch by Marcus Börger to fix some memleaks
/PHP_5_4/Zend/zend_opcode.c
|
| 62f9eb8 |
|
01-Apr-2003 |
Andrei Zmievski <andrei@php.net> |
Split ZEND_NAMESPACE into user and internal namespaces. Hope this is okay with engine folks.
/PHP_5_4/Zend/zend_opcode.c
|
| 5657b83 |
|
31-Mar-2003 |
Andrei Zmievski <andrei@php.net> |
Multi-purpose patch: - The fields of zend_namespace were not completely initialized which led to a variety of problems. - The occurrence of class/interface/namespace definition is now captured. - Functions/classes/interfaces/namespaces can be preceded by doc comments which are stored for use by extensions.
/PHP_5_4/Zend/zend_opcode.c
|
| 3fc8528 |
|
26-Mar-2003 |
Sebastian Bergmann <sebastian@php.net> |
Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry().
/PHP_5_4/Zend/zend_opcode.c
|
| 26dd849 |
|
05-Mar-2003 |
Zeev Suraski <zeev@php.net> |
Add support for interfaces
/PHP_5_4/Zend/zend_opcode.c
|
| e645f20 |
|
20-Feb-2003 |
Stanislav Malyshev <stas@php.net> |
Allow namespaces to have a number of parts. I.e., now you can do: namespace foo { function abc() {} } ... namespace foo { functio def() {} }
/PHP_5_4/Zend/zend_opcode.c
|
| 955636a |
|
18-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Avoid using a C++ reserved word
/PHP_5_4/Zend/zend_opcode.c
|
| a4c3b2c |
|
16-Feb-2003 |
Stanislav Malyshev <stas@php.net> |
Namespace patch. Big changes: 1. Nested classes are gone. 2. New syntax for namespaces: namespace foo { class X { ... } function bar { ... } var x = 1; const ZZ = 2; } 3. Namespaced symbol access: $x = new foo::X; - etc. For now, namespaces are case insensitive, just like classes. Also, there can be no global class and namespace with the same name (to avoid ambiguities in :: resolution).
/PHP_5_4/Zend/zend_opcode.c
|
| 17439aa |
|
05-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Rework static class properties - now supports access restrictions
/PHP_5_4/Zend/zend_opcode.c
|
| 471947b |
|
04-Feb-2003 |
Zeev Suraski <zeev@php.net> |
Reimplement PPP properties
/PHP_5_4/Zend/zend_opcode.c
|
| 333406b |
|
01-Feb-2003 |
foobar <sniper@php.net> |
- Added some missing CVS $Id$ tags, headers and footers.
/PHP_5_4/Zend/zend_opcode.c
|
| 03f88ac |
|
29-Jan-2003 |
Stanislav Malyshev <stas@php.net> |
Add additional stage to post-session cleanup. We need separate cleanup stage because of the following problem: Suppose we destroy class X, which destroys function table, and in function table we have function foo() that has static $bar. Now if object of class X was assigned to $bar, its destructor will be called and will fail since X's function table is in mid-destruction. So we want first of all to clean up all data and then move to tables destruction. Note that only run-time accessed data need to be cleaned up, pre-defined data can not contain objects and thus are not probelmatic. # Looks like we are having a lots of pain in the various parts of the body # because of the destructors...
/PHP_5_4/Zend/zend_opcode.c
|
| 2c5d4b8 |
|
31-Dec-2002 |
Sebastian Bergmann <sebastian@php.net> |
Bump year.
/PHP_5_4/Zend/zend_opcode.c
|
| 671fff2 |
|
30-Nov-2002 |
Andi Gutmans <andi@php.net> |
h WHitespace
/PHP_5_4/Zend/zend_opcode.c
|
| 023836a |
|
24-Oct-2002 |
Andi Gutmans <andi@php.net> |
- Also tune jmpz_ex
/PHP_5_4/Zend/zend_opcode.c
|
| 8010931 |
|
24-Oct-2002 |
Andi Gutmans <andi@php.net> |
- Improve performance of part of the jmps. More to follow.
/PHP_5_4/Zend/zend_opcode.c
|
| 536d4d8 |
|
19-Oct-2002 |
Andi Gutmans <andi@php.net> |
- Improve opcode dispatching
/PHP_5_4/Zend/zend_opcode.c
|
| bc5ea87 |
|
15-Jul-2002 |
Andi Gutmans <andi@php.net> |
- Commit patch to support protected member variables (by Timm Friebe w/ - some fixes by me). - You can't access protected variables from outside the object. If you want - to see a protected member from your ancestors you need to declare the - member as protected in the class you want to use it in. You can't - redeclare a protected variable as private nor the other way around.
/PHP_5_4/Zend/zend_opcode.c
|
| 51e797f |
|
23-Apr-2002 |
Harald Radi <phanto@php.net> |
some type cleanup work
/PHP_5_4/Zend/zend_opcode.c
|
| 0ce019f |
|
15-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Fix issues with $this when using it by itself without indirection such as - $this->foo.
/PHP_5_4/Zend/zend_opcode.c
|
| fb6976e |
|
12-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Another couple of indirection fixes. - Make class_entry->refcount be part of the structure and not allocated.
/PHP_5_4/Zend/zend_opcode.c
|
| c8c629b |
|
12-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Fix bug introduced with latest class hash table change.
/PHP_5_4/Zend/zend_opcode.c
|
| 92dd5e6 |
|
12-Mar-2002 |
Stanislav Malyshev <stas@php.net> |
- make class tables contain class_entry *, not class_entry - fix isset($this)
/PHP_5_4/Zend/zend_opcode.c
|
| d1eea3d |
|
01-Mar-2002 |
Andi Gutmans <andi@php.net> |
- Fix bug in nested try/catch's - Infrastructure for implementing imports of methods.
/PHP_5_4/Zend/zend_opcode.c
|
| 00e90f2 |
|
21-Feb-2002 |
Andi Gutmans <andi@php.net> |
- Experimental support for private members. <? class MyClass { private $Hello = "Hello, World!\n"; function printHello() { print $this->Hello; } } class MyClass2 extends MyClass { function printHello() { MyClass::printHello(); /* Should print */ print $this->Hello; /* Shouldn't print out anything */ } } $obj = new MyClass(); print $obj->Hello; /* Shouldn't print out anything */ $obj->printHello(); /* Should print */ $obj = new MyClass2(); print $obj->Hello; /* Shouldn't print out anything */ $obj->printHello(); ?>
/PHP_5_4/Zend/zend_opcode.c
|
| 7309a6e |
|
25-Jan-2002 |
Andi Gutmans <andi@php.net> |
- First destructor hell fix. There was a situation where an object's - destructor could be run after its class was already dead. Right now - object destructors is the first thing whic happens during shutdown in - order to prevent this problem. It's very likely that destructors will - cause more grief and we'll have to outline exactly when you should use - them and what kind of logic you're allowed to do inside of them. - This bug was reported by sebastian.
/PHP_5_4/Zend/zend_opcode.c
|
| 2131b01 |
|
20-Jan-2002 |
Andi Gutmans <andi@php.net> |
- Improve performance of functions that use $GLOBALS[] - Please check this and make sure it doesn't break anything.
/PHP_5_4/Zend/zend_opcode.c
|
| 62dc854 |
|
06-Jan-2002 |
Sebastian Bergmann <sebastian@php.net> |
Happy New Year.
/PHP_5_4/Zend/zend_opcode.c
|
| f4b832d |
|
13-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Fix crash bug in startup code. - Start work on being able to reference global and local scope
/PHP_5_4/Zend/zend_opcode.c
|
| 4cb97fa |
|
11-Dec-2001 |
Andi Gutmans <andi@php.net> |
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
/PHP_5_4/Zend/zend_opcode.c
|
| d863d52 |
|
11-Dec-2001 |
Sebastian Bergmann <sebastian@php.net> |
Update headers.
/PHP_5_4/Zend/zend_opcode.c
|
| e858d27 |
|
30-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for class constants. There are still a few semantic - issues which need to be looked into but basically it seems to work. - Example: <?php class foo { const hey = "hello"; } print foo::hey; ?>
/PHP_5_4/Zend/zend_opcode.c
|
| d2da63f |
|
25-Nov-2001 |
Andi Gutmans <andi@php.net> |
- Support static members. The following script works: <? class foo { class bar { function init_values() { for ($i=1; $i<10; $i++) { foo::bar::$hello[$i] = $i*$i; } } function print_values() { for ($i=1; $i<10; $i++) { print foo::bar::$hello[$i] . "\n"; } } } } foo::bar::init_values(); foo::bar::print_values(); for ($i=1; $i<10; $i++) { print $hello[$i]?"Shouldn't be printed\n":""; } ?>
/PHP_5_4/Zend/zend_opcode.c
|
| 0a682c6 |
|
29-Oct-2001 |
Andi Gutmans <andi@php.net> |
- Fix internal classes
/PHP_5_4/Zend/zend_opcode.c
|
| 26578c3 |
|
29-Oct-2001 |
Andi Gutmans <andi@php.net> |
- Initial support for nested class definitions
/PHP_5_4/Zend/zend_opcode.c
|
| d76cf1d |
|
31-Jul-2001 |
Zeev Suraski <zeev@php.net> |
More TSRMLS_FETCH work
/PHP_5_4/Zend/zend_opcode.c
|
| b577038 |
|
30-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Avoid TSRMLS_FETCH()'s (still lots of work left)
/PHP_5_4/Zend/zend_opcode.c
|
| b4f3b9d |
|
28-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Redesigned thread safety mechanism - nua nua
/PHP_5_4/Zend/zend_opcode.c
|
| 85b4df5 |
|
15-Jul-2001 |
Zeev Suraski <zeev@php.net> |
Improved interactive mode - it is now available in all builds, without any significant slowdown
/PHP_5_4/Zend/zend_opcode.c
|
| d8c11e6 |
|
11-May-2001 |
Andi Gutmans <andi@php.net> |
- Fix crash bug when opcodes array is erealloc()'ed to a different memory area before it reaches the loop. - Some whitespace stuff
/PHP_5_4/Zend/zend_opcode.c
|
| 3380fa1 |
|
08-May-2001 |
Andi Gutmans <andi@php.net> |
- Fix crash bug reported by DBG author Dmitri Dmitrienko.
/PHP_5_4/Zend/zend_opcode.c
|
| d2c9e80 |
|
26-Feb-2001 |
Andi Gutmans <andi@php.net> |
- Update copyright year
/PHP_5_4/Zend/zend_opcode.c
|
| 1860303 |
|
30-Dec-2000 |
Zeev Suraski <zeev@php.net> |
Fix possible corruption in line number information
/PHP_5_4/Zend/zend_opcode.c
|
| 86a13dd |
|
11-Nov-2000 |
Andi Gutmans <andi@php.net> |
- Beautify by using the standard #define.
/PHP_5_4/Zend/zend_opcode.c
|
| 5475424 |
|
15-Oct-2000 |
Andi Gutmans <andi@php.net> |
- Increase op_array size faster and make eralloc() it in the end to save memory.
/PHP_5_4/Zend/zend_opcode.c
|
| c06692e |
|
09-Aug-2000 |
Zeev Suraski <zeev@php.net> |
The patch we promised - redesigned the compilation/execution API: Advantages: - Smaller memory footprint for the op arrays - Slightly faster compilation times (due to saved erealloc() calls and faster zend_op initialization) - include_once() & require_once() share the same file list - Consistency between include() and require() - this mostly means that return() works inside require()'d files just as it does in include() files (it used to be meaningless in require()'d files, most of the time (see below)) - Made require() consistent with itself. Before, if the argument was not a constant string, require() took the include() behavior (with return()). - Removed lots of duplicate code. Bottom line - require() and include() are very similar now; require() is simply an include() which isn't allowed to fail. Due to the erealloc() calls for large op arrays, require() didn't end up being any faster than include() in the Zend engine.
/PHP_5_4/Zend/zend_opcode.c
|
| 03c8443 |
|
17-May-2000 |
Andi Gutmans <andi@php.net> |
Fix order
/PHP_5_4/Zend/zend_opcode.c
|
| 30da5fd |
|
08-May-2000 |
Andi Gutmans <andi@php.net> |
Thoroughly initialize IS_UNUSED for proper cleanup
/PHP_5_4/Zend/zend_opcode.c
|
| 5ef03c4 |
|
29-Apr-2000 |
Zeev Suraski <zeev@php.net> |
Pass the op_array to the ctor/dtor, instead of just the resource
/PHP_5_4/Zend/zend_opcode.c
|
| 42d1529 |
|
29-Apr-2000 |
Zeev Suraski <zeev@php.net> |
Fix possible bug with extension dtors being called without the ctors being called first
/PHP_5_4/Zend/zend_opcode.c
|
| e0a48fe |
|
29-Apr-2000 |
Zeev Suraski <zeev@php.net> |
Beautify
/PHP_5_4/Zend/zend_opcode.c
|
| 207167c |
|
19-Apr-2000 |
Andi Gutmans <andi@php.net> |
- Export pass_include() for Windows
/PHP_5_4/Zend/zend_opcode.c
|
| 521c8af |
|
29-Mar-2000 |
Torben Wilson <torben@php.net> |
Added !== (is not identical) operator.
/PHP_5_4/Zend/zend_opcode.c
|
| b763b25 |
|
26-Mar-2000 |
Andi Gutmans <andi@php.net> |
- Include Andrea's fix for alloca.h
/PHP_5_4/Zend/zend_opcode.c
|
| 7000362 |
|
26-Mar-2000 |
Thies C. Arntzen <thies@php.net> |
fix cast
/PHP_5_4/Zend/zend_opcode.c
|
| 5dba477 |
|
25-Mar-2000 |
Zeev Suraski <zeev@php.net> |
- Some header dependencies cleanup - Generalize zval_print() and zval_print_r()
/PHP_5_4/Zend/zend_opcode.c
|
| f30765e |
|
15-Mar-2000 |
Zeev Suraski <zeev@php.net> |
- Fix warning (I thought I fixed this one before)
/PHP_5_4/Zend/zend_opcode.c
|
| 5e55e47 |
|
06-Mar-2000 |
Zeev Suraski <zeev@php.net> |
It's official now...
/PHP_5_4/Zend/zend_opcode.c
|
| 0ac9536 |
|
19-Feb-2000 |
Zeev Suraski <zeev@php.net> |
(c) patch
/PHP_5_4/Zend/zend_opcode.c
|
| b6197bc |
|
04-Feb-2000 |
Zeev Suraski <zeev@php.net> |
Maintain a state of whether we're compiling and/or executing
/PHP_5_4/Zend/zend_opcode.c
|
| 4585f7b |
|
26-Jan-2000 |
Andi Gutmans <andi@php.net> |
- Allow is_ref to become 0 in case the refcount is back to 1.
/PHP_5_4/Zend/zend_opcode.c
|
| 62114c1 |
|
17-Jan-2000 |
Zeev Suraski <zeev@php.net> |
Destructors no longer return ints, the low level problem it was intended to solve is long gone now...
/PHP_5_4/Zend/zend_opcode.c
|
| b7a5b3c |
|
27-Dec-1999 |
Zeev Suraski <zeev@php.net> |
- Generalize the fast cache mechanism - Add the HashTable struct to the fast cache mechanism
/PHP_5_4/Zend/zend_opcode.c
|
| b996436 |
|
23-Dec-1999 |
Zeev Suraski <zeev@php.net> |
Fix a class inheritence leak, when using static varibles in a parent class member function
/PHP_5_4/Zend/zend_opcode.c
|
| ced9cee |
|
15-Dec-1999 |
Zeev Suraski <zeev@php.net> |
- Implement return by reference: - In function declaration instead of the return statement - In the assignment phase - Implement ability to turn off support for call-time pass by reference
/PHP_5_4/Zend/zend_opcode.c
|
| 7a205f6 |
|
19-Oct-1999 |
Andi Gutmans <andi@php.net> |
- Preliminary submit of Thie's patch. Will fix the rest on Windows as this was added on UNIX with patch. Changed IS_SAME -> IS_IDENTICAL
/PHP_5_4/Zend/zend_opcode.c
|
| 86357a9 |
|
01-Oct-1999 |
Andi Gutmans <andi@php.net> |
- Move is_ref back to being an unsigned char and not a bit field.
/PHP_5_4/Zend/zend_opcode.c
|
| babad26 |
|
20-Sep-1999 |
Andi Gutmans <andi@php.net> |
- First step in fixing locking problem. Array fetches are now always done last. Later on we will want to delay the write fetches even longer until after their resulting expression is parsed. The way it is now, will make it very easy to delay as long as we need.
/PHP_5_4/Zend/zend_opcode.c
|
| e5fbf44 |
|
19-Aug-1999 |
Andi Gutmans <andi@php.net> |
- Make sure expr_list and echo_list are either empty or comma seperated expressions
/PHP_5_4/Zend/zend_opcode.c
|
| bbe27ff |
|
03-Aug-1999 |
Andi Gutmans <andi@php.net> |
- Initialize extended value's and put the fetch_type in it's own variable name.
/PHP_5_4/Zend/zend_opcode.c
|
| 8d1de13 |
|
19-Jul-1999 |
Zeev Suraski <zeev@php.net> |
0.91 update
/PHP_5_4/Zend/zend_opcode.c
|
| b5b1117 |
|
16-Jul-1999 |
Zeev Suraski <zeev@php.net> |
License update
/PHP_5_4/Zend/zend_opcode.c
|
| 2a6da78 |
|
09-Jul-1999 |
Zeev Suraski <zeev@php.net> |
Step 4: Move to a 7-bit counter (not fully implemented yet)
/PHP_5_4/Zend/zend_opcode.c
|
| 6ec1acb |
|
09-Jul-1999 |
Zeev Suraski <zeev@php.net> |
Phase 3: Use a single bit to mark IS_REF variables
/PHP_5_4/Zend/zend_opcode.c
|
| 5f62c34 |
|
09-Jul-1999 |
Zeev Suraski <zeev@php.net> |
Step 2: Rename is_ref to EA
/PHP_5_4/Zend/zend_opcode.c
|
| 81d901b |
|
09-Jul-1999 |
Zeev Suraski <zeev@php.net> |
Step 1 in nuking the garbage collector: - Change the hash destructor to return int - Don't kill the bucket on hash_destroy if the destructor returns 0
/PHP_5_4/Zend/zend_opcode.c
|
| 1b4b5c4 |
|
04-Jun-1999 |
Zeev Suraski <zeev@php.net> |
New $GLOBALS init
/PHP_5_4/Zend/zend_opcode.c
|
| 9108abc |
|
04-Jun-1999 |
Zeev Suraski <zeev@php.net> |
Minor updates (mostly __declspec() stuff)
/PHP_5_4/Zend/zend_opcode.c
|
| 8802964 |
|
30-May-1999 |
Sascha Schumann <sas@php.net> |
* fix some casts * introduce unary_op_type - cleaner than casting data voids to function ptrs
/PHP_5_4/Zend/zend_opcode.c
|
| 5dd7f27 |
|
30-Apr-1999 |
Andi Gutmans <andi@php.net> |
- Free refcount when destroying the last class reference.
/PHP_5_4/Zend/zend_opcode.c
|
| 2493f68 |
|
27-Apr-1999 |
Zeev Suraski <zeev@php.net> |
* Fix debugger+interactive mode bug * Recognize whether an extension is with debug information or not
/PHP_5_4/Zend/zend_opcode.c
|
| 7c4a083 |
|
26-Apr-1999 |
Zeev Suraski <zeev@php.net> |
Various thread safety fixes and DLL updates
/PHP_5_4/Zend/zend_opcode.c
|
| 5a5806e |
|
24-Apr-1999 |
Zeev Suraski <zeev@php.net> |
Cleanups, remove old ts code
/PHP_5_4/Zend/zend_opcode.c
|
| 551fe77 |
|
22-Apr-1999 |
Zeev Suraski <zeev@php.net> |
Make token names uniform, they all begin with T_ now.
/PHP_5_4/Zend/zend_opcode.c
|
| 7a87fcb |
|
21-Apr-1999 |
Zeev Suraski <zeev@php.net> |
Thread safety patch. We're still not quite there but it compiles again, and more logic has been implemented.
/PHP_5_4/Zend/zend_opcode.c
|
| 342c6e0 |
|
18-Apr-1999 |
Zeev Suraski <zeev@php.net> |
Whatnot: * updated alloc_persist to use critical sections * changed extension shutdown to two-phase * updated dependencies * PR support (don't remember if there was any really)
/PHP_5_4/Zend/zend_opcode.c
|
| 39f9487 |
|
14-Apr-1999 |
Andi Gutmans <andi@php.net> |
-Tiny patches
/PHP_5_4/Zend/zend_opcode.c
|
| 17bdb70 |
|
08-Apr-1999 |
Zeev Suraski <zeev@php.net> |
$GLOBALS support
/PHP_5_4/Zend/zend_opcode.c
|
| 573b460 |
|
07-Apr-1999 |
Andi Gutmans <andi@php.net> |
Zend Library
/PHP_5_4/Zend/zend_opcode.c
|