feat(profiling) allocation profiling for PHP ZTS#2506
Merged
realFlowControl merged 12 commits intomasterfrom Mar 20, 2024
Merged
feat(profiling) allocation profiling for PHP ZTS#2506realFlowControl merged 12 commits intomasterfrom
realFlowControl merged 12 commits intomasterfrom
Conversation
e86caca to
43a73ce
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #2506 +/- ##
============================================
+ Coverage 75.91% 77.07% +1.16%
Complexity 2563 2563
============================================
Files 241 215 -26
Lines 27020 23048 -3972
Branches 976 0 -976
============================================
- Hits 20511 17765 -2746
+ Misses 5989 5283 -706
+ Partials 520 0 -520
Flags with carried forward coverage won't be shown. Click here to find out more. see 26 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
43a73ce to
56240c2
Compare
4de9425 to
3cae5b2
Compare
0d71d43 to
e76dd1b
Compare
ea1d19c to
fbdab6a
Compare
fbdab6a to
3a33646
Compare
morrisonlevi
reviewed
Mar 5, 2024
morrisonlevi
reviewed
Mar 6, 2024
4c70d21 to
14ece3d
Compare
realFlowControl
commented
Mar 18, 2024
realFlowControl
commented
Mar 18, 2024
morrisonlevi
approved these changes
Mar 19, 2024
…or the heap and the previous function pointers (if any)
ci skip For whatever reason, the linter fails in this macro. It can succeed in macros sometimes, just not this one.
Also merge prepare/restore zend heap fns into one field, since they are always used together, and allows us to use the new macro without fetching them twice.
3821da2 to
155d1ca
Compare
af595b3 to
81fa090
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
PROF-8922 / #2070
This PR will bring allocation profiling to ZTS versions of PHP. In the "there is another custom handler installed" code path we are using an
UnsafeCellfor a thread local which is the cheapest way (evaluated at compile time and not runtime), as this is in the hot path (every allocation and free would borrow check at runtime).We could argue that the case of another extension that has custom handlers installed is nearly non existing, so we could also be better safe then sorry, but OTOH I could not get it to crash.
Reviewer checklist