Bug 268703
| Summary: | Every Timer objects wastes 7 bytes for padding | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
| Component: | DOM | Assignee: | Ryosuke Niwa <rniwa> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari Technology Preview | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=271108 | ||
Ryosuke Niwa
Because of bool m_hasReachedMaxNestingLevel, each Timer class wastes 7 bytes for padding:
+0 < 64> WebCore::Timer
+0 < 56> WebCore::TimerBase WebCore::TimerBase
+0 < 8> __vtbl_ptr_type * _vptr
+8 < 8> WTF::WeakPtr<WebCore::TimerAlignment, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl> > m_alignment
+8 < 8> WTF::RefPtr<WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>, WTF::DefaultRefDerefTraits<WTF::DefaultWeakPtrImpl> > m_impl
+8 < 8> WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>::StorageType m_ptr
+16 < 8> WTF::MonotonicTime m_unalignedNextFireTime
+16 < 8> WTF::GenericTimeMixin<WTF::MonotonicTime> WTF::GenericTimeMixin<WTF::MonotonicTime>
+16 < 8> double m_value
+24 < 8> WTF::Seconds m_repeatInterval
+24 < 8> double m_value
+32 < 1> bool m_hasReachedMaxNestingLevel
+33 < 7> <PADDING: 7 bytes>
+40 < 8> WTF::RefPtr<WebCore::ThreadTimerHeapItem, WTF::RawPtrTraits<WebCore::ThreadTimerHeapItem>, WTF::DefaultRefDerefTraits<WebCore::ThreadTimerHeapItem> > m_heapItem
+40 < 8> WTF::RawPtrTraits<WebCore::ThreadTimerHeapItem>::StorageType m_ptr
+48 < 8> WTF::Ref<WTF::Thread, WTF::RawPtrTraits<WTF::Thread> > m_thread
+48 < 8> WTF::RawPtrTraits<WTF::Thread>::StorageType m_ptr
+56 < 8> WTF::Function<void ()> m_function
+56 < 8> std::__1::unique_ptr<WTF::Detail::CallableWrapperBase<void>, std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> > > m_callableWrapper
+56 < 8> std::__1::__compressed_pair<WTF::Detail::CallableWrapperBase<void> *, std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> > > __ptr_
+56 < 8> std::__1::__compressed_pair_elem<WTF::Detail::CallableWrapperBase<void> *, 0, false> std::__1::__compressed_pair_elem<WTF::Detail::CallableWrapperBase<void> *, 0, false>
+56 < 8> WTF::Detail::CallableWrapperBase<void> * __value_
+56 < 1> std::__1::__compressed_pair_elem<std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> >, 1, true> std::__1::__compressed_pair_elem<std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> >, 1, true>
+56 < 1> std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> > std::__1::default_delete<WTF::Detail::CallableWrapperBase<void> >
Total byte size: 64
Total pad bytes: 7
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
Pull request: https://github.com/WebKit/WebKit/pull/23822
EWS
Committed 274077@main (c2eedea2d530): <https://commits.webkit.org/274077@main>
Reviewed commits have been landed. Closing PR #23822 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/122280493>