1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 10:43:30 +02:00
Files
archived-php-src/ext/opcache
Arnaud Le Blanc 16ca097ef2 Do not exit to VM when setting undefined prop in constructor
JIT'ed ASSIGN_OBJ expressions will exit to VM when the prop is undef. However,
in a constructor it's very likely the case. Therefore most traces with `new`
expressions will exit to VM.

Here I ensure that we don't need to exit to VM when it's likely that the
prop will be undef.

In the function JIT we compile a slow path to handle such properties,
but not in the tracing JIT, assumingly to reduce code size. Here I enable
compilation of the slow path in the tracing JIT when it's likely the prop
will be undef. Quite conveniently we already record the prop type during
tracing, so I use that to make the decision.

This results in a 1.20% wall time improvement on the symfony demo benchmark
with 20 warmup requests.

Closes GH-18576
2025-05-19 12:42:11 +02:00
..
2024-11-18 23:29:26 +01:00
2024-07-23 13:43:25 +02:00
2025-04-28 19:52:28 +02:00
2023-01-16 12:25:59 +01:00
2024-08-29 23:12:56 +03:00
2025-05-16 15:42:20 +09:00
2025-02-24 14:37:21 +01:00