1
0
mirror of https://github.com/php/php-src.git synced 2026-04-03 14:12:38 +02:00
Commit Graph

9492 Commits

Author SHA1 Message Date
Dmitry Stogov
6e396961c5 Fixed "instanceof" with undefined classes 2014-10-23 14:50:57 +04:00
Anatol Belski
88ca46d92b fix datatype mismatches 2014-10-23 11:45:44 +02:00
Anatol Belski
e70dce7d99 fix datatype mismatch 2014-10-23 10:29:57 +02:00
Anatol Belski
53797ec1c9 move the more common case up 2014-10-23 10:29:56 +02:00
Anatol Belski
f227922446 move key lengths to use size_t as zend_string is used internally anyway 2014-10-23 10:29:54 +02:00
Dmitry Stogov
4fd435abab Embed FETCH_CLASS <string> into the following NEW 2014-10-23 11:52:34 +04:00
Dmitry Stogov
8793aa407e Optimized HashTable size calculation 2014-10-23 00:26:32 +04:00
Dmitry Stogov
8dedd863bc Get rid of ZEND_FETCH_MAKE_REF 2014-10-22 21:45:02 +04:00
Anatol Belski
d5ccf4d276 eliminate one branch when computing the initial table size 2014-10-22 19:23:29 +02:00
Anatol Belski
a5e4f1f598 fix several datatype mismatches 2014-10-22 17:56:30 +02:00
Anatol Belski
f59daf2104 micro optimized initial hash size calculation
most of the calls are with a size <= 8, so don't even bother any
bitshifts. For the bigger sizes, use an intrinsic (should be extended
with gcc ones though).
2014-10-22 17:56:24 +02:00
Anatol Belski
5e24ae321d all the key_len use uint, fix the warning when using strlen on 64 bit 2014-10-22 17:56:22 +02:00
Anatol Belski
944d2c65e1 fix datatype mismatches 2014-10-22 17:56:19 +02:00
Anatol Belski
7959e3faf2 fix datatype mismatches for strings from userspace 2014-10-22 17:56:17 +02:00
Dmitry Stogov
534d854fb2 Embed FETCH_CLASS <string> into the following INSTANCEOF 2014-10-22 17:23:43 +04:00
Dmitry Stogov
779ca61e32 Don't use opline->extended_value for FETCH_CLASS flags where it's unnecessary 2014-10-22 17:22:21 +04:00
Dmitry Stogov
36fa572aaa ZEND_RECV didn't really use opline->extended_value for FETCH_CLASS flags 2014-10-22 15:22:30 +04:00
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