Bug 266662
| Summary: | Fix non-unified build using InlineCallFrameMalloc in InlineCallFrameSet | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | David Degazio <d_degazio> |
| Component: | Web Template Framework | Assignee: | David Degazio <d_degazio> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=266080 https://bugs.webkit.org/show_bug.cgi?id=266331 |
||
David Degazio
rdar://119894558
Among other changes in https://bugs.webkit.org/show_bug.cgi?id=266080, we added an extra type parameter to WTF::Bag so that bag nodes are allocated using the malloc of the type they contain. However, this change created a build failure when trying to perform a non-unified build, which was resolved by a partial revert in https://bugs.webkit.org/show_bug.cgi?id=266331. From what I can tell, the real cause of the bug which my change exposed is that InlineCallFrameSet.h never included InlineCallFrame.h, and now that we try and access a type alias from the body of InlineCallFrame, the missing definition of InlineCallFrame manifests as a compile error. But, when we perform a unified build, we currently include InlineCallFrame.h before including InlineCallFrameSet.h, so the definition is still available.
It's desirable for us to respect the allocator of InlineCallFrame when allocating storage for them in an InlineCallFrameSet, so I think the easy fix to this is just to include InlineCallFrame.h. Not sure why we don't already do this, maybe at one point it was a cyclic dependency? It builds fine now and allows us to provide the malloc parameter without issue.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
David Degazio
Pull request: https://github.com/WebKit/WebKit/pull/22065
EWS
Committed 272383@main (05aaf7c79b61): <https://commits.webkit.org/272383@main>
Reviewed commits have been landed. Closing PR #22065 and removing active labels.