Stanislav Malyshev
ef8bb69a14
Ban rebinding closures to different internal classes
2015-05-12 10:54:59 +02:00
Nikita Popov
bc2ff4a299
Don't implicitly make closures in static methods static
...
It makes no sense that you can't write a closure using $this in a
static method, even though you can write one outside a class.
Now only closures that have been marked as static will be considered
to be static.
Fixes bug #65598 .
2015-05-06 17:29:05 +02:00
Nikita Popov
d9c2959c27
Fix LSB handling for closures
...
Closures will now use the called_scope from their instantiation
site. If they are rebound either the class of $this is used or if
no $this is provided the bound scope is used.
With this change the scope for static closures can be changed back
to use EG(scope) rather than EX(called_scope), thus fixing
bug #69568 .
2015-05-05 21:14:03 +02:00
Dmitry Stogov
fc80305e48
Cleanup comments and add related tests.
2015-04-23 17:52:05 +03:00
Nikita Popov
018bcc6388
Use temporary debug_info for closures
2015-04-16 15:33:47 +02:00
Dmitry Stogov
1d75953a86
We don't need this protection anymore (now reference counting on closures is accurate).
2015-04-01 13:38:05 +03:00
Dmitry Stogov
acfc31c0f8
Use zend_error_noreturn() for fatal errors
2015-04-01 13:32:23 +03:00
Dmitry Stogov
ed9c8a23ba
More accurate reference counting on closures
2015-03-10 23:04:41 +03:00
Dmitry Stogov
a30d328671
Errors converted to exceptions are not "recoverable" anymore.
2015-03-10 10:31:55 +03:00
Dmitry Stogov
1c94ff0595
Implement engine exceptions
...
RFC: https://wiki.php.net/rfc/engine_exceptions_for_php7
Pending changes regarding naming of BaseException and whether it
should be an interface.
2015-03-09 14:01:32 +01:00
Xinchen Hui
f25419f8e3
Only do this in debug build
2015-02-21 22:44:51 +08:00
Xinchen Hui
865a719a3f
Fixed mem issue with internal return type hinting assert
2015-02-21 22:17:17 +08:00
Dmitry Stogov
5f76eed14e
don't count op_arrays stored in opcache SHM
2015-02-20 14:59:30 +03:00
Dmitry Stogov
e10e151e9b
Merged zend_array and HashTable into the single data structure.
...
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
2015-02-13 22:20:39 +03:00
Stanislav Malyshev
b64cafdb9e
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Added test and possible fix for https://bugs.php.net/bug.php?id=67068
2015-01-31 23:17:24 -08:00
Danack
dbc0a80b23
Added test and possible fix for https://bugs.php.net/bug.php?id=67068
2015-01-31 23:13:55 -08:00
Stanislav Malyshev
e8e0481755
Merge branch 'pull-request/994'
...
* pull-request/994:
Added test and possible fix for https://bugs.php.net/bug.php?id=67068
2015-01-31 23:12:00 -08:00
Dmitry Stogov
638d0cb753
Merge branch 'typed_returns' of github.com:morrisonlevi/php-src into test
...
* 'typed_returns' of github.com:morrisonlevi/php-src:
Implement return types
2015-01-28 06:56:19 +03: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
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
73c1be2653
Bump year
2015-01-15 23:26:03 +08:00
Danack
1397790560
Added test and possible fix for https://bugs.php.net/bug.php?id=67068
2015-01-13 01:24:19 +00:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08: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
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Dmitry Stogov
3893c1fc3d
Fixed compilation warnings
2014-12-12 21:57:34 +03:00
Guilherme Blanco
094d409b3d
Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before.
2014-12-12 17:29:54 +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
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
Dmitry Stogov
3bc8a958c5
Fixed useless or duplicated IS_INTERNED() checks
2014-09-19 15:41:01 +04:00
Xinchen Hui
24ab7b53f2
It should be int
2014-08-27 12:14:57 +08:00
Xinchen Hui
8b87534468
Fixed folder mark
2014-08-27 12:13:17 +08:00
Andrea Faulds
7379abba8f
Fixed Closure::apply() for int64
2014-08-27 02:05:50 +01:00
Andrea Faulds
17c5e82816
Merge branch 'master' into Closure_apply
2014-08-27 01:53:26 +01:00
Nikita Popov
46b53e815c
Add zend_string_equals and zend_string_equals_literal
2014-08-25 22:40:58 +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
Andrea Faulds
342265badb
Just return, no need for RETURN_NULL()
2014-08-20 00:11:11 +01:00
Andrea Faulds
56e6a45c41
Accuracy
2014-08-18 14:50:05 +01:00
Andrea Faulds
2f40631716
Fixed issues spotted by code review
2014-08-18 14:47:57 +01:00
Andrea Faulds
333a465751
Comment clarification
2014-08-18 00:03:56 +01:00
Andrea Faulds
429bbd7081
Old comment, whitespace
2014-08-17 23:54:23 +01:00
Andrea Faulds
59010bff01
Don't allow unbound scoped closures; make ->call used passed object as scope
2014-08-17 23:47:47 +01:00
Andrea Faulds
3f468cd1c7
Removed unused variable
2014-08-17 20:21:12 +01:00
Andrea Faulds
6d187d53ae
Fixed and cleaned up implementaton of Closure::call() for phpng
2014-08-17 20:20:23 +01:00
Andrea Faulds
e35c8ae13e
Merge branch 'master' into Closure_apply
...
Conflicts:
Zend/zend_closures.c
Zend/zend_closures.h
Zend/zend_execute_API.c
Zend/zend_vm_def.h
2014-08-17 17:20:02 +01:00
Andrea Faulds
85bf8b4ff1
Fixed unbound scoped closure edge cases and added tests for them
2014-07-30 03:21:44 +01:00