Commit Graph

92475 Commits

Author SHA1 Message Date
Bob Weinand
0fbd3e5fe7 Speed up self::$property access by 20% 2015-10-05 21:52:09 +02:00
Bob Weinand
8c33bdb976 Speed up self::method() calls (no ZEND_FETCH_CLASS) 2015-10-05 21:16:52 +02:00
Bob Weinand
35d0405c47 Allow random $this on non-internal Closures again
As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected...

Also fixes a memory leak (the Closure leaks) when calling internal functions via Closure by moving it out of leave helper onto caller side for TOP_CODE:

$z = new SplStack; $z->push(20);
$x = (new ReflectionMethod("SplStack", "pop"))->getClosure($z);
var_dump($x());
2015-10-05 17:49:32 +02:00
Bob Weinand
a6be0f3fd6 Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src 2015-10-05 14:50:04 +02:00
Bob Weinand
881c502520 Improve 517b55362 (scope rebinding on method Closures)
Now it is completely impossible to rebind a scoped method Closure (only the kind you get from ReflectionMethod::getClosure()) to a foreign scope
Adding a lot of tests to ensure this...
Also, properly return NULL in case the Closure could not be created instead of some crippled unbound Closure
2015-10-05 00:56:55 +02:00
Anatol Belski
a549a3ac17 improve error message 2015-10-04 16:36:53 +02:00
Anatol Belski
c97198e181 fix incrementing on 32-bit 2015-10-04 12:19:16 +02:00
Nuno Lopes
ba4a85b012 fix coverage report for datelib 2015-10-04 05:39:01 -04:00
Xinchen Hui
2a54b02257 Merge branch 'PHP-5.6' into PHP-7.0 2015-10-03 23:16:38 -07:00
Xinchen Hui
2fb8bb1157 Fixed bug #70632 (Third one of segfault in gc_remove_from_buffer) 2015-10-03 20:33:24 -07:00
Xinchen Hui
6876112c89 Fixed the third one of (segfault in gc_remove_from_buffer())
This one maybe only used in debug mode, so no bug report and no test
script provided
2015-10-03 20:15:35 -07:00
Xinchen Hui
4744eec753 Fixed bug #70631 (Another Segfault in gc_remove_from_buffer()) 2015-10-03 20:08:21 -07:00
Xinchen Hui
925412ee1c Do not edit the zval cause it might be in shared memory 2015-10-03 19:50:38 -07:00
Xinchen Hui
c147d90dbf Fixed bug #70601 (Segfault in gc_remove_from_buffer()) 2015-10-03 19:38:56 -07:00
Bob Weinand
517b553625 Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())
This additionally removes support for binding to an unknown (not in parent hierarchy) scope.
Removing support for cross-scope is necessary for certain compile-time assumptions (like class constants) to prevent unexpected results
2015-10-04 01:38:59 +02:00
Anatol Belski
4cb6342426 remove useless checks
Other platforms than listed in the checks are not supported since
PHP 5.5. We also won't need these checks for a while, so can simplify.
2015-10-03 10:57:32 +02:00
Anatol Belski
96fe3be7f2 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix win10 support
2015-10-03 10:46:10 +02:00
Anatol Belski
83bef0ef83 fix win10 support
dwMajorVersion == 10 there, and generally this check is obsolete
as we don't support dwMajorVersion < 6 since 5.5
2015-10-03 10:44:43 +02:00
Nikita Popov
e892e2e253 Merge branch 'PHP-5.6' into PHP-7.0 2015-10-03 10:13:44 +02:00
Nikita Popov
fe1933aae2 Fixed bug #70625 2015-10-03 10:12:11 +02:00
Ferenc Kovacs
b2988714aa Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS file with LDAP fixes
2015-10-02 21:51:13 +02:00
Ferenc Kovacs
6f895a29c9 Merge branch 'pr-1544' into PHP-5.6
* pr-1544:
  Update NEWS file with LDAP fixes
2015-10-02 21:48:33 +02:00
Derick Rethans
a2f5619303 Updated to version 2015.7 (2015g) 2015-10-02 18:12:18 +01:00
Derick Rethans
60b5487897 Empty merge 2015-10-02 18:12:18 +01:00
Derick Rethans
c08824fd72 Updated to version 2015.7 (2015g) 2015-10-02 18:12:16 +01:00
Xinchen Hui
d6c9dc719e PHP7 is not affected 2015-10-02 07:26:04 -07:00
Xinchen Hui
83fea9461e Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/date/php_date.c
2015-10-02 07:21:07 -07:00
Xinchen Hui
c98ea8465b Fixed bug #70619 (DateTimeImmutable segfault) 2015-10-02 07:19:21 -07:00
Bob Weinand
8285731362 Fix parse errors in -rr mode 2015-10-02 12:51:32 +02:00
Bob Weinand
4f90e2ec9d Ensure proper set_exception_handler() handling with exit() inside it 2015-10-02 12:37:40 +02:00
Bob Weinand
0c03ba0ad0 Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions) 2015-10-02 12:37:40 +02:00
Bob Weinand
32337d35cc Do not display memory leaks on fatal 2015-10-02 12:37:40 +02:00
Bob Weinand
6c61286da4 Do not include zend_verify_return_type in executable ops (phpdbg) 2015-10-02 12:37:39 +02:00
Nikita Popov
1287c48082 Fix/improve zpp usage
The ext/interbase changes are done blindly, fingers crossed.

Some of these are bug fixes, some make zpp usage more idiomatic.
2015-10-02 09:35:00 +02:00
Nikita Popov
1a39b6e3c0 More check_parameters improvements
* Switch default REPORT_LEVEL to 1 to cut down on the noise
* Make initialization of 'C' variable always required
* Don't require init of lLdb variable if ! is used
* Don't throw error about missing init of not detected parameters
  (This was a regression in the last changeset)
* Support method_parameters and throw variations
2015-10-02 09:05:39 +02:00
Nikita Popov
5c1b627458 More check_parameters improvements
* Allow / on everything but lLdb (on which it will work, but makes
  no sense).
* For ! on lLdb add additional zend_bool* parameter.
* For optional s and p only require one of the variables to be
  initialized. The length is usually not initialized.
2015-10-01 20:42:57 +02:00
Sean DuBois
06dde16a6a Update scripts/dev/check_parameters.php for PHP 7
Also fix deprecation errors and move from preg_replace
-> preg_replace_callback.
2015-10-01 20:08:05 +02:00
Nikita Popov
8557e8323a Remove checks for read_property retval being NULL
read_property uses &EG(uninitialized_zval) instead.
2015-10-01 16:33:30 +02:00
Nikita Popov
c25e81ab7b Remove dead assignment in get_property_guard 2015-10-01 16:28:28 +02:00
Matteo Beccati
8039063d95 ReflectionGenerator and ReflectionType are new classes
I've added them to the new classes paragraph for the sake of completeness, even
though they are mentioned before as new features.
2015-09-30 15:50:01 +02:00
Antony Dovgal
99d5634079 fix dl() function
..which was using old macro
2015-09-30 14:40:29 +01:00
Dmitry Stogov
64a79817ce Reordered field to improve data lacality and reduce L1D CPU cache misses in ZEND_INIT_FCALL opcode family 2015-09-30 16:22:56 +03:00
Julien Pauli
a60105d7a4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test
  5.5.31 now
2015-09-30 13:19:37 +02:00
Julien Pauli
0fd71d1184 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed test
  5.5.31 now

Conflicts:
	configure.in
	main/php_version.h
2015-09-30 13:19:18 +02:00
Julien Pauli
d7fb43e30d Fixed test 2015-09-30 13:18:16 +02:00
Julien Pauli
3f08fc0466 5.5.31 now 2015-09-30 13:01:11 +02:00
Bob Weinand
ba6d193b4c Add NTS/ZTS information to php -v 2015-09-30 12:39:09 +02:00
Anatol Belski
3e74df74f9 fix test 2015-09-30 12:18:32 +02:00
Anatol Belski
59541795e2 fork test 2015-09-30 11:13:29 +02:00
Anatol Belski
e80306cbe8 fix tests on Windows 2015-09-30 11:13:28 +02:00