Balsa: make invalid header char table builders constexpr.
This seems to help with CPU utilization in loadtests.
Protected by optimization with no functional change; not protected.
PiperOrigin-RevId: 760684491
diff --git a/quiche/balsa/header_properties.cc b/quiche/balsa/header_properties.cc
index b72fe19..5c08f6f 100644
--- a/quiche/balsa/header_properties.cc
+++ b/quiche/balsa/header_properties.cc
@@ -65,7 +65,7 @@
return multivalued_headers;
}
-std::array<bool, 256> buildInvalidHeaderKeyCharLookupTable() {
+constexpr std::array<bool, 256> buildInvalidHeaderKeyCharLookupTable() {
std::array<bool, 256> invalidCharTable;
invalidCharTable.fill(false);
for (uint8_t c : kInvalidHeaderKeyCharList) {
@@ -74,7 +74,8 @@
return invalidCharTable;
}
-std::array<bool, 256> buildInvalidHeaderKeyCharLookupTableAllowDoubleQuote() {
+constexpr std::array<bool, 256>
+buildInvalidHeaderKeyCharLookupTableAllowDoubleQuote() {
std::array<bool, 256> invalidCharTable;
invalidCharTable.fill(false);
for (uint8_t c : kInvalidHeaderKeyCharListAllowDoubleQuote) {
@@ -83,7 +84,7 @@
return invalidCharTable;
}
-std::array<bool, 256> buildInvalidCharLookupTable() {
+constexpr std::array<bool, 256> buildInvalidCharLookupTable() {
std::array<bool, 256> invalidCharTable;
invalidCharTable.fill(false);
for (uint8_t c : kInvalidHeaderCharList) {
@@ -92,7 +93,7 @@
return invalidCharTable;
}
-std::array<bool, 256> buildInvalidPathCharLookupTable() {
+constexpr std::array<bool, 256> buildInvalidPathCharLookupTable() {
std::array<bool, 256> invalidCharTable;
invalidCharTable.fill(true);
for (uint8_t c : kValidPathCharList) {
@@ -101,7 +102,7 @@
return invalidCharTable;
}
-std::array<bool, 256> buildInvalidQueryCharLookupTable() {
+constexpr std::array<bool, 256> buildInvalidQueryCharLookupTable() {
std::array<bool, 256> invalidCharTable;
invalidCharTable.fill(true);
for (uint8_t c : kValidQueryCharList) {