1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 01:48:26 +02:00
Commit Graph

3594 Commits

Author SHA1 Message Date
Dmitry Stogov 47a56208f0 Fixed memory leak in Zend/tests/bug78999.phpt 2020-10-28 10:47:23 +03:00
Dmitry Stogov e6b51ccc58 Fixed tracing JIT support for aliasses (Zend/tests/bug75420.13.phpt and ext/standard/tests/streams/bug60106.phpt) 2020-10-27 23:44:29 +03:00
Dmitry Stogov 43e493884c Fixed support for named parameters (Zend/tests/named_params/references.phpt) 2020-10-27 16:35:24 +03:00
Dmitry Stogov 45e2b9a7dd Fixed support for typed references 2020-10-27 12:59:35 +03:00
Dmitry Stogov b8a6717da6 Fixed tracing JIT for tests/classes/unset_properties.phpt 2020-10-27 10:30:38 +03:00
Dmitry Stogov a17cec446a Fixed memory leak 2020-10-27 01:20:22 +03:00
Dmitry Stogov ba525a68d9 Fixed register allocation 2020-10-26 21:48:47 +03:00
Dmitry Stogov b7df636589 Fixed MAY_BE_INDIRECT inference. 2020-10-26 21:48:13 +03:00
Dmitry Stogov 9d3cc223b2 Better JIT support for aliases 2020-10-26 19:05:08 +03:00
Dmitry Stogov 0fa154ad8d Fixed incorrect register allocation in ext/gd/tests/imagecopyresampled_variation1.phpt 2020-10-26 15:56:37 +03:00
Javier Eguiluz c64dcda5e5 Fixed some typos
Closes GH-6373.

[ci skip]
2020-10-23 09:34:09 +02:00
Dmitry Stogov 0f8518f875 Fixed register allocation 2020-10-22 23:16:41 +03:00
Dmitry Stogov 838d8d0ba0 Fixed reference-counter inference 2020-10-22 23:15:39 +03:00
Dmitry Stogov 5626dcdb9d Missed warning 2020-10-22 23:15:15 +03:00
Dmitry Stogov 20cbb233c4 Checj type guards before loading values into CPU registers 2020-10-22 18:23:49 +03:00
Dmitry Stogov 30cf0a04bf Avoid register allocation for ASSIGN into aliased variable (it might be indirectly changed into IS_REFERENCE) 2020-10-22 18:22:36 +03:00
Dmitry Stogov cb6f9a6568 More accurate live range construction 2020-10-21 16:05:13 +03:00
Dmitry Stogov 9efb258fc1 Eliminate useless mov(s) 2020-10-21 16:03:28 +03:00
Dmitry Stogov a1cac4fefc Eliminate dead type store 2020-10-20 23:37:19 +03:00
Dmitry Stogov 0ac810bbc5 Improve JIT for fetching character form string 2020-10-20 20:29:33 +03:00
Nikita Popov cf04707938 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0
2020-10-20 12:51:08 +02:00
twosee d134c0ac05 Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0 2020-10-20 12:50:28 +02:00
Dmitry Stogov 5e17d88b63 Improve register allocator (register reuse) 2020-10-20 13:46:32 +03:00
Dmitry Stogov ea1590937b Improve register allocator (give preference to loop variables). 2020-10-20 12:19:44 +03:00
Dmitry Stogov ee5b1dd6dc Fixed range propagation 2020-10-20 02:27:24 +03:00
Dmitry Stogov fc2d477c5b Avoid partial register stall 2020-10-19 23:22:43 +03:00
Dmitry Stogov bf321f0c14 Use zero-extended mov insted of sign-signed movsxd 2020-10-19 19:39:51 +03:00
Nikita Popov d3812ca41b Fixed bug #80255
This was a copy&paste mistake, target_block was used where
follow_block was intended. Also update copy&paste mistakes in
the comments.
2020-10-19 15:13:53 +02:00
David Carlier 3841ea338e DragonFlyBSD build update for opcache JIT part.
Closes GH-6339.
2020-10-15 14:50:23 +02:00
Dmitry Stogov 5572318166 Avoid refcounting when return CV (similar to optimization in VM). 2020-10-15 15:27:00 +03:00
Dmitry Stogov 06bb1feb09 Added missing side exit 2020-10-14 01:17:39 +03:00
Dmitry Stogov 62ae21bbf2 Give preference to live-ranges with register hints to improve register reuse. 2020-10-13 13:59:53 +03:00
Dmitry Stogov 872787c5f7 Avoid useless register allocation 2020-10-13 11:37:33 +03:00
Dmitry Stogov 87beb22ff8 Perform trace range propagation 2020-10-13 00:18:17 +03:00
Dmitry Stogov 1c596ff146 Eliminate dead stores 2020-10-12 22:59:30 +03:00
Christoph M. Becker 2a545ba946 Fix #80175: PHP8 RC1 - JIT Buffer not working
On Windows, `SUCCESSFULLY_REATTACHED` does not imply that the process
has already been properly initialized; thus we must not skip some setup
steps in `zend_jit_startup()`.

Closes GH-6268.
2020-10-10 17:46:59 +02:00
Dmitry Stogov 57bb3a3966 Eliminate dead load 2020-10-09 18:58:03 +03:00
Dmitry Stogov fc14dbb713 Keep the same JIT code for PHP-8.0 and master (workaround against PHP-8.0 ABI freeze) 2020-10-09 16:54:26 +03:00
Dmitry Stogov 080784acfd Eliminate more dead type stores 2020-10-09 16:15:07 +03:00
Nikita Popov 6188b7a1da Revert "Change calling convention of zval_update_constant[_ex]() to fastcall."
This reverts commit 5a447b086b.

Revert this ABI break from PHP-8.0, leaving it only on master.
2020-10-09 15:06:12 +02:00
Dmitry Stogov 6f888b90c5 Eliminate more dead type stores 2020-10-09 14:31:20 +03:00
Dmitry Stogov 2ad96b8cee Eliminate more dead type stores 2020-10-08 23:26:31 +03:00
Dmitry Stogov e5830c4a6b Eliminate dead type stores 2020-10-08 19:15:23 +03:00
Dmitry Stogov 8efcc280be Cleanup (expand and remove simple macros) 2020-10-08 19:15:23 +03:00
Dmitry Stogov 5a447b086b Change calling convention of zval_update_constant[_ex]() to fastcall. 2020-10-08 02:04:38 +03:00
Dmitry Stogov 45441b3c11 Pass arguments to cdecl functions through preallocated stack slots 2020-10-08 00:52:30 +03:00
Dmitry Stogov db7a773b1c Add more hints for register allocator 2020-10-07 20:38:52 +03:00
Nikita Popov edf0c6a6ae Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #80194
2020-10-07 15:03:56 +02:00
Nikita Popov 683c988493 Fixed bug #80194
We should strip NOPs from unreachable_free blocks as well, to make
sure that the free really is the first op.
2020-10-07 15:03:12 +02:00
Dmitry Stogov 3024d9c56d Optimize out MAY_BE_LONG +/- 0 and MAY_BE_DOUBLE +/- 0.0 2020-10-07 15:23:17 +03:00