Dmitry Stogov
ed7f396721
Avoid second hash value check
2017-11-24 12:03:59 +03:00
Dmitry Stogov
33b094479b
TYPE_CHECK instruction changed. Now it keeps in extended_value a type mask.
...
This makes check for "boolean" cheaper and allows check combination e.g. (is_string($a) || is_null($a))
2017-11-23 15:58:34 +03:00
Dmitry Stogov
d5dd27987f
Don't mix TYPE and TYPE_INFO
2017-11-23 13:45:21 +03:00
Dmitry Stogov
8349268fa0
Delayed unlikely checks for uninitialized variables
2017-11-23 13:18:52 +03:00
Dmitry Stogov
6780c74619
Allowed modification of VM stack page size. Exported few functions. Green light for Fibers/Coroutines.
2017-11-22 15:36:09 +03:00
Pedro Magalhães
179ed6e43d
63911: Compare opcodes of the op_array to determine different functions
2017-11-22 05:35:24 +00:00
Anatol Belski
12b2c2f5f9
Switch to ZMM routines, closes #2917
2017-11-21 19:38:53 +01:00
Dmitry Stogov
efa4d8d3ac
Optimized zend_is_true() for objects (in most cases, it doesn't need to call the conversion handler).
2017-11-20 12:38:31 +03:00
Alessandro Chitolina
23b61f78a6
Fix segfault in token_get_all_variation19.phpt
2017-11-19 00:48:48 +01:00
Anatol Belski
80d6eb6806
Fix unsigned comparisons and remove dead code
...
Fix unsigned comparison
Cleanup never executed block
Fix unsigned comparison
Fix unsigned comparison, diff can't be < 0
Fix unsigned comparison
Fix unsigned comparison
Remove dead code
2017-11-17 22:38:44 +01:00
Anatol Belski
24356e307c
Fix condition
2017-11-17 18:19:32 +01:00
Dmitry Stogov
aa7bf41502
Use cheaper checks
2017-11-17 13:23:22 +03:00
Nikita Popov
9fbb019848
Move adjust_for_fetch_type directly after emission
...
And drop the distinction between compile_X and compile_X_common.
This avoids WTF moments like compile_simple_var_no_cv completely
ignoring the BP_VAR type passed to it...
2017-11-16 22:28:29 +01:00
Nikita Popov
d9da166649
Minor fetch type adjustment cleanup
...
No need to call adjust_fetch_type on FETCH_THIS, just to special
case it in adjust_fetch_type...
2017-11-16 22:13:07 +01:00
Nikita Popov
26f8fc833b
Enable and fix printf() format warnings
...
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
2017-11-16 21:15:36 +01:00
Dmitry Stogov
ccc12b82da
Avoid unnecessary reference-counting on strings.
2017-11-16 17:09:32 +03:00
Dmitry Stogov
ce18738a30
Removed "_" from API functions.
2017-11-16 17:09:01 +03:00
zimuyang
b304f3bc0e
Remove duplicate check for already loaded extension
2017-11-16 00:16:15 +01:00
Nikita Popov
1e3f625aa5
Merge branch 'PHP-7.2'
2017-11-15 23:01:52 +01:00
Nikita Popov
6640e03df8
Merge branch 'PHP-7.1' into PHP-7.2
2017-11-15 23:01:25 +01:00
DanielCiochiu
dba5a798a2
Fixed #74862 : Unable to clone instance when private __clone defined
...
Even though __clone was implemented as private and called only from
parent class, child extending class instance could not be cloned.
2017-11-15 23:00:26 +01:00
Anatol Belski
61259d692e
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
bump versions
Fixed ext/date tests due to changes in Olson database
2017-11-08 12:01:39 +01:00
Anatol Belski
01c70cc98b
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
bump versions
Fixed ext/date tests due to changes in Olson database
2017-11-08 12:00:30 +01:00
Anatol Belski
d36e793c93
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
Fixed ext/date tests due to changes in Olson database
2017-11-08 11:54:18 +01:00
Anatol Belski
c6720e2f45
Fixed #75384 PHP seems incompatible with OneDrive files on demand
2017-11-08 11:52:42 +01:00
Dmitry Stogov
9731a22eba
Use Zend MM heap for non-persistent ini entry values.
2017-11-08 12:01:59 +03:00
Dmitry Stogov
abd2120c4f
Fixed inaccurate condition
2017-11-07 10:29:17 +03:00
Anatol Belski
d6267cd230
Don't touch inline if C++ is compiled
...
Starting with C++11 marco keywords are forbidden by the standard. Things
like inline namespaces would be broken by this part. As any of supported
compilers is at least C++11 complaint, tricks with inline are simply
disabled if C++ is compiled. Though, zend_always_inline is still usable,
anything else about inlining for C++ is up to the compiler.
2017-11-06 13:52:02 +01:00
Sammy Kaye Powers
b591c329ee
Allow trailing commas in function and method calls
2017-11-06 07:13:56 +00:00
Xinchen Hui
4da0bfc7d7
Unused var
2017-11-06 14:10:27 +08:00
Dmitry Stogov
d3fa900780
Removed workaraouns for inconsistent zvals (REFCOUNTED+INTERNED). They should be fixed now.
2017-11-03 21:02:55 +03:00
Dmitry Stogov
7fba7209e1
Fixed memory leak (Zend/tests/list_003.phpt)
2017-11-03 21:02:27 +03:00
Dmitry Stogov
26b2b27a25
Don't intern strings in-place if their refcoung greater than 1
2017-11-03 21:00:07 +03:00
Dmitry Stogov
522cc6926b
erealloc() optimization
2017-11-03 18:35:03 +03:00
Dmitry Stogov
f2b91b31e4
Switch back from "request" interned strings storage to "permanent" in MSHUTDOWN
2017-11-02 23:29:21 +03:00
Pedro Magalhães
897bdb42f0
Fix #74922 - Try to resolve constants when importing trait properties
2017-11-02 21:06:27 +01:00
Nikita Popov
625d7075d6
Don't dup after fetch_dimension_const
...
Any duplication that may be necessary must have happened earlier
already. Also I'm not sure what the IS_REF branch was there for
originally, but it does not appear to be relevant anymore.
2017-11-02 19:20:14 +01:00
Xinchen Hui
d56a534acc
RC manipulation cleanup 2
2017-11-02 12:13:35 +08:00
Xinchen Hui
3fa0cee640
Revert "Use zend_get_executed_filename_ex"
...
This reverts commit 2a37625c20
.
2017-11-02 12:12:40 +08:00
Xinchen Hui
39845250f2
Merge branch 'master' of git.php.net:/php-src
...
* 'master' of git.php.net:/php-src:
Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary)
Fixed memory leaks
Use interned strings for "magic" property of internal classes. (not copyied into SHM)
Reverted incomplete fix and too strict asserts.
Mark persistent connection related data as "thread-local".
Persistent resources are "thread-local". Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
PCRE cache is "thread-local"
Allow reference-counting on "thread-local" persistent zvals
2017-11-02 10:40:45 +08:00
Dmitry Stogov
468fd78bff
Fixed memory leaks
2017-11-02 03:04:27 +03:00
Dmitry Stogov
990d8092a4
Reverted incomplete fix and too strict asserts.
2017-11-01 16:18:13 +03:00
Dmitry Stogov
67d5f39a47
Persistent resources are "thread-local".
...
Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
2017-11-01 15:19:31 +03:00
Dmitry Stogov
cf582a32ef
Allow reference-counting on "thread-local" persistent zvals
2017-11-01 15:11:52 +03:00
Xinchen Hui
a32e567ec8
Merge branch 'master' of git.php.net:/php-src
...
* 'master' of git.php.net:/php-src:
Fixed string interning during constants substitution
2017-11-01 18:42:12 +08:00
Dmitry Stogov
02a05146fd
Fixed string interning during constants substitution
2017-11-01 10:56:37 +03:00
Xinchen Hui
2a37625c20
Use zend_get_executed_filename_ex
2017-11-01 15:40:54 +08:00
Dmitry Stogov
5baf657db3
Revert "Fixed string interning during constants substitution"
...
This reverts commit e0924c52fc
.
2017-11-01 10:39:47 +03:00
Dmitry Stogov
e0924c52fc
Fixed string interning during constants substitution
2017-11-01 10:34:39 +03:00
Xinchen Hui
a8a17a72b0
RC manipulation cleanup
2017-11-01 10:25:10 +08:00