Anthony Ferrara
8be4266f6a
Clean up API renames for zend_wrong_param_count to maintain BC, introducing a zend_wrong_param_count_ex() function when you know strict value
2015-03-18 15:42:49 -04:00
Anthony Ferrara
7feebead1b
Refactor error implementation significantly to centralize error mode behavior. Add zend_internal_type_error() function
2015-03-18 12:23:09 -04:00
Anthony Ferrara
d22bfb8aa6
Merge in master, fix merge conflicts and update patch to support exceptions everywhere
2015-03-18 10:50:11 -04:00
Stanislav Malyshev
69d183dd19
Merge branch 'pull-request/1049'
...
* pull-request/1049:
Rename __callstatic (internal name) to __callStatic (userland name) in error message
2015-03-08 17:57:47 -07:00
Dmitry Stogov
ff039c3c6d
Merge commit 'refs/pull/1066/head' of git://github.com/php/php-src
...
* git://github.com/php/php-src:
Add zend assert deleted by accident
Let's keep it simple
Improve internal function return types checking for parent
2015-03-04 18:17:06 +03:00
Xinchen Hui
aa63449b6e
Remove wrong commit committed by accident
2015-03-03 18:29:26 +08:00
Xinchen Hui
7ad6711a4d
Fixed bug #69167 (call_user_func does not support references anymore)
2015-03-03 18:11:56 +08:00
Anthony Ferrara
dc35868a77
Merge branch 'master' into scalar_type_hints_v5
2015-02-20 13:33:35 -05:00
Dmitry Stogov
5f76eed14e
don't count op_arrays stored in opcache SHM
2015-02-20 14:59:30 +03:00
Anthony Ferrara
9109e48749
Merge in master
2015-02-18 10:35:39 -05:00
Guilherme Blanco
8c81d80e10
Made ZEND_ACC_TRAIT a saner value
...
CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
2015-02-12 23:20:19 +01:00
Anatol Belski
07fdc1c78b
fix data types
2015-02-12 18:39:40 +01:00
Andrea Faulds
86b0685f55
Prefix zend_wrong_param_count with _ to discourage use
2015-02-10 15:48:07 +00:00
Andrea Faulds
fe663cc404
Partial ZPP strictness implementation
2015-02-10 15:48:06 +00:00
Andrea Faulds
1a28ad036e
Forbid scalar type hint names for use, class_alias
2015-02-10 15:48:05 +00:00
Andrea Faulds
c3c0f531a2
Scalar type hints with ZPP casting rules
2015-02-10 15:48:04 +00:00
Reeze Xia
49073fcf38
Add zend assert deleted by accident
2015-02-07 19:45:22 +08:00
Reeze Xia
61239e1e8b
Let's keep it simple
2015-02-07 19:43:00 +08:00
Reeze Xia
d9c28c5581
Improve internal function return types checking for parent
...
Previously the checking was against 'self', 'parent' need
to be checked as user land declearation as well.
This also add two missing test cases.
2015-02-07 14:19:56 +08:00
Dmitry Stogov
f5a9cfc33a
Merge branch 'internal-function-return-types' of github.com:reeze/php-src into test
...
* 'internal-function-return-types' of github.com:reeze/php-src:
Add load time return type checking to match user land logic
Add test function arguments
Implemented internal function return types
2015-02-05 11:01:07 +03:00
Reeze Xia
601fcc31af
Add load time return type checking to match user land logic
2015-02-05 11:22:11 +08:00
Reeze Xia
bff4c47fa7
Implemented internal function return types
2015-02-05 01:04:54 +08:00
Dmitry Stogov
9e70d7672d
Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.
2015-02-04 15:24:13 +03:00
Dejan Marjanovic
836dcb1da7
Rename __callstatic (internal name) to __callStatic (userland name) in error message
2015-02-03 17:04:52 +01: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
0579e8278d
bump year
2015-01-15 23:26:37 +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
Anatol Belski
3234480827
first show to make 's' work with size_t
2014-08-27 20:49:31 +02:00
Nikita Popov
46b53e815c
Add zend_string_equals and zend_string_equals_literal
2014-08-25 22:40:58 +02:00
Anatol Belski
af59e92b24
master renames phase 7
2014-08-25 21:51:49 +02:00
Anatol Belski
4d997f63d9
master renames phase 3
2014-08-25 20:22:49 +02:00
Anatol Belski
6f9f0bf205
master renames phase 2
2014-08-25 19:28:33 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Anatol Belski
70de6180d5
fixes to %pd format usage
2014-08-24 02:35:34 +02:00
Anatol Belski
21a45d9aca
Merge remote-tracking branch 'php/master'
2014-08-21 15:55:56 +02:00
Dmitry Stogov
b9a5db2b55
Fixed incorrect string length
2014-08-21 17:30:34 +04:00
Anatol Belski
cd18b5884b
Merge remote-tracking branch 'php/master'
2014-08-20 23:27:26 +02:00
Dmitry Stogov
8cda420ff4
Fixed ext/pdo_*/tests/pdo_005.phpt tests failure
2014-08-20 23:28:32 +04:00
Anatol Belski
90d6f60bc1
mostly fixes to spl, but also some other
2014-08-17 13:31:39 +02:00
Anatol Belski
864172d9a4
further fixes to ext/standard and zend
2014-08-16 17:31:40 +02:00
Anatol Belski
1169de3e61
fix some cases with fast zpp
2014-08-16 14:00:02 +02:00
Anatol Belski
b7e7a89541
several fixes -
...
- param parsing Z_PARAM_STR vs Z_PARAM_STRING
- some functions for new params
- etc
2014-08-16 12:55:13 +02:00
Anatol Belski
cb25136f4e
fix macros in the 5 basic extensions
2014-08-16 11:37:14 +02:00
Anatol Belski
8ee2a4a9b5
first shot on merging the core fro the int64 branch
2014-08-16 11:16:11 +02:00
krakjoe
dc70139d85
update zend_make_printable_zval to take TSRM context
2014-08-11 06:09:46 +01:00
Dmitry Stogov
42c4bcaed1
Fixed ZTS build
2014-07-14 14:25:04 +04:00
Dmitry Stogov
27f38798a1
Fast parameter parsing API
...
This API is experemental. It may be changed or removed.
It should be used only for really often used functions.
(Keep the original parsing code and wrap usage with #ifndef FAST_ZPP)
2014-07-11 16:32:20 +04:00
Dmitry Stogov
9d6e45a0ee
Changed zend_make_printable_zval() to return "use_copy" instead of additional reference argument.
...
Improved branch prediction.
2014-07-09 16:05:55 +04:00
Dmitry Stogov
2ed8a17045
Refactored run_time_cache usage in object handlers
2014-07-07 20:54:31 +04:00
Dmitry Stogov
c4d99ec982
Removed EG(called_scope) and use corresponding value from EG(current_execute_data)
2014-07-03 02:34:43 +04:00
Dmitry Stogov
0a77dcd4b9
Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
2014-07-03 01:02:25 +04:00
Dmitry Stogov
63c057e331
Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)
2014-07-02 23:29:53 +04:00
Dmitry Stogov
4b09dd69e6
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
2014-07-02 22:03:21 +04:00