Diff
Modified: trunk/Source/WebKit/ChangeLog (285817 => 285818)
--- trunk/Source/WebKit/ChangeLog 2021-11-15 19:15:42 UTC (rev 285817)
+++ trunk/Source/WebKit/ChangeLog 2021-11-15 19:19:52 UTC (rev 285818)
@@ -1,3 +1,21 @@
+2021-11-15 Chris Dumez <[email protected]>
+
+ 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:
+
2021-11-15 Per Arne Vollan <[email protected]>
[macOS][GPUP] Add telemetry for syscalls
Modified: trunk/Source/WebKit/Platform/IPC/Decoder.cpp (285817 => 285818)
--- trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2021-11-15 19:15:42 UTC (rev 285817)
+++ trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2021-11-15 19:19:52 UTC (rev 285818)
@@ -94,16 +94,6 @@
return;
}
-Decoder::Decoder(const uint8_t* buffer, size_t bufferSize, ConstructWithoutHeaderTag)
- : m_buffer { buffer }
- , m_bufferPos { m_buffer }
- , m_bufferEnd { m_buffer + bufferSize }
- , m_bufferDeallocator([] (const uint8_t*, size_t) { })
-{
- if (UNLIKELY(reinterpret_cast<uintptr_t>(m_buffer) % alignof(uint64_t)))
- markInvalid();
-}
-
Decoder::Decoder(const uint8_t* stream, size_t streamSize, uint64_t destinationID)
: m_buffer { stream }
, m_bufferPos { m_buffer }
Modified: trunk/Source/WebKit/Platform/IPC/Decoder.h (285817 => 285818)
--- trunk/Source/WebKit/Platform/IPC/Decoder.h 2021-11-15 19:15:42 UTC (rev 285817)
+++ trunk/Source/WebKit/Platform/IPC/Decoder.h 2021-11-15 19:19:52 UTC (rev 285818)
@@ -59,6 +59,8 @@
Decoder(const Decoder&) = delete;
Decoder(Decoder&&) = delete;
+ Decoder& operator=(const Decoder&) = delete;
+ Decoder& operator=(Decoder&&) = delete;
ReceiverName messageReceiverName() const { return receiverName(m_messageName); }
MessageName messageName() const { return m_messageName; }
@@ -140,26 +142,11 @@
bool removeAttachment(Attachment&);
- static const bool isIPCDecoder = true;
+ static constexpr bool isIPCDecoder = true;
- template <typename T>
- static std::optional<T> decodeSingleObject(const uint8_t* source, size_t numberOfBytes)
- {
- std::optional<T> result;
- Decoder decoder(source, numberOfBytes, ConstructWithoutHeader);
- if (!decoder.isValid())
- return std::nullopt;
-
- decoder >> result;
- return result;
- }
-
private:
Decoder(const uint8_t* buffer, size_t bufferSize, void (*bufferDeallocator)(const uint8_t*, size_t), Vector<Attachment>&&);
- enum ConstructWithoutHeaderTag { ConstructWithoutHeader };
- Decoder(const uint8_t* buffer, size_t bufferSize, ConstructWithoutHeaderTag);
-
bool alignBufferPosition(size_t alignment, size_t);
bool bufferIsLargeEnoughToContain(size_t alignment, size_t) const;
Modified: trunk/Source/WebKit/Platform/IPC/Encoder.cpp (285817 => 285818)
--- trunk/Source/WebKit/Platform/IPC/Encoder.cpp 2021-11-15 19:15:42 UTC (rev 285817)
+++ trunk/Source/WebKit/Platform/IPC/Encoder.cpp 2021-11-15 19:19:52 UTC (rev 285818)
@@ -66,24 +66,10 @@
Encoder::Encoder(MessageName messageName, uint64_t destinationID)
: m_messageName(messageName)
, m_destinationID(destinationID)
- , m_buffer(m_inlineBuffer)
- , m_bufferPointer(m_inlineBuffer)
- , m_bufferSize(0)
- , m_bufferCapacity(sizeof(m_inlineBuffer))
{
encodeHeader();
}
-Encoder::Encoder(ConstructWithoutHeaderTag)
- : m_messageName()
- , m_destinationID(0)
- , m_buffer(m_inlineBuffer)
- , m_bufferPointer(m_inlineBuffer)
- , m_bufferSize(0)
- , m_bufferCapacity(sizeof(m_inlineBuffer))
-{
-}
-
Encoder::~Encoder()
{
if (m_buffer != m_inlineBuffer)
Modified: trunk/Source/WebKit/Platform/IPC/Encoder.h (285817 => 285818)
--- trunk/Source/WebKit/Platform/IPC/Encoder.h 2021-11-15 19:15:42 UTC (rev 285817)
+++ trunk/Source/WebKit/Platform/IPC/Encoder.h 2021-11-15 19:19:52 UTC (rev 285818)
@@ -46,6 +46,11 @@
Encoder(MessageName, uint64_t destinationID);
~Encoder();
+ Encoder(const Encoder&) = delete;
+ Encoder(Encoder&&) = delete;
+ Encoder& operator=(const Encoder&) = delete;
+ Encoder& operator=(Encoder&&) = delete;
+
ReceiverName messageReceiverName() const { return receiverName(m_messageName); }
MessageName messageName() const { return m_messageName; }
uint64_t destinationID() const { return m_destinationID; }
@@ -76,26 +81,9 @@
Vector<Attachment> releaseAttachments();
void reserve(size_t);
- static const bool isIPCEncoder = true;
+ static constexpr bool isIPCEncoder = true;
- template<typename T>
- static RefPtr<WebCore::SharedBuffer> encodeSingleObject(const T& object)
- {
- Encoder encoder(ConstructWithoutHeader);
- encoder << object;
-
- if (encoder.hasAttachments()) {
- ASSERT_NOT_REACHED();
- return nullptr;
- }
-
- return WebCore::SharedBuffer::create(encoder.buffer(), encoder.bufferSize());
- }
-
private:
- enum ConstructWithoutHeaderTag { ConstructWithoutHeader };
- Encoder(ConstructWithoutHeaderTag);
-
uint8_t* grow(size_t alignment, size_t);
bool hasAttachments() const;
@@ -109,11 +97,11 @@
uint8_t m_inlineBuffer[512];
- uint8_t* m_buffer;
- uint8_t* m_bufferPointer;
+ uint8_t* m_buffer { m_inlineBuffer };
+ uint8_t* m_bufferPointer { m_inlineBuffer };
- size_t m_bufferSize;
- size_t m_bufferCapacity;
+ size_t m_bufferSize { 0 };
+ size_t m_bufferCapacity { sizeof(m_inlineBuffer) };
Vector<Attachment> m_attachments;
};