Reeze Xia
bff4c47fa7
Implemented internal function return types
2015-02-05 01:04:54 +08:00
Levi Morrison
c8576c5a46
Implement return types
...
RFC is documented here: https://wiki.php.net/rfc/return_types
2015-01-27 11:49:56 -07:00
Dmitry Stogov
061c0ed9ee
Fixed double free and cleanup
2015-01-22 12:59:53 +03:00
Dmitry Stogov
3e31838d19
zend_read_property() has to provide a holder for return value.
...
Previously it was possible that zend_read_property() returned pointer to zval allocated on stack.
2015-01-22 11:50:42 +03:00
Xinchen Hui
6f67d5ad6e
Unused parse_arg_object_to_string
2015-01-20 12:02:54 +08:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
2193de0d18
Faster sorting algo
2015-01-14 18:02:41 +08:00
Dmitry Stogov
7e93de101f
Handle run-time cache for static properties directly in executor.
...
Removed cache_slot argument in zend_std_get_static_property() and zend_std_unset_static_property().
2015-01-13 09:33:15 +03:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Xinchen Hui
84f2311bc9
Fixed #68779 (Incorrect sizeof)
2015-01-10 10:58:22 -05:00
Andrea Faulds
41e3fdba8e
Make zend_parse_parameters share fast zpp implementation where possible
...
Rename shared implementation functions and build them unconditionally
Don't fail on empty path for zend_parse_arg_path
Update type names
Fix behaviour of by-reference "z"
Make 'o' use zend_parse_arg_object
Fix NULL string check in zend_parse_arg_path(_str)
2014-12-29 12:28:28 +00:00
Dmitry Stogov
f2c2acb9a9
For disabled function, to disable arguments checks, we have to reset num_args and some related flags (in addition to arg_info)
2014-12-24 15:34:52 +03:00
Dmitry Stogov
c42ac09518
Added new API function 'zend_string* zend_string_tolower(zend_string*)'.
...
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
2014-12-24 15:04:51 +03:00
Dmitry Stogov
2646f7bcb9
Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code.
2014-12-22 16:44:39 +03:00
Andrea Faulds
e5eb9530ab
Use "float" and "integer" in typehint and zpp errors
2014-12-21 13:23:02 +00:00
Anatol Belski
61f90fbe0b
Merge remote-tracking branch 'origin/master' into native-tls
...
* origin/master:
Save 8 bytes on 64 bits
Conflicts:
Zend/zend_API.c
2014-12-15 07:13:09 +01:00
Xinchen Hui
8f177fde90
Save 8 bytes on 64 bits
2014-12-15 00:43:28 -05:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Andrea Faulds
0ea0b591d7
Merge branch 'zppFailOnOverflow'
...
* zppFailOnOverflow:
Fix MySQLi tests
Fixed gd test
Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()
Fixed copy-and-paste error
Fix more 32-bit tests
Skip buncha tests on 32-bit
skip simplexml
skip posix 32-bit
skip tests on 32-bit
Fixes simplexml test
Fixes posix tests
Fixes iconv tests
Marked tests as 32-bit
Fixed more 32-bit tests
Fixed some 32-bit tests
Mark said ext/date tests as 32-bit only
Fixed ext/date tests broken by zpp error on overflow
Fixed broken tests
Make zpp fail if NaN passed for int, or out-of-range float for non-capping int
Conflicts:
ext/date/tests/getdate_variation7.phpt
ext/date/tests/localtime_variation3.phpt
2014-12-13 18:38:15 +00:00
Dmitry Stogov
3893c1fc3d
Fixed compilation warnings
2014-12-12 21:57:34 +03:00
Michael Wallner
f0a17c293b
Fix zend_fcall_info_arg*() to use ZVAL_COPY
...
As zend_fcall_info_args_clear() calls zval_ptr_dtor() we also have
to increase the refcount of refcounted zvals added as params,
like it is already done in zend_fcall_info_args_ex().
2014-12-04 13:02:30 +01:00
Dmitry Stogov
5dd427eac2
Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.
2014-12-03 16:56:09 +03:00
Andrea Faulds
f90b877f41
Refactor ZEND_LONG_MAX/MIN checks into ZEND_DOUBLE_FITS_LONG()
2014-11-29 02:13:20 +00:00
Andrea Faulds
01554bf3e4
Merge branch 'master' into zppFailOnOverflow
2014-11-29 01:45:54 +00:00
Dmitry Stogov
dcfe58773e
Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().
2014-11-28 11:11:33 +03:00
Dmitry Stogov
11384ba77b
Pack EX(num_args) into EX(This).u2.num_args
2014-11-28 10:28:49 +03:00
Andrea Faulds
d22f3b18ea
Merge branch 'master' into zppFailOnOverflow
2014-11-08 18:28:43 +00:00
Dmitry Stogov
75041379a6
Improved object property access.
2014-11-06 14:50:03 +03:00
Andrea Faulds
71566b994f
Merge branch 'master' into zppFailOnOverflow
2014-11-01 22:49:53 +00:00
Xinchen Hui
ccb09eb352
Merge branch 'PHP-5.6'
...
Conflicts:
Zend/zend_API.c
2014-10-31 17:37:56 +08:00
Xinchen Hui
d9d181e5ad
Fixed Bug #68104 (Segfault while pre-evaluating a disabled function)
2014-10-31 17:32:23 +08:00
Anatol Belski
f7d3355e75
fix datatype mismatches
...
and convert len args to size_t where the underlaying API uses zend_string
2014-10-24 20:50:06 +02:00
Anatol Belski
ca46bd04b1
fix datatype mismatch warnings
2014-10-24 20:50:04 +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
7471c21781
Optimized property access handlers. Removed EG(std_property_info).
2014-10-17 19:10:05 +04: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
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
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
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
Dmitry Stogov
bd9a234645
Replaced EG(This) and EX(object) with EX(This).
...
Internal functions now recieves zend_execute_data as the first argument.
2014-10-03 19:32:46 +04:00
Xinchen Hui
f248b17e07
Fixed segfault
2014-09-29 12:06:56 +08:00
Andrea Faulds
bb55397bab
Make zpp fail if NaN passed for int, or out-of-range float for non-capping int
2014-09-22 17:06:16 +01:00
Nikita Popov
c343ca4efb
Split inheritance into separate file
...
This moves handling of inheritance and interface implementation
from zend_compile.c into a separate zend_inheritance.c file, as
this is not really related to compilation.
2014-09-19 19:54:37 +02:00
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Anatol Belski
d3622c2445
fix signed/unsigned mismatch
2014-09-15 12:58:42 +02:00
Nikita Popov
ebc6da5628
zend_get_property_info takes a zend_string* now
2014-09-14 16:18:08 +02:00
Nikita Popov
88e07324d9
Drop dead assignments
2014-09-13 22:31:21 +02:00
Anatol Belski
d6faac2cb2
make array/object APIs accept large strings as values of elements/props
2014-08-28 19:17:47 +02:00