Bug 187505

Summary: Add WTF_MAKE_FAST_ALLOCATED for lots of ScriptWrappable-derived classes
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: NEW    
Severity: Normal CC: cdumez, fujii.hironori, simon.fraser, ysuzuki
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Simon Fraser (smfr)
Reported 2018-07-09 21:53:06 PDT
Add WTF_MAKE_FAST_ALLOCATED for lots of ScriptWrappable-derived classes
Attachments
Patch (30.28 KB, patch)
2018-07-09 21:54 PDT, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2018-07-09 21:54:27 PDT
Chris Dumez
Comment 2 2018-07-09 22:34:16 PDT
Why don’t We add it to ScriptWrappable class instead?
Simon Fraser (smfr)
Comment 3 2018-07-09 22:59:39 PDT
I'm fuzzy on how it behaves with multiple inheritance.
Yusuke Suzuki
Comment 4 2018-07-10 02:39:13 PDT
(In reply to Simon Fraser (smfr) from comment #3) > I'm fuzzy on how it behaves with multiple inheritance. It should work since all the implementation have the same code. The allocation size `size_t` will be passed by the C++ runtime, which is calculated at the callsite of `new`. So, multiple inheritance should work.
Fujii Hironori
Comment 5 2018-07-11 19:24:26 PDT
(In reply to Yusuke Suzuki from comment #4) > It should work since all the implementation have the same code. The > allocation size `size_t` will be passed by the C++ runtime, which is > calculated at the callsite of `new`. So, multiple inheritance should work. Is this right? I get "error: request for member 'operator new' is ambiguous". https://godbolt.org/g/Zx38fe
Fujii Hironori
Comment 6 2018-07-11 19:30:57 PDT
It can be solved by adding "using Base1::operator new;". https://godbolt.org/g/u6SEQC
Note You need to log in before you can comment on or make changes to this bug.