#
855d8fa6 |
| 11-Nov-2020 |
Dmitry Stogov |
[Observer] Save opline before calling begin/end handlers |
#
d5d31ea3 |
| 18-Sep-2020 |
Dmitry Stogov |
Cleanup observer API and add JIT support |
#
9e94bcfd |
| 17-Sep-2020 |
Sammy Kaye Powers |
Remove specialization of SPEC(OBSERVER) handlers |
#
66c3e900 |
| 01-Sep-2020 |
Levi Morrison |
Add zend_observer API Closes GH-5857. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Co-authored-by: Sammy Powers <sammyk@datadoghq.com> |
#
42eda516 |
| 11-Aug-2020 |
Nikita Popov |
SAVE_OPLINE in NULL_HANDLER Let's avoid crashing before the nice error message gets printed... |
#
d92229d8 |
| 06-Apr-2020 |
Nikita Popov |
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument nam
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357.
show more ...
|
#
613a56d1 |
| 09-Jul-2020 |
Nikita Popov |
Remove FREE_UNFETCHED concept In master normal FREE_OPs work like FREE_UNFETCHED_OP used to, so there is no point in keeping this distinction anymore, it's just confusing. |
#
5d0687e8 |
| 07-Jul-2020 |
Nikita Popov |
Assert exception set in HANDLE_EXCEPTION() Some code paths were checking this manually, but we can turn this into a general assertion to avoid surprises (functions returning failure
Assert exception set in HANDLE_EXCEPTION() Some code paths were checking this manually, but we can turn this into a general assertion to avoid surprises (functions returning failure without throwing).
show more ...
|
#
fb916112 |
| 07-Jul-2020 |
Nikita Popov |
Remove #undefs from vm_gen Possibly these were needed for VM_EXPORT, but they don't serve a purpose now. |
#
002c264d |
| 07-Jul-2020 |
Nikita Popov |
Remove ZEND_VM_EXPORT functionality This hasn't been used since forever and makes things more confusing than they already are. |
#
d114812f |
| 25-Jun-2020 |
Ayesh Karunaratne |
[ci skip] Various typo fixes in stub comments and CHANGES file |
#
f4b46314 |
| 22-May-2020 |
Dmitry Stogov |
Prevent CGG reordering if hanlers order is defined by zend_vm_order.txt |
#
d4de3f95 |
| 06-Feb-2020 |
Nikita Popov |
Remove spurious const qualifier from function return type |
#
16980577 |
| 03-Feb-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Apply tidy formatting
|
#
58b17906 |
| 03-Feb-2020 |
Nikita Popov |
Apply tidy formatting Mostly reindent PHP scripts to spaces. |
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12 |
|
#
a7580899 |
| 13-Nov-2019 |
Tyson Andre |
Support the same handler for multiple opcodes |
#
e8525c2f |
| 13-Nov-2019 |
Tyson Andre |
Optimize int === int/double === double Do this by reusing the implementation used for `==` when both arguments are ints (IS_LONG) or both are floats (IS_DOUBLE) ```php // Be
Optimize int === int/double === double Do this by reusing the implementation used for `==` when both arguments are ints (IS_LONG) or both are floats (IS_DOUBLE) ```php // Before: nestedloop_ni took 0.442 seconds // After: nestedloop_ni takes 0.401 seconds (same as nestedloop_ne) function nestedloop_ni(int $k) { $x = 0; for ($i=0; $i < 50000000; $i++) { if ($i === $k) { $x++; } } print "$x\n"; } function nestedloop_ne(int $k) { $x = 0; for ($i=0; $i < 50000000; $i++) { if ($i == $k) { $x++; } } print "$x\n"; } ```
show more ...
|
Revision tags: 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 |
|
#
f6f32f2c |
| 09-Oct-2019 |
Dmitry Stogov |
SAMRT BRANCH improvement. Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ. Now instead of checking the opcode of following instruct
SAMRT BRANCH improvement. Avoid need of insertion NOP opcoes between unrelated SMART BRANCH instruction and following JMPZ/JMPNZ. Now instead of checking the opcode of following instruction, the same information is encoded into SMART BRANH result_type.
show more ...
|
#
eec04f6b |
| 08-Oct-2019 |
Dmitry Stogov |
Encapsulate all SMART BRANCH related logic inside macros. Result of SMART BRANCH may be uninitialized (on exception). |
Revision tags: php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3 |
|
#
a66c60cc |
| 26-Sep-2019 |
Nikita Popov |
Throw Error when writing property of non-object This removes object auto-vivification support. This also means that we can remove the corresponding special handling for typed pr
Throw Error when writing property of non-object This removes object auto-vivification support. This also means that we can remove the corresponding special handling for typed properites: We no longer need to check that a property is convertible to stdClass if such a conversion might take place indirectly due to a nested property write. Additionally OBJ_W style operations now no longer modify the object operand, and as such we no longer need to treat op1 as a def in SSA form. The next step would be to actually compile the whole LHS of OBJ_W operations in R rather than W mode, but that causes issues with SimpleXML, whose object handlers depend on the current compilation structure. Part of https://wiki.php.net/rfc/engine_warnings.
show more ...
|
#
470bbb8c |
| 25-Sep-2019 |
Dmitry Stogov |
Avoid code dupliction |
Revision tags: php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1 |
|
#
02c83b80 |
| 10-Sep-2019 |
Dmitry Stogov |
ceanup |
#
0f8bb9e3 |
| 05-Sep-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.4' * PHP-7.4: Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used. Remove --with-zlib-dir option
Merge branch 'PHP-7.4' * PHP-7.4: Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used. Remove --with-zlib-dir option from mysqlnd config
show more ...
|
#
7237da27 |
| 05-Sep-2019 |
Dmitry Stogov |
Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used. |
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 |
|
#
57d9b94d |
| 24-Jul-2019 |
Dmitry Stogov |
Simplify TMP/VAR operand releasing |