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