Skip to content

remove zend_atomic abstraction - #23927

Merged
TimWolla merged 3 commits into
php:masterfrom
henderkes:cleanup/zend_atomic
Sep 29, 2026
Merged

TimWolla merged 3 commits into
php:masterfrom
henderkes:cleanup/zend_atomic

Conversation

@henderkes

@henderkes henderkes commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Use C11 atomics directly.

Comment thread win32/build/confutils.js Outdated
@henderkes

Copy link
Copy Markdown
Contributor Author

Question here is if it's even worth carrying zend_atomic_,,, functions anymore, or if we might as well just call e.g. atomic_load directly.

@henderkes henderkes changed the title remove different underlying implementations from zend_atomic remove zend_atomic abstraction Sep 27, 2026
@henderkes
henderkes marked this pull request as ready for review September 27, 2026 11:33
@TimWolla

Copy link
Copy Markdown
Member

Question here is if it's even worth carrying zend_atomic_,,, functions anymore, or if we might as well just call e.g. atomic_load directly.

Lately we have just removed the compatibility layers outright. If necessary folks can backport them themselves. Or they just upgrade to C11 for all PHP versions they support, which is reasonable.

@henderkes

Copy link
Copy Markdown
Contributor Author

Yeah I already committed it. The extensions imo don't make keeping the layer worth it. For C++ mode extensions I've stubbed atomic_int and atomic_bool in.

@henderkes
henderkes force-pushed the cleanup/zend_atomic branch 3 times, most recently from 126c35b to 4cc95a6 Compare September 29, 2026 08:20
Comment thread ext/intl/config.w32
Comment thread UPGRADING.INTERNALS Outdated
@henderkes

Copy link
Copy Markdown
Contributor Author

@shivammathur @TimWolla rebased to only remove the atomic macro layer.

Comment thread Zend/zend_globals.h
@TimWolla
TimWolla requested review from arnaud-lb and removed request for LamentXU123 September 29, 2026 10:28
@TimWolla
TimWolla removed the request for review from zeriyoshi September 29, 2026 10:29
@arnaud-lb

Copy link
Copy Markdown
Member

Nice!

@TimWolla
TimWolla merged commit 37d0ef5 into php:master Sep 29, 2026
18 checks passed
@henderkes
henderkes deleted the cleanup/zend_atomic branch September 29, 2026 14:39
bukka added a commit to bukka/php-src that referenced this pull request Sep 29, 2026
* upstream/master: (99 commits)
  NEWS
  Fix property hook escape analysis causing misoptimization
  Fix __isset escape analysis causing misoptimization
  Fix memory leak when closing a statement on a killed connection
  Reset field_count for OK packet (php#23890)
  Fix phpGH-23986: Clear the realpath cache in the child after pcntl_fork() (php#23987)
  ext/standard: Remove redundant if-branch in rot13 (php#23795)
  ext/pdo: Throw a ValueError from bindColumn() for an unknown column (php#23835)
  Zend: rename zend_object* parameter to "this_ptr" for zend_call_* functions (php#23989)
  ext/pdo: Release driver options after bindParam and bindColumn
  tests: Raise test stack for stream error depth limit under MSan (php#23985)
  Zend: Remove zend_atomic.[ch] abstraction (php#23927)
  fibers: fix phpGH-23921 (Fibers start with error_reporting = 0 when the error_reporting INI directive is not set)
  ext/pdo: Keep statement class when ATTR_STATEMENT_CLASS is rejected
  Verify bundled sources using CI - Opcache JIT IR (php#20179)
  zend_portability: Simplify definition of `ZEND_NORETURN` (php#23908)
  Fix phpGH-23758: PDO_Firebird returns null for empty BLOBs (php#23763)
  Remove redundant parentheses in session tests (php#23609)
  Update IR (php#23861)
  Fix OSS-Fuzz #552682112: assertion failure wrt zp_arg_must_be_sent_by_ref() (php#23760)
  ...

# Conflicts:
#	ext/openssl/xp_ssl.c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants