Felipe Pena
4737910b69
- Added new parameter parsing option (p - for valid path (string without null byte in the middle))
...
# The tests will be fixed in the next commits
2011-06-06 21:28:16 +00:00
Felipe Pena
68ff1463e7
- Restore fix for #39863 (do not accept paths with NULL in them)
...
# This was removed by regenerating the VM months ago
2011-06-06 02:34:38 +00:00
Dmitry Stogov
c270347c0b
MFH: Arithmetic speedup. Inlined most probable code-paths for arithmetic operations directly into executor.
2011-05-31 12:05:25 +00:00
Dmitry Stogov
b7eb3c1c5a
Arithmetic speedup. Inlined most probable code-paths for arithmetic operations directly into executor.
2011-05-23 08:05:44 +00:00
Dmitry Stogov
6eedfb9b3a
Fixed direct threaded executor (php zend_vm_gen.php --with-vm-kind=GOTO)
2011-05-05 16:02:11 +00:00
Dmitry Stogov
e510daf20b
Fixed bug #54585 (track_errors causes segfault)
2011-04-25 07:50:07 +00:00
Dmitry Stogov
9fb4cd1a91
Fixed bug #54585 (track_errors causes segfault)
2011-04-25 07:50:07 +00:00
Dmitry Stogov
821d7169d9
Fixed bug #54367 (Use of closure causes problem in ArrayAccess).
2011-04-20 12:59:18 +00:00
Dmitry Stogov
c157f4b4e6
Fixed bug #54367 (Use of closure causes problem in ArrayAccess).
2011-04-20 12:59:18 +00:00
Dmitry Stogov
b78ac8df82
Fixed bug #54262 (Crash when assigning value to a dimension in a non-array)
2011-03-16 11:14:33 +00:00
Dmitry Stogov
8c06867e11
Fixed bug #54262 (Crash when assigning value to a dimension in a non-array)
2011-03-16 11:14:33 +00:00
Stanislav Malyshev
8efa208e0b
fix UMR when variable name is an object and __toString is used
...
# zend_call_function checks IS_REF on This
2011-03-16 05:25:02 +00:00
Felipe Pena
927bf09c29
- Year++
2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Dmitry Stogov
c35fc78890
Fixed bug #53511 (Exceptions are lost in case an exception is thrown in catch operator)
2010-12-09 16:38:37 +00:00
Dmitry Stogov
7628da98c4
Removed support for break/continue $var syntax
2010-11-24 12:19:56 +00:00
Dmitry Stogov
68e154b1bf
reduced size of temp_variariable
2010-10-22 14:51:07 +00:00
Dmitry Stogov
968bdc576c
Simplified foreach() handling, we don't have to inctrement/decrement refcount twice
2010-10-22 13:59:23 +00:00
Dmitry Stogov
d12098eeec
Fixed crash on attempt to insert reference to string offset into an array
2010-10-22 11:05:22 +00:00
Dmitry Stogov
635f3aff75
Removed redundant check
2010-10-22 09:56:39 +00:00
Dmitry Stogov
fa3f0bb63f
Fixed bug #51008 (Zend/tests/bug45877.phpt fails)
2010-10-05 11:28:56 +00:00
Dmitry Stogov
f2df6a4a3e
- 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.
2010-09-15 07:38:52 +00:00
Dmitry Stogov
2188f26c45
Fixed bug #52614 (Memory leak when writing on uninitialized variable returned from method call)
2010-08-25 09:14:36 +00:00
Dmitry Stogov
8a6d73b084
improved performance of @ (silence) operator
2010-08-18 13:58:13 +00:00
Dmitry Stogov
f48999ca3b
Optimization of ASSIGN instruction
2010-08-11 15:34:06 +00:00
Dmitry Stogov
e0b728597b
Optimization (IS_TMP_VARs don't need reference counting)
2010-08-10 15:24:19 +00:00
Dmitry Stogov
39b4a5eea7
Additional specialization
2010-07-27 09:50:35 +00:00
Dmitry Stogov
d30073a2dc
Removed deprecated check
2010-07-26 12:40:32 +00:00
Dmitry Stogov
5a2ee8ecea
Use proper fetch types
2010-07-19 15:04:51 +00:00
Dmitry Stogov
c1336009c2
Removed invalid checks
2010-07-19 14:34:34 +00:00
Dmitry Stogov
ca4de03eed
ZEND_FETCH_*_R operations simplified and can't be used with EXT_TYPE_UNUSED flag any more. Thit is very rare and useless case. ZEND_FREE might be required after them instead.
2010-07-16 13:38:09 +00:00
Dmitry Stogov
8aad91d14a
Simplified string offset reading
2010-07-16 11:44:30 +00:00
Dmitry Stogov
09d8bbb2ee
Fixed bug #52237 (Crash when passing the reference of the property of a non-object)
2010-07-05 09:08:35 +00:00
Dmitry Stogov
ab67865d21
Fixed bug #52237 (Crash when passing the reference of the property of a non-object)
2010-07-05 09:08:35 +00:00
Dmitry Stogov
09943e56cd
Removed redundant code
2010-06-22 14:15:08 +00:00
Dmitry Stogov
d868733cc3
Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function)
2010-06-15 08:22:51 +00:00
Dmitry Stogov
3d5f729181
Fixed bug #52041 (Memory leak when writing on uninitialized variable returned from function)
2010-06-15 08:22:51 +00:00
Dmitry Stogov
04dd48ceca
Fixed exception handling in GOTO VM
2010-05-24 14:46:31 +00:00
Dmitry Stogov
c5237d82bf
Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties
2010-05-24 14:11:39 +00:00
Felipe Pena
5d701938a3
- Added check for constant creation on Traits
...
- Simplified trait flag check
- Test++ :)
2010-05-07 11:09:35 +00:00
Dmitry Stogov
277f271a83
Added compiler hints
2010-05-06 12:52:27 +00:00
Dmitry Stogov
d5800f881c
Optimized access to static properties using executor specialization. A constant class name may be used as a direct operand of ZEND_FETCH_* instruction without previous ZEND_FETCH_CLASS.
2010-05-06 10:27:35 +00:00
Felipe Pena
e431cec023
- Fix trait flag identification
2010-05-04 18:31:40 +00:00
Felipe Pena
45a536fc7c
- Added check for abstract class
...
abstract class foo { }
class T { use foo; } // T cannot use foo - it is not a trait
- Added check for trait on NEW
trait a { }
new a; // Cannot instantiate trait a
# Tests for errors comming soon :)
2010-05-04 18:21:00 +00:00
Dmitry Stogov
4ff3000850
ws
2010-04-27 12:23:29 +00:00
Dmitry Stogov
c58b131e29
- 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
2010-04-27 12:09:13 +00:00
David Soria Parra
08b9fdc8a3
Add DTrace probes
2010-04-24 13:32:30 +00:00
Dmitry Stogov
f06d839e59
Use fast class fetch function
2010-04-23 08:56:03 +00:00
Stefan Marr
cd6415f1a9
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)
2010-04-22 22:05:56 +00:00
Dmitry Stogov
e87d72002b
Optimized access to global constants using values with pre-calculated hash_values from litersls table
2010-04-22 15:03:17 +00:00
Felipe Pena
ac181e07ef
- Removed unused variables
2010-04-22 13:28:53 +00:00
Dmitry Stogov
fb9d95e5a4
ZEND_RETURN is splitted into two new instructions ZEND_RETURN and ZEND_RETURN_BY_REF
2010-04-22 11:56:45 +00:00
Dmitry Stogov
453b49ed20
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
2010-04-20 11:16:39 +00:00
Dmitry Stogov
dd5c478be6
Added concept of interned strings. All strings constants known at compile time are allocated in a single copy and never changed.
2010-04-20 11:05:54 +00:00
Dmitry Stogov
94dd83722b
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
2010-04-20 10:57:45 +00:00
Stanislav Malyshev
c93a4f192b
restore $this support for closures to its former glory
2010-04-19 19:45:03 +00:00
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Dmitry Stogov
6ab5f53d52
Fixed bug #49866 (Making reference on string offsets crashes PHP)
2009-12-07 08:47:18 +00:00
Dmitry Stogov
7a96fdff4c
Fixed bug #50351 (performance regression handling objects, ten times slower in 5.3 than in 5.2. foreach statement should not initiate GC)
2009-12-07 08:14:48 +00:00
Felipe Pena
bb179ad150
- Fixed bug #50255 (isset() and empty() silently casts array to object)
2009-11-24 21:54:12 +00:00
Felipe Pena
779ce8fd00
- Fixed bug #49908 (throwing exception in __autoload crashes when interface is not defined)
2009-11-01 21:26:03 +00:00
Dmitry Stogov
c36b27db63
Fixed memleak in tests/lang/engine_assignExecutionOrder_001.phpt
2009-09-21 13:01:17 +00:00
Dmitry Stogov
4016bfcd71
Fixed bug #46074 (Bus error during running PHP CLI under IRIX 6.5.30)
2009-09-03 14:33:11 +00:00
Stanislav Malyshev
d6ba6c69fb
fix crash when unexpectedly passed by-ref parameter is modified
2009-08-18 20:51:49 +00:00
Dmitry Stogov
f1ab855cfe
Fixed ability to call user functions from user opcodes without recursion
2009-08-18 10:12:32 +00:00
Dmitry Stogov
f694c09a35
Fixed bug #49269 (Ternary operator fails on Iterator object when used inside foreach declaration). (Etienne, Dmitry)
2009-08-17 07:40:43 +00:00
Dmitry Stogov
ff766c1de2
Fixed bug #48912 (Namespace causes unexpected strict behaviour with extract())
2009-07-28 12:35:27 +00:00
Matt Wilmas
2462fce244
MFH: Changed error messages to use "cannot" instead of "can not" (meaning "also can")
2009-06-07 15:46:54 +00:00
Arnaud Le Blanc
85b9327836
MFH: better fix for #48409 , #48428 , #48228
2009-06-05 11:21:31 +00:00
Matt Wilmas
b907aa4331
MFH:
...
Restored double->long conversion behavior to that of PHP 5.2 (on most platforms) and prior:
* Out-of-range numbers overflow/preserve least significant bits (no LONG_MAX/MIN limit)
* See bug #42868 (presumably-rare platform with different results in 5.2)
* On 32-bit platforms with 64-bit long type, a zend_long64 cast has been added,
otherwise it's the same as 5.2
* Use this conversion method everywhere instead of some plain (long) casts
Added 'L' parameter parsing specifier to ensure a LONG_MAX/MIN limit:
* Essentially what 5.3's new conversion was doing in most cases
* Functions with "limit" or "length" type params could be updated to use this,
and prevent confusing overflow behavior with huge numbers (*also* in 5.2)
- See bug #47854 , for example; or even #42868 again
# Test updates coming
2009-06-04 18:20:45 +00:00
Arnaud Le Blanc
2403a58011
MFH: better fix for #48409 , #48428 , #48228
2009-06-01 15:07:42 +00:00
Arnaud Le Blanc
bed00e15d1
MFH: Fix aliasing issue ( fixes #48409 , #48428 , #48228 )
2009-05-30 16:31:12 +00:00
Dmitry Stogov
ae2226133a
Improved specialization (IS_CONST can't be IS_OBJECT)
2009-04-08 13:19:34 +00:00
Dmitry Stogov
ab7f6d88e0
Fixed bug #47771 (Exception during object construction from arg call calls object's destructor)
2009-03-26 10:17:30 +00:00
Dmitry Stogov
3a30cfe1e0
Removed unnecassary checks
2009-03-18 18:49:27 +00:00
Dmitry Stogov
daac1a6273
Improved speed of conditional jump instructions by checking for most useful case (conditional expression)
2009-03-18 14:17:15 +00:00
Dmitry Stogov
ff5620524c
Fixed bug #47704 (crashes on some "bad" operations with string offsets)
...
Removed unnecessary checks
2009-03-18 12:53:17 +00:00
Dmitry Stogov
e2c3c7aa44
Clenaup deprecated namespace code
2009-03-10 10:01:44 +00:00
Christian Seiler
c6d89bd4a8
[DOC] Remove $this support in closures for PHP 5.3 beta 1
...
- Implementation notes here:
http://wiki.php.net/rfc/closures/removal-of-this
2009-01-26 22:54:34 +00:00
Dmitry Stogov
666bf10d1a
Removed wrong warning message
2009-01-20 13:21:52 +00:00
Dmitry Stogov
8075f2e4b7
Fixed bug #47109 (Memory leak on $a->{"a"."b"} when $a is not an object)
2009-01-15 08:48:58 +00:00
Felipe Pena
23f7fa57fe
- MFH: Fixed bug #47054 (BC break in static functions called as dynamic)
2009-01-10 19:15:42 +00:00
Felipe Pena
f8689552a4
MFH:
...
- Fixed bug #46701 (Creating associative array with long values in the key fails on 32bit linux)
Patch by Shire
2009-01-05 20:31:54 +00:00
Marcus Boerger
41cc091141
- MFH Fix SEGV if get_method() returns a non bound function
2009-01-01 15:28:15 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Dmitry Stogov
7d4fd3fd38
Fixed bug #46409 (__invoke method called outside of object context when using array_map)
2008-11-27 19:01:23 +00:00
Etienne Kneuss
3919b16f04
MFH: Fix #46241 (stacked error_handlers, error_handling in general)
2008-11-19 02:00:53 +00:00
Stanislav Malyshev
3cd19b8ecb
fix memleak
2008-11-11 21:11:24 +00:00
Stanislav Malyshev
1b4134c07b
Namespace resolution streamlining patch
...
[DOC] new resolution rules should be documented soon
2008-11-11 19:45:29 +00:00
Felipe Pena
2f26deb0e0
- Fixed Windows build
2008-11-05 11:00:38 +00:00
Marcus Boerger
7126de4912
- Next step in namespaces, using / as namespace separator.
2008-11-04 15:58:55 +00:00
Felipe Pena
e68106988a
- MFH: Fixed bug #46238 (Segmentation fault on static call with empty string method)
2008-10-06 00:40:02 +00:00
Felipe Pena
85ab423565
- MFH: Removed some TSRMLS_FETCH()s
2008-08-15 19:47:33 +00:00
Etienne Kneuss
f90255c66b
MFH: Handlerify get_closure
2008-08-14 21:36:56 +00:00
Marcus Boerger
32f9d0e180
- MFH Improve exception linking
2008-08-14 10:24:52 +00:00
Dmitry Stogov
1ff61ab8a4
Fixed bug #45805 (Crach on throwing exception from error handler)
2008-08-13 07:21:30 +00:00
Marcus Boerger
3f7a4b7e90
- MFH error handling, now with save, replace, restore
2008-08-08 17:47:31 +00:00
Dmitry Stogov
478acfd8b4
. Added support for using static HEREDOCs to initialize static variables and class members or constants. (Matt)
...
. Improved syntax highlighting and consistency for variables in double-quoted strings and literal text in HEREDOCs and backticks. (Matt)
. Optimized interpolated strings to use one less opcode. (Matt)
2008-07-26 15:30:28 +00:00
Dmitry Stogov
4f81a0c358
Fixed crashes and memory leak for objects with NULL write_property/has_property/unset_property handlers
2008-07-26 14:08:11 +00:00
Dmitry Stogov
af05ce0af6
Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B"
2008-07-26 13:14:04 +00:00
Dmitry Stogov
44325e6473
Fixed bug #45178 (memory corruption on assignment result of "new" by reference)
2008-07-24 11:47:51 +00:00
Dmitry Stogov
feb8580166
LSB parent/self forwarding
2008-07-24 09:42:18 +00:00
Dmitry Stogov
0fa7fedfde
Fixed is_callable() to support closures and return appropriate function name
2008-07-14 12:18:23 +00:00
Dmitry Stogov
d5ef2f466c
Added support for lambda functions and closures
2008-07-14 09:49:03 +00:00
Dmitry Stogov
76a9a42ee2
- Removed direct executor recursion.
...
- Use fastcall calling convention in executor on x86.
2008-06-11 13:18:41 +00:00
Felipe Pena
cc23d3bade
- Fixed bug #45089 (__callStatic $name case sensitivity)
2008-06-03 18:11:12 +00:00
Dmitry Stogov
a6ec1850e0
MFH: small CSE optimizations
2008-05-16 14:34:31 +00:00
Dmitry Stogov
af1ed80274
Fixed bug #44952 (isset() does not checks correctly variable variable)
2008-05-12 09:09:05 +00:00
Dmitry Stogov
5521912b15
Use IS_CV for dirrent access to $this variable
2008-05-07 12:04:39 +00:00
Dmitry Stogov
10aa1146ab
Fixed possible memory leak
2008-05-06 16:59:38 +00:00
Dmitry Stogov
1b317f1526
- Use ZEND_FREE() opcode instead of ZEND_SWITCH_FREE(IS_TMP_VAR)
...
- Fixed bug #44913 (Segfault when using return in combination with nested loops
and continue 2)
2008-05-05 11:03:35 +00:00
Dmitry Stogov
3adf158d79
IS_CONST operands are always have is_ref==1 and refcount==2, so we can eliminate unnecessary checks at specialization/compilation stage
2008-04-30 10:44:08 +00:00
Dmitry Stogov
2ecf4bb0a7
Lazy EG(active_symbol_table) initialization
2008-04-29 08:15:20 +00:00
Dmitry Stogov
8fac72574d
Optimized handlers for ZEND_RECV and ZEND_RECV_INIT opocdes
2008-04-24 15:45:46 +00:00
Dmitry Stogov
e4213bedb8
Optimized function call helper
2008-04-21 10:14:20 +00:00
Dmitry Stogov
d9dd1b9e14
Optimized ZEND_RETURN opcode to not allocate and copy return value if it is not
...
used.
2008-04-11 09:43:28 +00:00
Felipe Pena
f66f55edc5
MFH: Implemented "jump label" operator (limited "goto")
...
[DOC]
2008-03-28 14:35:01 +00:00
Felipe Pena
2b10c53ae1
MFH: Dropped zend.ze1_compatibility_mode
...
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
8c885b8913
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);
}
2008-03-18 08:36:30 +00:00
Marcus Boerger
af316021e8
- Rewrite scanner to be based on re2c instead of flex
...
The full patch is available as:
http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
This is against php-re2c repository version 98
An older patch against version 97 is available under:
http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Dmitry Stogov
be8daf1f47
Optimized ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE into single ZEND_ADD_INTERFACE opcode
2008-03-12 10:32:12 +00:00
Dmitry Stogov
ab232458c7
Optimized require_once() and include_once() by eliminationg open() syscall on second usage.
2008-03-05 13:34:12 +00:00
Dmitry Stogov
430e54d457
Fixed shared memory corruption of opcode caches
2008-03-04 11:43:51 +00:00
Dmitry Stogov
8365e71cb9
Fixed wrong result of cascading assignment to string offset
...
Fixed memory corruption on cascading assignment of IS_TMP_VAR into string offset
Fixed opcode caches shared memory corruption on cascading assignment of IS_CONST
into string offset
2008-03-04 10:06:52 +00:00
Marcus Boerger
d3e5026564
- MFH Add E_DEPRECATED (Lars Strojny, Felipe Pena, Marcus)
...
[DOC] Finally added deprecation messages
2008-02-23 17:06:22 +00:00
Dmitry Stogov
8c32f99c25
Fixed bug #44184 (Double free of loop-variable on exception)
2008-02-20 12:05:57 +00:00
Hannes Magnusson
86c9b5e46c
Fix segfaults when calling "ctors statically"
2008-02-11 15:46:10 +00:00
Marcus Boerger
da5b979f88
- MFH Add comment that explains why we need E_ERROR in those cases
2008-02-02 15:48:04 +00:00
Marcus Boerger
95a3cccf5f
- Fix flag handling in message generation
2008-02-02 13:56:59 +00:00
Dmitry Stogov
d90ebc65a6
Fixed comilation warnings
2008-01-24 18:07:45 +00:00
Dmitry Stogov
0b6825102d
Changed EG(argument_stack) implementation.
2008-01-24 09:41:39 +00:00
Dmitry Stogov
07000cc2ba
Fixed error message
2008-01-24 08:51:38 +00:00
Dmitry Stogov
0095544c4d
Additional executor specialization
2008-01-23 17:55:55 +00:00
Dmitry Stogov
71592cec06
Added garbage collector
2008-01-22 09:27:48 +00:00
Dmitry Stogov
48379d53e6
Eliminate unnecessary checks for INC/DEC IS_CV
2008-01-21 14:22:59 +00:00
Dmitry Stogov
6be997dca9
Fixed unspecialized executor
2008-01-11 10:08:49 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
f817a1ce6a
executor optimization
2007-12-14 14:14:50 +00:00
Dmitry Stogov
6484b3c458
Fixed bug #43344 (Wrong error message for undefined namespace constant)
2007-12-07 17:11:24 +00:00
Dmitry Stogov
ea0a1c09e9
Speed-up of ZEND_DO_FCALL and ZEND_INIT_FCALL_BY_NAME by lowercasing and calculating hash values at compile time.
2007-11-22 09:02:55 +00:00
Dmitry Stogov
e0ae3d22c1
Safe exit from executor()
2007-11-21 12:28:13 +00:00
Johannes Schlüter
45f6b4ce2f
- MFH Improved version of ternary shortcut (Marcus)
2007-11-21 09:41:35 +00:00
Dmitry Stogov
a29a9d5a42
Optimization of zend_do_fcall_common_helper()
2007-11-20 13:53:08 +00:00
Dmitry Stogov
c3ab6bd091
Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead)
2007-11-20 09:51:12 +00:00
Dmitry Stogov
52f25f6132
Fixed bug #43175 (__destruct() throwing an exception with __call() causes segfault)
2007-11-06 14:56:14 +00:00
Dmitry Stogov
22db451fdd
Fixed bug #43201 (Crash on using unitialized vals and __get/__set)
2007-11-06 14:11:59 +00:00
Antony Dovgal
0d74798914
fix bug37251.phpt failure (two error messages instead of one)
...
should I merge this to 5_2?
2007-11-02 18:05:55 +00:00
Dmitry Stogov
1530fe99c8
Fixed variations of bug #35163
2007-10-23 12:52:40 +00:00
Dmitry Stogov
b599e434ad
Fixed bug #35163 (Array elements can lose references)
2007-10-23 09:55:11 +00:00
Yiduo (David) Wang
4b4d634cb9
MFH: Added macros for managing zval refcounts and is_ref statuses
2007-10-07 05:22:07 +00:00
Ilia Alshanetsky
4c619a3f5f
Fixed bug #42817 (clone() on a non-object does not result in a fatal error)
2007-10-04 23:19:20 +00:00
Dmitry Stogov
68055015eb
Fixed bug #42818 ($foo = clone(array()); leaks memory)
2007-10-03 09:47:45 +00:00
Dmitry Stogov
1491992f76
Fixed bug #42772 (Storing $this in a static var fails while handling a cast to string)
2007-10-03 08:02:36 +00:00
Dmitry Stogov
69edb0131a
ws
2007-10-03 06:49:15 +00:00
Dmitry Stogov
9aee9e0417
Fixed access to freed memory in tests/classes/__call_001.phpt
2007-10-02 08:47:22 +00:00
Dmitry Stogov
220641af70
Fixed bug #42819 (namespaces in indexes of constant arrays)
2007-10-02 08:26:50 +00:00
Dmitry Stogov
41e9b6b61c
Fixed bug #42802 (Namespace not supported in typehints)
2007-10-01 10:37:14 +00:00
Dmitry Stogov
72d0454bf6
Added support for __callstatic() magic method (missing part). (Sara)
2007-09-29 09:34:24 +00:00
Dmitry Stogov
c560a96848
Removed commented code
2007-09-29 08:29:56 +00:00
Dmitry Stogov
166266df68
Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
2007-09-29 07:28:34 +00:00
Dmitry Stogov
f32ffe9b43
Namespaces
2007-09-28 19:52:53 +00:00
Jani Taskinen
338a12a018
MFH: Nuked unnecessary TSRMLS_FETCH() call
2007-09-27 16:55:25 +00:00
Jani Taskinen
82626c1868
MFH: - Fixed the rest of bug #41561 ( @ operator not working )
2007-09-07 09:37:38 +00:00
Dmitry Stogov
e13b4c2c4e
Fixed bug #40705 (Iterating within function moves original array pointer)
...
Fixed bug #40509 (key() function changed behaviour if global array is used within function)
2007-07-24 19:24:40 +00:00
Dmitry Stogov
28bc39500a
Fixed some class constant issues related to bug #41633
2007-06-13 14:50:13 +00:00
Dmitry Stogov
80d2409fd8
Improved compilation of heredocs and interpolated strings. (Matt, Dmitry)
2007-05-18 13:12:05 +00:00
Dmitry Stogov
d2fe65c191
Fixed bug #39542 (Behaviour of require/include different to < 5.2.0)
2007-05-11 08:02:43 +00:00
Dmitry Stogov
e1814f0dbe
WIN64 support
2007-04-16 08:09:56 +00:00
Ilia Alshanetsky
d9adb6715f
Fixed foreach by-ref bug.
...
# Patch from Brian Shire
2007-04-05 23:48:43 +00:00
Dmitry Stogov
b0a875104e
Fixed bug #40833 (Crash when using unset() on an ArrayAccess object retrieved via __get())
2007-03-19 18:31:30 +00:00
Stanislav Malyshev
8779d1cdd3
fix crash on $x['x']['y'] += 1, patch by Brian Shire
2007-03-08 20:59:31 +00:00
Dmitry Stogov
c373324692
Fixed bug #40591 (list()="string"; gives invalid opcode)
2007-02-25 16:02:43 +00:00
Antony Dovgal
e058ba92f9
MFH: fix #40621 (Crash when constructor called inappropriately (statically))
2007-02-24 21:30:48 +00:00
Dmitry Stogov
44297ddea8
Removed dead code
2007-02-01 16:23:28 +00:00
Dmitry Stogov
e470e22e20
- Fixed bug #35106 (nested foreach fails when array variable has a reference).
...
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
2007-01-10 15:58:08 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Dmitry Stogov
4480c5eb5d
Fixed bug #39825 (foreach produces memory error)
2006-12-25 19:23:03 +00:00
Dmitry Stogov
e57a60698b
Fixed bug #39944 (References broken)
2006-12-25 14:16:27 +00:00
Dmitry Stogov
7ff822ee49
Fixed bug #39304 (Segmentation fault with list unpacking of string offset)
2006-10-30 11:05:00 +00:00
Dmitry Stogov
9875fe44e2
Fixed bug #39017 (foreach(($obj = new myClass) as $v); echo $obj; segfaults)
2006-10-03 09:05:14 +00:00
Dmitry Stogov
9dcdfd993f
Fixed memory leak (Nuno)
2006-10-03 07:30:46 +00:00
Dmitry Stogov
c3272ab020
Fixed bug #38808 ("maybe ref" issue for current() and others)
2006-09-26 10:30:51 +00:00
Dmitry Stogov
cd6537ed6d
Fixed bugs #34065 and #38623 (throw in foreach/switch causes memory leaks)
2006-09-19 21:36:54 +00:00
Dmitry Stogov
8982cc0472
Small optimization of ZEND_INIT_ARRAY/ZEND_ADD_ARRAY_ELEMENT. (Nuno, Dmitry)
2006-09-18 14:23:52 +00:00
Dmitry Stogov
afb8af1f5f
Reverted last Ilia's patch (for bug #38579 ).
...
The patch didn't fix the bug and made new one.
2006-09-06 06:37:42 +00:00
Ilia Alshanetsky
229137cad4
Fixed bug #38579 require_once/include_once optimization causes files to be
...
loaded multiple times.
2006-09-05 15:50:07 +00:00
Dmitry Stogov
87eaaf494b
Removed unreachable handlers
2006-09-04 13:58:54 +00:00
Marcus Boerger
05206b42d8
- Speling
2006-08-08 00:40:19 +00:00
Marcus Boerger
c1c2a0d294
- MFH Fixed Bug #38064 ignored constructor visibility
2006-08-07 23:24:33 +00:00
Dmitry Stogov
f5543a428d
Fixed bug #38287 (static variables mess up global vars)
2006-08-07 15:15:22 +00:00
Antony Dovgal
bc8f1bc4f0
make it consistent
2006-08-03 10:57:41 +00:00
Antony Dovgal
c173c26b64
MFH: improve error message
2006-08-03 10:53:15 +00:00
Dmitry Stogov
a98e5c674f
Fixed bug #38234 (Exception in __clone makes memory leak)
2006-07-27 10:44:03 +00:00
Dmitry Stogov
e447baafa1
Fixed bug #38211 (variable name and cookie name match breaks script execution)
2006-07-26 09:24:26 +00:00
Marcus Boerger
519ed8e13b
- Better fix for #34505 and related, drop zend_unmangle_property_name_ex()
2006-07-24 17:58:32 +00:00
Dmitry Stogov
9a98904ddd
Fixed wrong "type" argument to read_property() handler
2006-07-21 08:39:30 +00:00
Dmitry Stogov
f7c99da2fe
Fixed bug #37144 (PHP crashes trying to assign into property of dead object)
2006-07-19 09:55:19 +00:00
Antony Dovgal
a9469060e5
MFH: init variables and get rid of annoying warnings
2006-07-12 21:17:30 +00:00
Dmitry Stogov
631a00a0a0
Fixed memory leak in case of exception in iterator callbacks in 'foreach(new Iterator()...' (spl/tests/iterator_047.phpt).
2006-07-11 08:52:28 +00:00
Sara Golemon
86bbbbdce4
MFH (def.h rev:1.121, execute.h rev:1.120)
...
Silence FETCH_OBJ_IS / undefined notices
2006-07-06 15:32:07 +00:00