Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8.4 support #148

Open
wants to merge 29 commits into
base: fork
Choose a base branch
from
Open

PHP 8.4 support #148

wants to merge 29 commits into from

Conversation

dktapps
Copy link
Member

@dktapps dktapps commented Jan 12, 2025

  • account for ZEND_JMP_FRAMELESS
  • internal functions can now have doc comments
  • function literals may now have IS_UNDEF holes due to compile-time optimizations
  • property hooks supported & fully tested
  • asymmetric property visibility fully tested (though should just be a case of making sure flags are copied properly)

thanks to @AkmalFairuz for initial work, this PR is based on his work from #142

AkmalFairuz and others added 27 commits November 17, 2024 20:20
these never appeared prior to 8.4, but show up now because of php/php-src@1e7aac315ef1
During finalization of rope compilation, previously used literal slots
may become unused and get turned into IS_UNDEF.
@dktapps
Copy link
Member Author

dktapps commented Jan 12, 2025

Test failure looks to be caused by incorrect refcounts on string copies for zend_property_info, not sure how to address that just yet but my gawd is it ever irritating.

… exists

fo classes that were unlinked during first copy, we might've already copied the relevant property info
to the destination thread. In this case in the past, this would just silently fail to insert the updated
property info and go on to free it.

We probably ought to get rid of the old property_info and replace it with the newly copied version,
but for now this restores the original behaviour, which seemed to work anyway???

However, possible that this may break with property hooks inheritance. Needs further testing.
@TheColorDroid
Copy link

Is it ready to support php 8.4?

@dktapps
Copy link
Member Author

dktapps commented Feb 27, 2025

No, it's not complete

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants