Remove {QUIC,QUICHE}_PREDICT_{TRUE,FALSE} macros.
The internal override, Chromium's override [1], and Envoy's override [2] are all
ABSL_PREDICT_TRUE and ABSL_PREDICT_FALSE. (The default implementation is not,
but it is never used.)
Chromium merge rotation: please remove [1] (cleanup only, does not block merge).
Envoy merge rotation: please remove [2] (cleanup only, does not block merge)
and [3] (this would no longer compile).
[1]
https://source.chromium.org/chromium/chromium/src/+/main:net/third_party/quiche/overrides/quiche_platform_impl/quiche_logging_impl.h;l=76-77;drc=86ac25212e1dceb79a667aca3d0a4136d9ee5fbd
[2]
https://github.com/envoyproxy/envoy/blob/b58eb9519b6b3cf0facd0250898fdbc2ec2353ca/source/common/quic/platform/quiche_logging_impl.h#L130-L131
[3]
https://github.com/envoyproxy/envoy/blob/b58eb9519b6b3cf0facd0250898fdbc2ec2353ca/test/common/quic/platform/quic_platform_test.cc#L363-L372
PiperOrigin-RevId: 448509505
diff --git a/quiche/common/platform/api/quiche_logging.h b/quiche/common/platform/api/quiche_logging.h
index 940d492..217a201 100644
--- a/quiche/common/platform/api/quiche_logging.h
+++ b/quiche/common/platform/api/quiche_logging.h
@@ -26,9 +26,6 @@
#define QUICHE_LOG_IF(severity, condition) \
QUICHE_LOG_IF_IMPL(severity, condition)
-#define QUICHE_PREDICT_FALSE(x) QUICHE_PREDICT_FALSE_IMPL(x)
-#define QUICHE_PREDICT_TRUE(x) QUICHE_PREDICT_TRUE_IMPL(x)
-
// This is a noop in release build.
#define QUICHE_NOTREACHED() QUICHE_NOTREACHED_IMPL()
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h
index fab7f9c..b194bdd 100644
--- a/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h
+++ b/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h
@@ -74,9 +74,6 @@
#define QUICHE_LOG_IMPL_WARNING() ::quiche::NoopLogSink().stream()
#define QUICHE_LOG_IMPL_INFO() ::quiche::NoopLogSink().stream()
-#define QUICHE_PREDICT_FALSE_IMPL(x) (x)
-#define QUICHE_PREDICT_TRUE_IMPL(x) (x)
-
#define QUICHE_PLOG_IMPL(severity) ::quiche::NoopLogSink(#severity)
#define QUICHE_DLOG_INFO_IS_ON_IMPL() false
diff --git a/quiche/quic/core/quic_dispatcher.cc b/quiche/quic/core/quic_dispatcher.cc
index 072246d..281b584 100644
--- a/quiche/quic/core/quic_dispatcher.cc
+++ b/quiche/quic/core/quic_dispatcher.cc
@@ -8,6 +8,7 @@
#include <string>
#include <utility>
+#include "absl/base/optimization.h"
#include "absl/container/flat_hash_set.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/chlo_extractor.h"
@@ -518,7 +519,7 @@
constexpr size_t num_blocked_ports = ABSL_ARRAYSIZE(blocked_ports);
constexpr uint16_t highest_blocked_port =
blocked_ports[num_blocked_ports - 1];
- if (QUICHE_PREDICT_TRUE(port > highest_blocked_port)) {
+ if (ABSL_PREDICT_TRUE(port > highest_blocked_port)) {
// Early-return to skip comparisons for the majority of traffic.
return false;
}
@@ -1313,7 +1314,7 @@
std::unique_ptr<QuicSession> session = CreateQuicSession(
packet_info->destination_connection_id, packet_info->self_address,
packet_info->peer_address, alpn, packet_info->version, parsed_chlo);
- if (QUIC_PREDICT_FALSE(session == nullptr)) {
+ if (ABSL_PREDICT_FALSE(session == nullptr)) {
QUIC_BUG(quic_bug_10287_8)
<< "CreateQuicSession returned nullptr for "
<< packet_info->destination_connection_id << " from "
diff --git a/quiche/quic/core/quic_framer.cc b/quiche/quic/core/quic_framer.cc
index 2f8c5c1..b6b0c5b 100644
--- a/quiche/quic/core/quic_framer.cc
+++ b/quiche/quic/core/quic_framer.cc
@@ -5701,7 +5701,7 @@
++num_ack_blocks_written;
}
if (num_ack_blocks_written >= num_ack_blocks) {
- if (QUIC_PREDICT_FALSE(num_ack_blocks_written != num_ack_blocks)) {
+ if (ABSL_PREDICT_FALSE(num_ack_blocks_written != num_ack_blocks)) {
QUIC_BUG(quic_bug_10850_85)
<< "Wrote " << num_ack_blocks_written << ", expected to write "
<< num_ack_blocks;
diff --git a/quiche/quic/core/quic_one_block_arena.h b/quiche/quic/core/quic_one_block_arena.h
index 05d335b..a988a55 100644
--- a/quiche/quic/core/quic_one_block_arena.h
+++ b/quiche/quic/core/quic_one_block_arena.h
@@ -12,6 +12,7 @@
#include <cstdint>
+#include "absl/base/optimization.h"
#include "quiche/quic/core/quic_arena_scoped_ptr.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
@@ -37,7 +38,7 @@
<< "Object is too large for the arena.";
static_assert(alignof(T) > 1,
"Objects added to the arena must be at least 2B aligned.");
- if (QUIC_PREDICT_FALSE(offset_ > ArenaSize - AlignedSize<T>())) {
+ if (ABSL_PREDICT_FALSE(offset_ > ArenaSize - AlignedSize<T>())) {
QUIC_BUG(quic_bug_10593_1)
<< "Ran out of space in QuicOneBlockArena at " << this
<< ", max size was " << ArenaSize << ", failing request was "
diff --git a/quiche/quic/core/quic_udp_socket_posix.cc b/quiche/quic/core/quic_udp_socket_posix.cc
index c1ce940..c77d560 100644
--- a/quiche/quic/core/quic_udp_socket_posix.cc
+++ b/quiche/quic/core/quic_udp_socket_posix.cc
@@ -9,6 +9,7 @@
#include <sys/socket.h>
#include <sys/types.h>
+#include "absl/base/optimization.h"
#include "quiche/quic/core/quic_udp_socket.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_udp_socket_platform_api.h"
@@ -413,13 +414,13 @@
return;
}
- if (QUIC_PREDICT_FALSE(hdr.msg_flags & MSG_CTRUNC)) {
+ if (ABSL_PREDICT_FALSE(hdr.msg_flags & MSG_CTRUNC)) {
QUIC_BUG(quic_bug_10751_3)
<< "Control buffer too small. size:" << control_buffer.buffer_len;
return;
}
- if (QUIC_PREDICT_FALSE(hdr.msg_flags & MSG_TRUNC) ||
+ if (ABSL_PREDICT_FALSE(hdr.msg_flags & MSG_TRUNC) ||
// Normally "bytes_read > packet_buffer.buffer_len" implies the MSG_TRUNC
// bit is set, but it is not the case if tested with config=android_arm64.
static_cast<size_t>(bytes_read) > packet_buffer.buffer_len) {
@@ -502,14 +503,14 @@
}
msghdr& hdr = hdrs[i].msg_hdr;
- if (QUIC_PREDICT_FALSE(hdr.msg_flags & MSG_CTRUNC)) {
+ if (ABSL_PREDICT_FALSE(hdr.msg_flags & MSG_CTRUNC)) {
QUIC_BUG(quic_bug_10751_4) << "Control buffer too small. size:"
<< (*results)[i].control_buffer.buffer_len
<< ", need:" << hdr.msg_controllen;
continue;
}
- if (QUIC_PREDICT_FALSE(hdr.msg_flags & MSG_TRUNC)) {
+ if (ABSL_PREDICT_FALSE(hdr.msg_flags & MSG_TRUNC)) {
QUIC_LOG_FIRST_N(WARNING, 100)
<< "Received truncated QUIC packet: buffer size:"
<< (*results)[i].packet_buffer.buffer_len
diff --git a/quiche/quic/platform/api/quic_logging.h b/quiche/quic/platform/api/quic_logging.h
index 884c78a..c44e53f 100644
--- a/quiche/quic/platform/api/quic_logging.h
+++ b/quiche/quic/platform/api/quic_logging.h
@@ -22,9 +22,6 @@
#define QUIC_LOG_EVERY_N_SEC QUICHE_LOG_EVERY_N_SEC
#define QUIC_LOG_IF QUICHE_LOG_IF
-#define QUIC_PREDICT_FALSE QUICHE_PREDICT_FALSE
-#define QUIC_PREDICT_TRUE QUICHE_PREDICT_TRUE
-
#define QUIC_PLOG QUICHE_PLOG
#define QUIC_DLOG_INFO_IS_ON QUICHE_DLOG_INFO_IS_ON
diff --git a/quiche/quic/qbone/platform/tcp_packet.cc b/quiche/quic/qbone/platform/tcp_packet.cc
index 8bc8cb7..e73e284 100644
--- a/quiche/quic/qbone/platform/tcp_packet.cc
+++ b/quiche/quic/qbone/platform/tcp_packet.cc
@@ -6,6 +6,7 @@
#include <netinet/ip6.h>
+#include "absl/base/optimization.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/qbone/platform/internet_checksum.h"
@@ -35,17 +36,17 @@
// By the time this method is called, original_packet should be fairly
// strongly validated. However, it's better to be more paranoid than not, so
// here are a bunch of very obvious checks.
- if (QUIC_PREDICT_FALSE(original_packet.size() < sizeof(ip6_hdr))) {
+ if (ABSL_PREDICT_FALSE(original_packet.size() < sizeof(ip6_hdr))) {
return;
}
auto* ip6_header = reinterpret_cast<const ip6_hdr*>(original_packet.data());
- if (QUIC_PREDICT_FALSE(ip6_header->ip6_vfc >> 4 != 6)) {
+ if (ABSL_PREDICT_FALSE(ip6_header->ip6_vfc >> 4 != 6)) {
return;
}
- if (QUIC_PREDICT_FALSE(ip6_header->ip6_nxt != IPPROTO_TCP)) {
+ if (ABSL_PREDICT_FALSE(ip6_header->ip6_nxt != IPPROTO_TCP)) {
return;
}
- if (QUIC_PREDICT_FALSE(quiche::QuicheEndian::NetToHost16(
+ if (ABSL_PREDICT_FALSE(quiche::QuicheEndian::NetToHost16(
ip6_header->ip6_plen) < sizeof(tcphdr))) {
return;
}
diff --git a/quiche/quic/qbone/qbone_packet_processor.cc b/quiche/quic/qbone/qbone_packet_processor.cc
index cad6cff..abf77d5 100644
--- a/quiche/quic/qbone/qbone_packet_processor.cc
+++ b/quiche/quic/qbone/qbone_packet_processor.cc
@@ -6,6 +6,7 @@
#include <cstring>
+#include "absl/base/optimization.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_ip_address_family.h"
@@ -62,7 +63,7 @@
void QbonePacketProcessor::ProcessPacket(std::string* packet,
Direction direction) {
- if (QUIC_PREDICT_FALSE(!IsValid())) {
+ if (ABSL_PREDICT_FALSE(!IsValid())) {
QUIC_BUG(quic_bug_11024_1)
<< "QuicPacketProcessor is invoked in an invalid state.";
stats_->OnPacketDroppedSilently(direction);