History log of /PHP-8.0/ext/opcache/jit/zend_jit_disasm_x86.c (Results 26 – 44 of 44)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


12