Replace quic_aligned.h with Abseil and C++11 features. Since alignas() is now officially supported in google3, use it instead of __attribute__((aligned)). PiperOrigin-RevId: 339158191 Change-Id: Ie5ee589648ff2e3e86ff668e1ab82e887ae45fe1
diff --git a/quic/core/batch_writer/quic_batch_writer_buffer.h b/quic/core/batch_writer/quic_batch_writer_buffer.h index b55e63c..88183f3 100644 --- a/quic/core/batch_writer/quic_batch_writer_buffer.h +++ b/quic/core/batch_writer/quic_batch_writer_buffer.h
@@ -5,10 +5,10 @@ #ifndef QUICHE_QUIC_PLATFORM_IMPL_BATCH_WRITER_QUIC_BATCH_WRITER_BUFFER_H_ #define QUICHE_QUIC_PLATFORM_IMPL_BATCH_WRITER_QUIC_BATCH_WRITER_BUFFER_H_ +#include "absl/base/optimization.h" #include "net/third_party/quiche/src/quic/core/quic_circular_deque.h" #include "net/third_party/quiche/src/quic/core/quic_linux_socket_utils.h" #include "net/third_party/quiche/src/quic/core/quic_packet_writer.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h" #include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h" @@ -86,7 +86,7 @@ // Whether the invariants of the buffer are upheld. For debug & test only. bool Invariants() const; const char* buffer_end() const { return buffer_ + sizeof(buffer_); } - QUIC_CACHELINE_ALIGNED char buffer_[kBufferSize]; + ABSL_CACHELINE_ALIGNED char buffer_[kBufferSize]; QuicCircularDeque<BufferedWrite> buffered_writes_; };
diff --git a/quic/core/crypto/aead_base_encrypter.cc b/quic/core/crypto/aead_base_encrypter.cc index 3b82755..b87ea50 100644 --- a/quic/core/crypto/aead_base_encrypter.cc +++ b/quic/core/crypto/aead_base_encrypter.cc
@@ -10,7 +10,6 @@ #include "third_party/boringssl/src/include/openssl/err.h" #include "third_party/boringssl/src/include/openssl/evp.h" #include "net/third_party/quiche/src/quic/core/quic_utils.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h" @@ -136,7 +135,7 @@ } // TODO(ianswett): Introduce a check to ensure that we don't encrypt with the // same packet number twice. - QUIC_ALIGNED(4) char nonce_buffer[kMaxNonceSize]; + alignas(4) char nonce_buffer[kMaxNonceSize]; memcpy(nonce_buffer, iv_, nonce_size_); size_t prefix_len = nonce_size_ - sizeof(packet_number); if (use_ietf_nonce_construction_) {
diff --git a/quic/core/quic_arena_scoped_ptr.h b/quic/core/quic_arena_scoped_ptr.h index 92da3db..fdd0c29 100644 --- a/quic/core/quic_arena_scoped_ptr.h +++ b/quic/core/quic_arena_scoped_ptr.h
@@ -13,7 +13,6 @@ #include <cstdint> // for uintptr_t -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_export.h" #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h" @@ -21,7 +20,7 @@ template <typename T> class QUIC_NO_EXPORT QuicArenaScopedPtr { - static_assert(QUIC_ALIGN_OF(T*) > 1, + static_assert(alignof(T*) > 1, "QuicArenaScopedPtr can only store objects that are aligned to " "greater than 1 byte.");
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 16145d1..155e76d 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -13,6 +13,7 @@ #include "absl/base/attributes.h" #include "absl/base/macros.h" +#include "absl/base/optimization.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/crypto/crypto_framer.h" #include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h" @@ -37,7 +38,6 @@ #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/core/quic_utils.h" #include "net/third_party/quiche/src/quic/core/quic_versions.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_client_stats.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h" @@ -1499,7 +1499,7 @@ } else if (packet.length() <= kMaxIncomingPacketSize) { // The optimized decryption algorithm implementations run faster when // operating on aligned memory. - QUIC_CACHELINE_ALIGNED char buffer[kMaxIncomingPacketSize]; + ABSL_CACHELINE_ALIGNED char buffer[kMaxIncomingPacketSize]; if (packet_has_ietf_packet_header) { rv = ProcessIetfDataPacket(&reader, &header, packet, buffer, ABSL_ARRAYSIZE(buffer));
diff --git a/quic/core/quic_one_block_arena.h b/quic/core/quic_one_block_arena.h index 41842f3..d821803 100644 --- a/quic/core/quic_one_block_arena.h +++ b/quic/core/quic_one_block_arena.h
@@ -44,7 +44,7 @@ // Actual storage. // Subtle/annoying: the value '8' must be coded explicitly into the alignment // declaration for MSVC. - QUIC_ALIGNED(8) char storage_[ArenaSize]; + alignas(8) char storage_[ArenaSize]; // Current offset into the storage. uint32_t offset_; }; @@ -57,7 +57,7 @@ QuicArenaScopedPtr<T> QuicOneBlockArena<ArenaSize>::New(Args&&... args) { DCHECK_LT(AlignedSize<T>(), ArenaSize) << "Object is too large for the arena."; - static_assert(QUIC_ALIGN_OF(T) > 1, + static_assert(alignof(T) > 1, "Objects added to the arena must be at least 2B aligned."); if (QUIC_PREDICT_FALSE(offset_ > ArenaSize - AlignedSize<T>())) { QUIC_BUG << "Ran out of space in QuicOneBlockArena at " << this
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc index 3b367d3..12b7e2d 100644 --- a/quic/core/quic_packet_creator.cc +++ b/quic/core/quic_packet_creator.cc
@@ -12,6 +12,7 @@ #include <utility> #include "absl/base/macros.h" +#include "absl/base/optimization.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/crypto/crypto_protocol.h" #include "net/third_party/quiche/src/quic/core/frames/quic_frame.h" @@ -24,7 +25,6 @@ #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/core/quic_utils.h" #include "net/third_party/quiche/src/quic/core/quic_versions.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_exported_stats.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h" @@ -469,7 +469,7 @@ return; } - QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; + ABSL_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; QuicOwnedPacketBuffer external_buffer(delegate_->GetPacketBuffer()); if (external_buffer.buffer == nullptr) { @@ -593,7 +593,7 @@ << ": " << SerializedPacketFateToString(packet_.fate) << " of " << EncryptionLevelToString(packet_.encryption_level); - QUIC_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; + ABSL_CACHELINE_ALIGNED char stack_buffer[kMaxOutgoingPacketSize]; QuicOwnedPacketBuffer packet_buffer(delegate_->GetPacketBuffer()); if (packet_buffer.buffer == nullptr) {
diff --git a/quic/core/quic_packet_reader.h b/quic/core/quic_packet_reader.h index 86eaa0e..6edf1f1 100644 --- a/quic/core/quic_packet_reader.h +++ b/quic/core/quic_packet_reader.h
@@ -7,11 +7,11 @@ #ifndef QUICHE_QUIC_CORE_QUIC_PACKET_READER_H_ #define QUICHE_QUIC_CORE_QUIC_PACKET_READER_H_ +#include "absl/base/optimization.h" #include "net/third_party/quiche/src/quic/core/quic_clock.h" #include "net/third_party/quiche/src/quic/core/quic_packets.h" #include "net/third_party/quiche/src/quic/core/quic_process_packet_interface.h" #include "net/third_party/quiche/src/quic/core/quic_udp_socket.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" #include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h" @@ -51,10 +51,10 @@ bool prefer_v6_ip); struct QUIC_EXPORT_PRIVATE ReadBuffer { - QUIC_CACHELINE_ALIGNED char + ABSL_CACHELINE_ALIGNED char control_buffer[kDefaultUdpPacketControlBufferSize]; // For ancillary // data. - QUIC_CACHELINE_ALIGNED char packet_buffer[kMaxIncomingPacketSize]; + ABSL_CACHELINE_ALIGNED char packet_buffer[kMaxIncomingPacketSize]; }; QuicUdpSocketApi socket_api_;
diff --git a/quic/core/quic_utils.cc b/quic/core/quic_utils.cc index b411e11..9def438 100644 --- a/quic/core/quic_utils.cc +++ b/quic/core/quic_utils.cc
@@ -10,12 +10,12 @@ #include <string> #include "absl/base/macros.h" +#include "absl/base/optimization.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/quic_connection_id.h" #include "net/third_party/quiche/src/quic/core/quic_constants.h" #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/core/quic_versions.h" -#include "net/third_party/quiche/src/quic/platform/api/quic_aligned.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" @@ -265,7 +265,7 @@ // it to the hardware prefetcher after that. QuicPrefetchT0(next_base); if (iov[iovnum + 1].iov_len >= 64) { - QuicPrefetchT0(next_base + QUIC_CACHELINE_SIZE); + QuicPrefetchT0(next_base + ABSL_CACHELINE_SIZE); } }
diff --git a/quic/platform/api/quic_aligned.h b/quic/platform/api/quic_aligned.h deleted file mode 100644 index ecfa649..0000000 --- a/quic/platform/api/quic_aligned.h +++ /dev/null
@@ -1,15 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_ -#define QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_ - -#include "net/quic/platform/impl/quic_aligned_impl.h" - -#define QUIC_ALIGN_OF QUIC_ALIGN_OF_IMPL -#define QUIC_ALIGNED(X) QUIC_ALIGNED_IMPL(X) -#define QUIC_CACHELINE_ALIGNED QUIC_CACHELINE_ALIGNED_IMPL -#define QUIC_CACHELINE_SIZE QUIC_CACHELINE_SIZE_IMPL - -#endif // QUICHE_QUIC_PLATFORM_API_QUIC_ALIGNED_H_
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h index 8b53f8f..0224235 100644 --- a/quic/test_tools/quic_test_utils.h +++ b/quic/test_tools/quic_test_utils.h
@@ -1991,7 +1991,7 @@ class TestPacketWriter : public QuicPacketWriter { struct PacketBuffer { - QUIC_CACHELINE_ALIGNED char buffer[1500]; + ABSL_CACHELINE_ALIGNED char buffer[1500]; bool in_use = false; };