#
608d5686 |
| 30-Aug-2021 |
Dmitry Stogov |
JIT: Avoid reloading of EX(run_time_cache) |
#
3565d02c |
| 30-Aug-2021 |
Dmitry Stogov |
JIT: Eliminate load of op_array->run_time_cache__ptr and use immediate value for immutable op_arrays if it's known at compile time |
#
1347d90a |
| 30-Aug-2021 |
Dmitry Stogov |
JIT: Avoid reloading of EX(run_time_cache) |
#
c51b0d97 |
| 30-Aug-2021 |
Dmitry Stogov |
JIT: Avoid redundand checks of number of passed arguments |
#
66a4437c |
| 29-Aug-2021 |
Dmitry Stogov |
Avoid redundand argument type verification |
#
67d6c2db |
| 29-Aug-2021 |
Dmitry Stogov |
JIT: Optimize zend_vm_stack_free_args() Avoid code genearation for destructors of immutable parameters of internal functions that cannot be changed in place. Keep destructors for immutab
JIT: Optimize zend_vm_stack_free_args() Avoid code genearation for destructors of immutable parameters of internal functions that cannot be changed in place. Keep destructors for immutable array parameters, because few function may modufy them in-pace.
show more ...
|
#
0424ce0c |
| 26-Aug-2021 |
Dmitry Stogov |
Avoid redundand repeatable VM stack overflow checks |
#
1c9f8eb7 |
| 25-Aug-2021 |
Dmitry Stogov |
JIT/x86: Merge load and test of EX_CALL_INFO() into single instruction |
#
c5ded136 |
| 24-Aug-2021 |
Dmitry Stogov |
JIT: Code generation for ROPE_INIT, ROPE_ADD and ROPE_END with STRING operands |
Revision tags: php-7.3.30 |
|
#
1ffbb737 |
| 13-Aug-2021 |
Dmitry Stogov |
Better specialization for packed/hash arrays - improved packed/hash inference. - added hash guards for ASSIGN_DIM, ASSIGN_DIM_OP, FETCH_DIM_W* instructions - more accurate invariant
Better specialization for packed/hash arrays - improved packed/hash inference. - added hash guards for ASSIGN_DIM, ASSIGN_DIM_OP, FETCH_DIM_W* instructions - more accurate invariant type guards motion - invariant packed/hash guards motion - rename MAY_BE_ARRAY_HASH into MAY_BE_ARRAY_NUMERIC_HASH and add MAY_BE_ARRAY_STRING_HASH - cleanup
show more ...
|
#
94b80018 |
| 12-Aug-2021 |
Dmitry Stogov |
Fixed conditional jump on uninitialised value (Zend/tests/match/028.phpt failure with function JIT) |
#
c39332d7 |
| 12-Aug-2021 |
Dmitry Stogov |
Fixed incorrect condition |
#
57e2241c |
| 12-Aug-2021 |
Dmitry Stogov |
JIT: Use zend_hash_index_lookup() instead of zend_hash_index_add_new(EG(uninitialized_zval)) |
#
e1f211f7 |
| 22-Jul-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.0' * PHP-8.0: Fixed typo
|
#
ae8647d9 |
| 20-Jul-2021 |
Levi Morrison |
Remove leading underscore for _zend_hash_find_known_hash (#7260) Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...) Convert zend_hash_find_ex(..., 0) to zend_hash_find(.
Remove leading underscore for _zend_hash_find_known_hash (#7260) Convert zend_hash_find_ex(..., 1) to zend_hash_find_known_hash(...) Convert zend_hash_find_ex(..., 0) to zend_hash_find(...) Also add serializable changes to UPGRADING.INTERNALS summary
show more ...
|
#
4cf7a258 |
| 20-Jul-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.0' * PHP-8.0: Fixed Bug #81255 (Memory leak in PHPUnit with functional JIT)
|
Revision tags: php-7.3.29 |
|
#
6780aaa5 |
| 02-Jun-2021 |
Nikita Popov |
Implement readonly properties Add support for readonly properties, for which only a single initializing assignment from the declaring scope is allowed. RFC: https://wiki.php.net
Implement readonly properties Add support for readonly properties, for which only a single initializing assignment from the declaring scope is allowed. RFC: https://wiki.php.net/rfc/readonly_properties_v2 Closes GH-7089.
show more ...
|
#
052af90b |
| 09-Jun-2021 |
Kamil Tekiela |
Deprecate autovivification on false Deprecate automatically converting "false" into an empty array on write operands. Autovivification continues to be supported for "null" values, as
Deprecate autovivification on false Deprecate automatically converting "false" into an empty array on write operands. Autovivification continues to be supported for "null" values, as well as undefined/uninitialized values. RFC: https://wiki.php.net/rfc/autovivification_false Closes GH-7131. Co-authored-by: Tyson Andre <tysonandre775@hotmail.com> Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
4743c7a1 |
| 01-Jul-2021 |
Dmitry Stogov |
JIT/ARM64: Fixed incorrect trace linking. |
#
ff983131 |
| 30-Jun-2021 |
Dmitry Stogov |
JIT/ARM64: Fixed possible incorrect exception catching in function JIT. |
#
3e164dee |
| 23-Jun-2021 |
Hao Sun |
JIT/AArch64: Support shifted immediate (#7165) * JIT/AArch64: Support shifted immediate As pointed out by MikePall in [1], shifted immediate value is supported. See [2]. For exa
JIT/AArch64: Support shifted immediate (#7165) * JIT/AArch64: Support shifted immediate As pointed out by MikePall in [1], shifted immediate value is supported. See [2]. For example, `add x0, x1, #4096` would be encoded by DynASM into `add x0, x1, #1, lsl #12` directly. In this patch, a helper is added to check whether an immediate value is in the two allowed ranges: (1) 0 to 4095, and (2) LSL #12 on all the values from the first range. Note that this helper works for add/adds/sub/subs/cmp/cmn instructions. [1] https://github.com/LuaJIT/LuaJIT/pull/718 [2] https://github.com/LuaJIT/LuaJIT/blob/v2.1/dynasm/dasm_arm64.lua#L342 Change-Id: I4870048b9b8e6c429b73a4803af2a3b2d5ec0fbb * Deprecatd CMP_IMM/ADD_SUB_IMM and add test cases Macros CMP_IMM and ADD_SUB_IMM are deprecated and instead we use this helper to guard the immediate encoding. Add two 64-bit only test cases, since 64-bit integers are used and tested inside. Change-Id: I0b42d4617b40372e2f4ce5b6ad31a4ddb7d89e49
show more ...
|
#
d72c320f |
| 17-Jun-2021 |
Dmitry Stogov |
JIT/ARM64: Fixed possible incorrect register allocation |
#
82bcc9b4 |
| 17-Jun-2021 |
Dmitry Stogov |
JIT/ARM64: Fixed "may be used uninitialized" compilation warning |
#
6442cbfb |
| 17-Jun-2021 |
Dmitry Stogov |
Merge branch 'PHP-8.0' * PHP-8.0: JIT: Fixed failures of tracing JIT with CALL VM
|
#
3a782595 |
| 16-Jun-2021 |
Dmitry Stogov |
JIT: Avoid too aggressive loop unrolling This fixes tests/func/010.phpt failure with tracing JIT on ARM64. |