Commit Graph

90437 Commits

Author SHA1 Message Date
Dmitry Stogov
869f662cdd Use better zend_hash_* functions 2015-06-05 13:54:57 +03:00
Dmitry Stogov
3186f913eb Fixed incorrect ZEND_FILE_LINE_CC usage 2015-06-05 13:54:10 +03:00
Xinchen Hui
0655abef1a Improve the fix for bug #69756 2015-06-05 18:42:21 +08:00
Dmitry Stogov
ed5fbf5e49 Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===) 2015-06-05 10:04:58 +03:00
Xinchen Hui
d251ced225 Merge branch 'master' of git.php.net:php-src 2015-06-05 11:54:53 +08:00
Xinchen Hui
497f9f2cda Fixed bug #69758 (Item added to array not being removed by array_pop/shift) 2015-06-05 11:54:22 +08:00
Dmitry Stogov
7f39ee7159 Delay checks for undefined CV variables after checks for fast paths. 2015-06-05 01:53:32 +03:00
Dmitry Stogov
aca6a1a1c9 Convert "switch" into series of "if". This allows better fast-path placement, additional specialization and makes final code less. 2015-06-04 19:14:16 +03:00
Dmitry Stogov
0040efb170 Avoid useless copying and duplication 2015-06-04 19:13:40 +03:00
Dmitry Stogov
f07d770f0b Specialize out useless checks. Only IS_VAR may be EG(error). 2015-06-04 17:20:37 +03:00
Bob Weinand
9ca564d5f3 fix bitwise object operations 2015-06-04 16:09:22 +02:00
Xinchen Hui
c6db18f9ab Merge branch 'PHP-5.6' 2015-06-04 21:09:06 +08:00
Xinchen Hui
93b7ba4c9f Merge branch 'PHP-5.5' into PHP-5.6 2015-06-04 21:08:57 +08:00
Xinchen Hui
9a0bdd9069 Fixed invalid read druing apache reload 2015-06-04 21:08:36 +08:00
Dmitry Stogov
adb5f93f85 Fixed bug #69755 (segfault in ZEND_CONCAT_SPEC_TMPVAR_CONST_HANDLER) 2015-06-04 09:38:22 +03:00
Bob Weinand
1d3f77d13d Fix Bug #69754 (Compile failure with ::class in array) 2015-06-03 23:59:59 +02:00
Dmitry Stogov
2fcdad6a58 Removed useless code (there is nothing to free for string offsets). 2015-06-03 22:23:06 +03:00
Dmitry Stogov
36c36ee56d Removed dead code (IS_CONST operand can't be IS_OBJECT) 2015-06-03 19:29:03 +03:00
Dmitry Stogov
544fb5c7bc Separate rare used increment/decrement/assign_op of overloaded properies into non inlined functions. 2015-06-03 18:44:25 +03:00
Dmitry Stogov
58dc22cc13 Reorder conditions to check for fast paths first 2015-06-03 17:20:47 +03:00
Dmitry Stogov
ce2a78939d isset() micro-optimisation 2015-06-03 16:27:38 +03:00
Dmitry Stogov
b21191ba78 Removed commented code 2015-06-03 14:49:29 +03:00
Dmitry Stogov
6bcf121f5b micro-optimization 2015-06-03 13:43:05 +03:00
Dmitry Stogov
c09698753e CONCAT optimization 2015-06-03 11:15:28 +03:00
Bob Weinand
8a1c5d15d2 Use CG(one_char_string) if possible in bitwise string operations
emalloc() is not cheap... Also, a good part of bitwise string ops out there are on single bytes.
2015-06-03 02:57:16 +02:00
Anatol Belski
06332e6706 introduced DllMain for the main php DLL
The particular need on this is because of the current situation
with determining the background functionality for the
gettimeofday. DllMain allows to initialize stuff before the DLL
can be actually used. Thus, we use different time API on win7
and win8 and later, so the function pointer needs to be
initialized before anything in the DLL could even demand it.

The change also opens the door for the further optimizations,
as now we're able to do the very basic initializations for the
whole DLL before it could ever start to live. Fe on this way the
TLS initialization could be done, when utilizing the
DLL_THREAD_ATTACH/DETACH case. Whether it's really usable in
portable way should be synced with other platforms.

Be aware that it's dangerous as it possibly causes dead locks.
So to use with care. One willing to add items to DllMain should
better read the documentation twice and even then try to defer
the necessary action.
2015-06-02 15:56:32 +02:00
Anatol Belski
29a91e52ad a bit more clearness fir --with-mp 2015-06-02 15:56:30 +02:00
Dmitry Stogov
8a089e7e71 Call zend_array_dup() instead of zval_copy_ctor(). 2015-06-02 12:03:34 +03:00
Dmitry Stogov
0d054f5faf Avoid useless duplication. Constant values have to be duplicated only for internal constants in ZTS build, to prevent simultaneous modification of reference counters from different threads. 2015-06-02 12:01:34 +03:00
Stanislav Malyshev
c0a54d62e2 fix test 2015-06-01 23:58:19 -07:00
Stanislav Malyshev
49ae1fe8d0 Merge branch 'pull-request/1310'
* pull-request/1310:
  Fix GD tests #69698
2015-06-01 22:57:05 -07:00
Stanislav Malyshev
75d16a4564 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error

Conflicts:
	ext/spl/spl_heap.c
2015-06-01 22:55:16 -07:00
Stanislav Malyshev
e96c64ed5e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error
2015-06-01 22:53:56 -07:00
Stanislav Malyshev
1cbd25ca15 Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error 2015-06-01 22:07:16 -07:00
Dmitry Stogov
ce862a25d5 Reorder conditions to check for fast paths first. 2015-06-01 17:22:04 +03:00
Dmitry Stogov
8bf76bae40 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69732 (can induce segmentation fault with basic php code).
2015-06-01 12:21:48 +03:00
Dmitry Stogov
f863d89b5c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69732 (can induce segmentation fault with basic php code).

Conflicts:
	Zend/zend_vm_execute.h
2015-06-01 12:17:32 +03:00
Dmitry Stogov
9031a902e3 Fixed bug #69732 (can induce segmentation fault with basic php code). 2015-06-01 11:40:14 +03:00
Dmitry Stogov
1654442ac3 Fixed integer overflow during HashTable size calculation 2015-06-01 10:51:06 +03:00
Stanislav Malyshev
c75ac9e456 Merge branch 'pull-request/1314'
* pull-request/1314:
  Fixed typos in UPGRADING.INTERNALS
2015-05-31 19:40:31 -07:00
Stanislav Malyshev
60e92a3b84 set initialized flag after actual initialization happened 2015-05-31 19:37:56 -07:00
Andrew Murray
00790467b7 Fixed typos in UPGRADING.INTERNALS 2015-06-01 11:13:09 +10:00
Stanislav Malyshev
e0fb8c8b7f Merge branch 'PHP-5.6'
* PHP-5.6:
  improve fix for Bug #69545
2015-05-31 17:30:41 -07:00
Stanislav Malyshev
4758505b27 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  improve fix for Bug #69545
2015-05-31 17:30:29 -07:00
Stanislav Malyshev
8746163153 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  improve fix for Bug #69545
2015-05-31 17:29:53 -07:00
Stanislav Malyshev
0765623d69 improve fix for Bug #69545 2015-05-31 17:29:00 -07:00
Stanislav Malyshev
07241bbd70 FIx darwin build 2015-05-31 14:52:08 -07:00
Anatol Belski
8e54f91cc9 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix phpize mode for manifest embedding
2015-05-31 23:04:11 +02:00
Anatol Belski
6fea2f1dd7 fix phpize mode for manifest embedding 2015-05-31 23:03:47 +02:00
Anatol Belski
34bcd69f82 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix phpize mode for manifest embedding
2015-05-31 23:02:01 +02:00