#
e5e25d63 |
| 14-May-2020 |
Dmitry Stogov |
Added HALT symbol
|
#
faa57abe |
| 29-Apr-2020 |
Dmitry Stogov |
white space fixes
|
Revision tags: php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1, php-7.3.17RC1 |
|
#
37154753 |
| 20-Mar-2020 |
Dmitry Stogov |
JIT for INIT_NS_FCALL_BY_NAME
|
#
12cdab2d |
| 18-Mar-2020 |
Dmitry Stogov |
Improved JIT for BIND_GLOBAL
|
Revision tags: php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16 |
|
#
4bf2d09e |
| 13-Mar-2020 |
Dmitry Stogov |
Tracing JIT (it doesn't support register allocation yet) Use opcache.jit=1255 to swith it on (the third digit 5 really matters) Use opcache.jit_debug=0xff001 to see how it works and what
Tracing JIT (it doesn't support register allocation yet) Use opcache.jit=1255 to swith it on (the third digit 5 really matters) Use opcache.jit_debug=0xff001 to see how it works and what code it generates
show more ...
|
#
33ef3d64 |
| 04-Mar-2020 |
Nikita Popov |
Use separate typedef for bucket comparison function Avoid performing the same casting dance inside each sort compare function.
|
Revision tags: php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28 |
|
#
170cc105 |
| 06-Feb-2020 |
Dmitry Stogov |
Fixed JIT for PTR_INC instruction to return de-referenced value of reference
|
Revision tags: php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3 |
|
#
999e32b6 |
| 25-Sep-2019 |
Nikita Popov |
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same t
Implement union types According to RFC: https://wiki.php.net/rfc/union_types_v2 The type representation now makes use of both the pointer payload and the type mask at the same time. Additionall, zend_type_list is introduced as a new kind of pointer payload, which is used to store multiple class types. Each of the class types is a tagged pointer, which may be either a class name or class entry. The latter is only used for typed properties, while arguments/returns will instead use cache slots. A type list can contain a mix of both names and CEs at the same time, as not all classes may be resolvable. One thing this is missing is support for union types in arginfo and stubs, which I want to handle separately. I've also dropped the special object code from the JIT implementation for now -- I plan to add this back in a different form at a later time. For now I did not want to include non-trivial JIT changes together with large functional changes. Another possible piece of follow-up work is to implement "iterable" as an internal alias for "array|Traversable". I believe this will eliminate quite a few special-cases that had to be implemented. Closes GH-4838.
show more ...
|
#
fe6c420b |
| 23-Oct-2019 |
Nikita Popov |
JIT: Handle typed refs in assign dim
|
#
2f80fbe3 |
| 22-Oct-2019 |
Nikita Popov |
JIT: Fix handling of typed ref in assign op
|
#
0d55456d |
| 15-Oct-2019 |
Dmitry Stogov |
Use "const" qualifier
|
Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
ee4b11c6 |
| 05-Sep-2019 |
Nikita Popov |
Detect calls to abstract methods in get_method() already Instead of checking for this during DO_FCALL, already detect this case during get_method()/get_static_method(), similar to visibi
Detect calls to abstract methods in get_method() already Instead of checking for this during DO_FCALL, already detect this case during get_method()/get_static_method(), similar to visibility checks. This causes a minor difference in behavior, in that arguments will no longer be evaluated. I think this is correct though (and consistent with visibility errors).
show more ...
|
Revision tags: php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1 |
|
#
36235cf5 |
| 10-Jul-2019 |
Nikita Popov |
Read from original address References are derefed into FCARG1, which is later clobbered by the undef handling code. Make sure we load from the original address instead.
|
Revision tags: php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1 |
|
#
4d90848d |
| 06-Jun-2019 |
Nikita Popov |
Don't verify arginfo types for internal functions To avoid duplicate type checks. In debug builds arginfo is still checked and will generate an assertions if the function doesn't sub
Don't verify arginfo types for internal functions To avoid duplicate type checks. In debug builds arginfo is still checked and will generate an assertions if the function doesn't subsequently throw an exception. Some test results change due to differences in zpp and arginfo error messages.
show more ...
|
Revision tags: php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1 |
|
#
6322b6ff |
| 08-Apr-2019 |
Xinchen Hui |
Change to php.net mail address
|
#
22b3b6d5 |
| 03-Apr-2019 |
Dmitry Stogov |
Use inlined HYBRID VM handlers for DO_FCALL* and ZEND_RETRUN
|
Revision tags: php-7.2.17, php-7.3.4, php-7.1.28 |
|
#
4e1d545d |
| 01-Apr-2019 |
Dmitry Stogov |
Fixed edge cases in ZEND_ASSIGN_OP+ASSIGN_DIM and replaced specialized helpers with single one
|
#
d196ec9b |
| 01-Apr-2019 |
Dmitry Stogov |
Eliminate hash lookup for immutable op_arrays
|
#
9a068760 |
| 01-Apr-2019 |
Dmitry Stogov |
Added JIT compiler for x86 and x86_64
|