Xinchen Hui
c584798b05
Useless assignment
2014-10-22 17:30:19 +08:00
Dmitry Stogov
fe8577efb1
Optimized ASSIGN_DIM and related opcodes
2014-10-21 19:30:43 +04:00
Dmitry Stogov
33645f4f55
micro optimization
2014-10-21 16:18:06 +04:00
Dmitry Stogov
5d9792de9a
Avoid "goto"
2014-10-21 11:43:13 +04:00
Dmitry Stogov
089f496799
Moved proxy object support in ASSIGN_ADD (and family) from VM to slow paths of corresponding operators
2014-10-21 03:24:20 +04:00
Dmitry Stogov
ae127faf5b
Simplification
2014-10-21 00:56:48 +04:00
Dmitry Stogov
8e1dc33db5
zend_get_property_info_quick() cleanup and optimization
2014-10-20 20:33:35 +04:00
Dmitry Stogov
0e270661a4
Use ADDREF instead of DUP, it must be enough.
2014-10-20 13:55:55 +04:00
Dmitry Stogov
1480d26fb9
fixed compilation error
2014-10-20 12:51:02 +04:00
Nikita Popov
4b892439e6
Fix bug #68262 : Broken reference across cloned objects
2014-10-19 13:22:44 +02:00
Dmitry Stogov
7471c21781
Optimized property access handlers. Removed EG(std_property_info).
2014-10-17 19:10:05 +04:00
Dmitry Stogov
f2fa7a41cf
Don't make difference between undefined and unaccessible properies when call __get() and family
2014-10-17 15:01:54 +04:00
Dmitry Stogov
6b203aa262
Don't make useless CSE
2014-10-17 15:00:54 +04:00
Dmitry Stogov
176b8d7ca3
Micro optimizations for isset/empty
2014-10-17 00:17:13 +04:00
Dmitry Stogov
2a1250fa57
Micro optimization for zend_hash_next_index_insert_new()
2014-10-16 19:19:10 +04:00
Nikita Popov
cf5920e8aa
Fix procedural finfo calls in methods
...
getThis() will return the $this of the calling method.
2014-10-16 14:24:23 +02:00
Nikita Popov
53a8584123
Fix allocator for 64bit zend_long with 32bit long
2014-10-16 12:42:23 +02:00
Nikita Popov
876965d20a
Use intptr_t for zend_intptr_t typedef
...
Current code doesn't work for 64bit zend_long with 32bit pointers.
If intptr_t isn't defined on some platform, we should add it to
our php_stdint.h header.
2014-10-16 12:42:23 +02:00
Nikita Popov
b65518faf3
Fix format strings in zend_alloc
2014-10-16 12:42:22 +02:00
Nikita Popov
2a9daf2e15
Drop zend_long64 in favor of int64_t
...
Also drop ZEND_HAVE_LONG64, because we already require the
presence of a int64_t type.
2014-10-16 12:42:22 +02:00
Dmitry Stogov
9527877930
Removed deprecated fields
2014-10-16 13:41:27 +04:00
Dmitry Stogov
ed18d67c5e
Fixed bug #68215 (Behavior of foreach has changed)
2014-10-15 17:02:54 +04:00
Dmitry Stogov
d2daa19701
Added API function to retrive current custom heap handlers
2014-10-14 14:20:25 +04:00
Dmitry Stogov
2842766d7f
Allow to substitute storage layer in memory manager.
2014-10-14 09:41:16 +04:00
Anatol Belski
66e47446e4
fix signed/unsigned mismatch warning
2014-10-13 18:43:13 +02:00
Anatol Belski
b2de68a81f
more signed/unsigned mismatch fix
2014-10-13 18:43:12 +02:00
Anatol Belski
84477c7c39
fix some signed/unsigned mismatch
2014-10-13 18:43:09 +02:00
Nikita Popov
5d94ba6ec3
More fixes for array/object casts with temporary variables
2014-10-13 15:31:59 +02:00
Nikita Popov
e62edf2e58
Fix array/object cast of refcounted tmp var
2014-10-13 15:31:59 +02:00
Nikita Popov
2622cfc2fb
Deref right value for compound assign ops
...
Currently we do not support IS_REFERENCE operands for most of our
*_function's (should we?), so we need to deref here.
2014-10-13 15:31:59 +02:00
Nikita Popov
0b09ba84b9
Ensure __LINE__ is always accurate
2014-10-12 20:55:52 +02:00
Nikita Popov
b7e139a59c
Fix incdec of referenced properties
...
I thought these SEPARATE_ZVAL_IF_NOT_REF usages were safe at first,
because incdec op supports reference variables. However this
violates the constraint that IS_TMP_VAR variables may not be
references (which is an issue if you use the result of the incdec
op).
Still need to fix the cases where read_property/write_property is
used.
2014-10-12 20:55:52 +02:00
Anatol Belski
8a55159258
Merge branch 'PHP-5.6'
...
* PHP-5.6:
DLL export several APIs needed for phpdbg
2014-10-12 19:22:40 +02:00
Anatol Belski
c96a6b4493
DLL export several APIs needed for phpdbg
2014-10-12 19:22:03 +02:00
Anatol Belski
e33e4b2d8c
int to size_t where the underlaying API supports it
2014-10-10 19:00:20 +02:00
Dmitry Stogov
af3354dc43
Improved specialisation $this variable accessed through IS_UNUSED operand must be IS_OBJECT, so we don't have to check for its type or perform dereference.
2014-10-10 16:36:12 +04:00
Dmitry Stogov
2c434470a6
Help to CPU branch predictor
2014-10-09 23:58:41 +04:00
Dmitry Stogov
cbe4fa444f
Removed unused EG(orig_error_reporting)
2014-10-09 23:38:39 +04:00
Nikita Popov
df79b9b27a
Update get_class_name semantics
...
* get_class_name is now only used for displaying the class name
in debugging functions like var_dump, print_r, etc. It is no
longer used in get_class() etc.
* As it is no longer used in get_parent_class() the parent
argument is now gone. This also fixes incorrect parent classes
being reported in COM.
* get_class_name is now always required (previously some places
made it optional and some required it) and is also required
to return a non-NULL value.
* Remove zend_get_object_classname. This also fixes a number of
potential leaks due to incorrect usage of this function.
2014-10-09 20:48:27 +02:00
Nikita Popov
c061c82945
Remove Z_OBJ_CLASS_NAME_P
...
Doesn't make much sense anymore, now that get_class_entry is
gone.
2014-10-09 20:48:27 +02:00
Dmitry Stogov
0390cde428
Improved VM stack primitives for fast paths. Slow paths are not inlined anymore.
2014-10-09 20:29:02 +04:00
Nikita Popov
e5e9d8346f
Remove zend_get_class_entry function
2014-10-09 14:17:30 +02:00
Nikita Popov
b3a779de68
Remove get_class_entry object handler
2014-10-09 14:08:10 +02:00
Nikita Popov
116c5ecda1
Remove proxy object implementation
2014-10-09 14:01:08 +02:00
Nikita Popov
ee5b30fa19
Remove support for classes without class entries
...
get_class_entry must be non-NULL and return non-NULL.
2014-10-09 13:58:14 +02:00
Nikita Popov
43f1c94dda
Review a few more SEPARATE_ZVAL_IF_NOT_REF usages
2014-10-09 12:51:05 +02:00
Nikita Popov
e919caca86
Fix bug #68191 : Broken reference across objects
2014-10-09 12:05:56 +02:00
Dmitry Stogov
7fd3375fb5
Exposed zend_clean_and_cache_symbol_table() and fixed incorrect efree()
2014-10-08 16:08:26 +04:00
Dmitry Stogov
fe501914f0
Micro optimization
2014-10-07 23:48:55 +04:00
Dmitry Stogov
2ea97c6f5a
Improved return by reference handling
2014-10-07 22:38:37 +04:00