⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 285818 in webkit


Ignore:
Timestamp:
Nov 15, 2021, 11:19:52 AM (5 years ago)
Author:
Chris Dumez
Message:

Remove some dead code from IPC::Encoder / IPC::Decoder
https://bugs.webkit.org/show_bug.cgi?id=233134

Reviewed by Sam Weinig.

Remove some dead code from IPC::Encoder / IPC::Decoder and make sure both
types are non-copyable / non-movable.

  • Platform/IPC/Decoder.cpp:
  • Platform/IPC/Decoder.h:

(IPC::Decoder::decodeSingleObject): Deleted.
(): Deleted.

  • Platform/IPC/Encoder.cpp:

(IPC::Encoder::Encoder):

  • Platform/IPC/Encoder.h:
Location:
trunk/Source/WebKit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r285812 r285818  
     12021-11-15  Chris Dumez  <cdumez@apple.com>
     2
     3        Remove some dead code from IPC::Encoder / IPC::Decoder
     4        https://bugs.webkit.org/show_bug.cgi?id=233134
     5
     6        Reviewed by Sam Weinig.
     7
     8        Remove some dead code from IPC::Encoder / IPC::Decoder and make sure both
     9        types are non-copyable / non-movable.
     10
     11        * Platform/IPC/Decoder.cpp:
     12        * Platform/IPC/Decoder.h:
     13        (IPC::Decoder::decodeSingleObject): Deleted.
     14        (): Deleted.
     15        * Platform/IPC/Encoder.cpp:
     16        (IPC::Encoder::Encoder):
     17        * Platform/IPC/Encoder.h:
     18
    1192021-11-15  Per Arne Vollan <pvollan@apple.com>
    220
  • trunk/Source/WebKit/Platform/IPC/Decoder.cpp

    r285138 r285818  
    9595}
    9696
    97 Decoder::Decoder(const uint8_t* buffer, size_t bufferSize, ConstructWithoutHeaderTag)
    98     : m_buffer { buffer }
    99     , m_bufferPos { m_buffer }
    100     , m_bufferEnd { m_buffer + bufferSize }
    101     , m_bufferDeallocator([] (const uint8_t*, size_t) { })
    102 {
    103     if (UNLIKELY(reinterpret_cast<uintptr_t>(m_buffer) % alignof(uint64_t)))
    104         markInvalid();
    105 }
    106 
    10797Decoder::Decoder(const uint8_t* stream, size_t streamSize, uint64_t destinationID)
    10898    : m_buffer { stream }
  • trunk/Source/WebKit/Platform/IPC/Decoder.h

    r285138 r285818  
    6060    Decoder(const Decoder&) = delete;
    6161    Decoder(Decoder&&) = delete;
     62    Decoder& operator=(const Decoder&) = delete;
     63    Decoder& operator=(Decoder&&) = delete;
    6264
    6365    ReceiverName messageReceiverName() const { return receiverName(m_messageName); }
     
    141143    bool removeAttachment(Attachment&);
    142144
    143     static const bool isIPCDecoder = true;
    144 
    145     template <typename T>
    146     static std::optional<T> decodeSingleObject(const uint8_t* source, size_t numberOfBytes)
    147     {
    148         std::optional<T> result;
    149         Decoder decoder(source, numberOfBytes, ConstructWithoutHeader);
    150         if (!decoder.isValid())
    151             return std::nullopt;
    152 
    153         decoder >> result;
    154         return result;
    155     }
     145    static constexpr bool isIPCDecoder = true;
    156146
    157147private:
    158148    Decoder(const uint8_t* buffer, size_t bufferSize, void (*bufferDeallocator)(const uint8_t*, size_t), Vector<Attachment>&&);
    159 
    160     enum ConstructWithoutHeaderTag { ConstructWithoutHeader };
    161     Decoder(const uint8_t* buffer, size_t bufferSize, ConstructWithoutHeaderTag);
    162149
    163150    bool alignBufferPosition(size_t alignment, size_t);
  • trunk/Source/WebKit/Platform/IPC/Encoder.cpp

    r274565 r285818  
    6767    : m_messageName(messageName)
    6868    , m_destinationID(destinationID)
    69     , m_buffer(m_inlineBuffer)
    70     , m_bufferPointer(m_inlineBuffer)
    71     , m_bufferSize(0)
    72     , m_bufferCapacity(sizeof(m_inlineBuffer))
    7369{
    7470    encodeHeader();
    75 }
    76 
    77 Encoder::Encoder(ConstructWithoutHeaderTag)
    78     : m_messageName()
    79     , m_destinationID(0)
    80     , m_buffer(m_inlineBuffer)
    81     , m_bufferPointer(m_inlineBuffer)
    82     , m_bufferSize(0)
    83     , m_bufferCapacity(sizeof(m_inlineBuffer))
    84 {
    8571}
    8672
  • trunk/Source/WebKit/Platform/IPC/Encoder.h

    r274565 r285818  
    4747    ~Encoder();
    4848
     49    Encoder(const Encoder&) = delete;
     50    Encoder(Encoder&&) = delete;
     51    Encoder& operator=(const Encoder&) = delete;
     52    Encoder& operator=(Encoder&&) = delete;
     53
    4954    ReceiverName messageReceiverName() const { return receiverName(m_messageName); }
    5055    MessageName messageName() const { return m_messageName; }
     
    7782    void reserve(size_t);
    7883
    79     static const bool isIPCEncoder = true;
    80 
    81     template<typename T>
    82     static RefPtr<WebCore::SharedBuffer> encodeSingleObject(const T& object)
    83     {
    84         Encoder encoder(ConstructWithoutHeader);
    85         encoder << object;
    86 
    87         if (encoder.hasAttachments()) {
    88             ASSERT_NOT_REACHED();
    89             return nullptr;
    90         }
    91 
    92         return WebCore::SharedBuffer::create(encoder.buffer(), encoder.bufferSize());
    93     }
     84    static constexpr bool isIPCEncoder = true;
    9485
    9586private:
    96     enum ConstructWithoutHeaderTag { ConstructWithoutHeader };
    97     Encoder(ConstructWithoutHeaderTag);
    98 
    9987    uint8_t* grow(size_t alignment, size_t);
    10088
     
    11098    uint8_t m_inlineBuffer[512];
    11199
    112     uint8_t* m_buffer;
    113     uint8_t* m_bufferPointer;
     100    uint8_t* m_buffer { m_inlineBuffer };
     101    uint8_t* m_bufferPointer { m_inlineBuffer };
    114102   
    115     size_t m_bufferSize;
    116     size_t m_bufferCapacity;
     103    size_t m_bufferSize { 0 };
     104    size_t m_bufferCapacity { sizeof(m_inlineBuffer) };
    117105
    118106    Vector<Attachment> m_attachments;
Note: See TracChangeset for help on using the changeset viewer.