History log of /PHP-8.3/ext/opcache/jit/zend_jit_trace.c (Results 51 – 75 of 550)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# b33d4724 06-Feb-2023 Dmitry Stogov

Merge branch 'PHP-8.2'

* PHP-8.2:
Fix possible exit_counters memory leak in ZTS build


# 29efbe59 06-Feb-2023 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix possible exit_counters memory leak in ZTS build


# a2119565 06-Feb-2023 Dmitry Stogov

Fix possible exit_counters memory leak in ZTS build

# f6fc0fd9 25-Jan-2023 Dmitry Stogov

Add missing type guard

# 298aa74b 19-Jan-2023 Dmitry Stogov

Fix incorrect trace type inference when function SSA is not available.

Type of argument CV with type hint is checked only via execution of
the corresponding RECV or RECV_INIT instruction.

# f8b93127 09-Jan-2023 Dmitry Stogov

Merge branch 'PHP-8.2'

* PHP-8.2:
ext/opcache/jit/zend_jit_trace: fix memory leak in _compile_root_trace() (#10146)


# d13b3b6a 09-Jan-2023 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
ext/opcache/jit/zend_jit_trace: fix memory leak in _compile_root_trace() (#10146)


# bcc5d268 09-Jan-2023 Max Kellermann

ext/opcache/jit/zend_jit_trace: fix memory leak in _compile_root_trace() (#10146)

A copy of this piece of code exists in zend_jit_compile_side_trace(),
but there, the leak bug does not e

ext/opcache/jit/zend_jit_trace: fix memory leak in _compile_root_trace() (#10146)

A copy of this piece of code exists in zend_jit_compile_side_trace(),
but there, the leak bug does not exist.

This bug exists since both copies of this piece of code were added in
commit 4bf2d09edeb14

show more ...

# efd5ecb0 03-Jan-2023 Max Kellermann

Zend/Optimizer/zend_inference: make several pointers const

This allows removing several deconst casts from the JIT.

# 383053c4 29-Dec-2022 David Carlier

Merge branch 'PHP-8.2'


# 07bf42df 29-Dec-2022 David Carlier

Merge branch 'PHP-8.1' into PHP-8.2


# e217138b 19-Dec-2022 Max Kellermann

ext/opcache/jit/zend_jit_trace: add missing lock for EXIT_INVALIDATE

Commit 6c254131831 added the flag ZEND_JIT_EXIT_INVALIDATE which
resets the trace handlers in zend_jit_trace_exit(),

ext/opcache/jit/zend_jit_trace: add missing lock for EXIT_INVALIDATE

Commit 6c254131831 added the flag ZEND_JIT_EXIT_INVALIDATE which
resets the trace handlers in zend_jit_trace_exit(), but forgot to
lock the shared memory section.

This could cause another worker process who still saw the
ZEND_JIT_TRACE_JITED flag to schedule ZEND_JIT_TRACE_STOP_LINK, but
when it arrived at the ZEND_JIT_DEBUG_TRACE_STOP, the handler was
already reverted by the first worker process and thus
zend_jit_find_trace() fails.

This in turn generated a bogus jump offset in the JITed code, crashing
the PHP process.

show more ...

# ca5f668f 29-Dec-2022 Dmitry Stogov

Added missed return

# 381d0ddc 26-Dec-2022 David Carlier

Merge branch 'PHP-8.1' into PHP-8.2


# b26b7589 22-Dec-2022 Max Kellermann

ext/opcache/jit: handle zend_jit_find_trace() failures

Commit 6c25413 added the flag ZEND_JIT_EXIT_INVALIDATE which resets
the trace handlers in zend_jit_trace_exit(), but forgot to cons

ext/opcache/jit: handle zend_jit_find_trace() failures

Commit 6c25413 added the flag ZEND_JIT_EXIT_INVALIDATE which resets
the trace handlers in zend_jit_trace_exit(), but forgot to consider
that on ZEND_JIT_TRACE_STOP_LINK, this changed handler gets passed to
zend_jit_find_trace(), causing it to fail, either by returning 0
(results in bogus data) or by aborting due to ZEND_UNREACHABLE(). In
either case, this crashes the PHP process.

I'm not quite sure how to fix this multi-threading problem properly;
my suggestion is to just fail the zend_jit_trace() call. After all,
the whole ZEND_JIT_EXIT_INVALIDATE fix was about reloading modified
scripts, so there's probably no point in this pending zend_jit_trace()
call.

show more ...

# 5cfec7ee 05-Oct-2022 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix typo


# e81b6bf0 05-Oct-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix typo


# 072dc3c8 05-Oct-2022 Dmitry Stogov

Fix typo

# 4164d2d5 03-Oct-2022 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix register allocation (missing store)


# 5877b840 03-Oct-2022 Dmitry Stogov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix register allocation (missing store)


# ed652a51 03-Oct-2022 Dmitry Stogov

Fix register allocation (missing store)

This fixes oss-fuzz #52022

# ec5882e1 03-Oct-2022 Dmitry Stogov

Fix GH-9626: JIT type assertion failure in Symfony community build

# 980c2edb 27-Sep-2022 Ilija Tovilo

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix invalid label before }


# 0aa5adb1 27-Sep-2022 Ilija Tovilo

Fix invalid label before }

Will be fixed in C23 :)

Closes GH-9624

# 8dc689ec 27-Sep-2022 Dmitry Stogov

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Wrap JIT compiler with zend_try to recover in case of memory overflow


12345678910>>...22