| Summary: | [WPE] undefined reference to `JSC::ExecutableBase::hasJITCodeForCall() const' | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Charlie Turner <cturner> | ||||
| Component: | WPE WebKit | Assignee: | Charlie Turner <cturner> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | bugs-noreply, clopez, commit-queue, ews-watchlist, keith_miller, mark.lam, msaboff, saam, tzagallo, ysuzuki | ||||
| Priority: | P2 | ||||||
| Version: | WebKit Nightly Build | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
|
Description
Charlie Turner
2020-02-18 08:10:26 PST
Created attachment 391047 [details]
Patch
Comment on attachment 391047 [details]
Patch
Not sure if this its the best fix.
Source/JavaScriptCore/runtime/ExecutableBase.h declares the function prototype for hasJITCodeForCall() and hasJITCodeForConstruct() but ExecutableBase.cpp doesn't define the function hasJITCodeForCall() neither hasJITCodeForConstruct()
The functions hasJITCodeForCall() and hasJITCodeForConstruct() seem defined in ScriptExecutable.h
I wonder if a better fix would be to remove from ExecutableBase.h the prototypes of hasJITCodeForCall() and hasJITCodeForConstruct() and include ScriptExecutable.h inside ExecutableBase.h ?
(In reply to Carlos Alberto Lopez Perez from comment #2) > Comment on attachment 391047 [details] > Patch > > Not sure if this its the best fix. > > Source/JavaScriptCore/runtime/ExecutableBase.h declares the function > prototype for hasJITCodeForCall() and hasJITCodeForConstruct() but > ExecutableBase.cpp doesn't define the function hasJITCodeForCall() neither > hasJITCodeForConstruct() > > The functions hasJITCodeForCall() and hasJITCodeForConstruct() seem defined > in ScriptExecutable.h They're also in ExecutableBaseInlines.h, and I don't know what purpose this organisation serves. I guess for some sort of ODR-workaround? > > I wonder if a better fix would be to remove from ExecutableBase.h the > prototypes of hasJITCodeForCall() and hasJITCodeForConstruct() and include > ScriptExecutable.h inside ExecutableBase.h ? ScriptExectable is a subclass and the base needs visibility of these symbols, so removing their prototypes doesn't work correctly. This is a hairy organisation which I think is best left to the discretion of a JSC maintainer. Comment on attachment 391047 [details]
Patch
r=me
Comment on attachment 391047 [details] Patch Clearing flags on attachment: 391047 Committed r257695: <https://trac.webkit.org/changeset/257695> All reviewed patches have been landed. Closing bug. |