1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 14:31:06 +02:00
Commit Graph

217 Commits

Author SHA1 Message Date
Dmitry Stogov
8c7aa88e2d Fixed crash introduced by bfaf662ac2 2018-11-07 09:36:21 +03:00
Dmitry Stogov
bfaf662ac2 Micro-optimization 2018-11-06 17:04:17 +03:00
Zeev Suraski
67e0138c0d Future-proof email addresses... 2018-11-01 18:30:28 +02:00
Dmitry Stogov
ab8094c666 Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value. 2018-07-26 12:58:07 +03:00
Dmitry Stogov
af341213f7 se zval_ptr_dtor_str() instead of zend_string_release_ex(Z_STR(*), 0) 2018-07-04 12:08:07 +03:00
Dmitry Stogov
5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Dmitry Stogov
83f98f7340 Don't store values of PHP_SAPI and PHP_BINARY in file cache, because it may be used by different SAPI. 2018-04-28 01:20:49 +03:00
Nikita Popov
1c887eaf0d Merge branch 'PHP-7.2' 2018-04-27 17:02:40 +02:00
Nikita Popov
2c602be7c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 17:02:01 +02:00
Nikita Popov
279ba58edb Fixed bug #76275
* Adjust IS_SERIALIZED() check to account for potential empty
  allocations at the end of the memory region.
* Deallocate empty allocation if all try/catch elements have been
  removed in the block pass (similar to what we do if all live
  ranges have been eliminated).
2018-04-27 17:01:35 +02:00
Dmitry Stogov
52fddfcca2 Avoid useless iterations 2018-03-13 16:07:18 +03:00
Nikita Popov
b0af9ac733 Avoid live range references in opcodes
Don't store the live range of the freed variable for FREE_ON_RETURN
frees, instead look it up at runtime. As this is an extremely
unlikely codepath (in particular, it requires a loop variable with
a throwing destructor), saving the runtime lookup of the live range
is not worth the extra complexity this adds everywhere else.
2018-02-16 21:30:48 +01:00
Nikita Popov
07ad75ca96 Merge branch 'PHP-7.2' 2018-02-16 20:31:01 +01:00
Nikita Popov
0674d677bc Merge branch 'PHP-7.1' into PHP-7.2 2018-02-16 20:30:49 +01:00
Nikita Popov
372bf8a923 Fixed bug #75969
Move NOP stripping out of zend_optimize_block: NOP stripping may
move instructions, which may invalidate a Tsource shared across
an extended basic block.
2018-02-16 20:30:03 +01:00
Dmitry Stogov
ca035f26aa Moved "zval.u2.cache_slot" into free room of "zend_op" 2018-02-05 19:41:47 +03:00
Dmitry Stogov
ba298725d1 Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value) 2018-01-31 22:39:30 +03:00
Dmitry Stogov
bf7176c70f Use reference-counting instead of duplication and separation, if really necessary. 2018-01-19 01:03:24 +03:00
Dmitry Stogov
c5c9a69447 Use ZVAL_DUP() instead of zval_copy_ctor() 2018-01-17 14:59:15 +03:00
Dmitry Stogov
c9034c3b33 Get rid of zend_op_array.early_binding 2018-01-11 19:15:52 +03:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
David Walker
6d4de4cf05 Implement list() reference assignments
Support list() reference assignments of the form:

    list(&$a, list(&$b, $c)) = $d;

RFC: https://wiki.php.net/rfc/list_reference_assignment
2017-12-09 13:39:52 +01:00
Xinchen Hui
d042d1d8e0 Cleanup cfg flags & Added ZEND_FUNC_HAS_EXTENED_INFO 2017-10-18 17:03:07 +08:00
Dmitry Stogov
f63bfea105 Optimize POST_INC_OBJ + FREE into PRE_INC_OBJ (in the same way as simple POST_INC) 2017-09-18 14:56:55 +03:00
Dmitry Stogov
ea734e2ac2 Fixed incorect constant conditional jump elimination 2017-09-04 19:11:17 +03:00
Dmitry Stogov
eb21300a26 Revert "Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update)"
This reverts commit db5b8dbcdf.
2017-09-04 16:50:12 +03:00
Dmitry Stogov
db5b8dbcdf Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update) 2017-09-04 14:07:37 +03:00
Dmitry Stogov
5274cefb4d Remove live ranges 2017-07-19 13:06:25 +03:00
Dmitry Stogov
6276268b77 Separate constants propagation code shatred between "first" and "block" passes into helper functions. 2017-07-04 15:10:33 +03:00
Dmitry Stogov
10dbc0b2e7 Compile/optimisation-time constants can't be circular, but in general may be reference-countable. It's better to use zval_ptr_dtor_nogc() to release them. 2017-07-04 10:43:34 +03:00
Dmitry Stogov
b685991b44 Get rid of old compatibility macros 2017-07-04 09:50:57 +03:00
Dmitry Stogov
89b3c9f647 Optimizer support for ZEND_IN_ARRAY 2017-05-24 23:37:35 +03:00
Dmitry Stogov
a151d614ba Added missing "successors_count" update. 2017-05-17 12:52:36 +03:00
Xinchen Hui
187f42149d Improve fix for #74456 2017-04-18 12:47:53 +08:00
Xinchen Hui
1837eea66d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74456 (Segmentation error while running a script in CLI mode)
2017-04-17 20:26:57 +08:00
Xinchen Hui
d6315c2fbb Fixed bug #74456 (Segmentation error while running a script in CLI mode)
Instead of make update_op1_by_const supports FETCH_LIST(CASE), I think
disable it is more safe for 7.1
2017-04-17 20:24:39 +08:00
Nikita Popov
ad8652818a Implement jumptable optimization 2017-04-10 22:23:14 +02:00
Nikita Popov
d1a012b602 Support more than two successors in opcache CFG 2017-04-10 22:18:24 +02:00
Nikita Popov
eeb6cdf810 Merge branch 'PHP-7.1' 2017-04-10 22:12:05 +02:00
Nikita Popov
1df3099f2f Merge branch 'PHP-7.0' into PHP-7.1 2017-04-10 22:11:47 +02:00
Nikita Popov
6f950e83eb Fix JMPZ+JMP => NOP+JMP optimization 2017-04-10 22:09:34 +02:00
Nikita Popov
d6f70f0ee3 Disable block pass for large functions
(Backport of 7ea261685f to 7.0.)
2017-03-28 22:07:37 +02:00
Nikita Popov
d3aac6f810 Merge branch 'PHP-7.1' 2017-03-17 12:54:11 +01:00
Nikita Popov
7ea261685f Disable block pass for large functions
This is the last fix for bug #74250.
2017-03-17 12:49:20 +01:00
Xinchen Hui
330a7b62c3 Fixed bug #74152 (if statement says true to a null variable) 2017-02-23 12:33:17 +08:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00