Files
esphome/esphome
J. Nick Koston 8cf3cbf7ea [web_server] Flatten deq_push_back_with_dedup_ to inline vector realloc
On ESP8266 (GCC 10.3), std::vector::push_back() emits a separate
_M_realloc_insert<DeferredEvent> function (198 bytes) that is only
called from one site. Adding __attribute__((flatten)) forces the
compiler to inline it, eliminating the out-of-line function's
prologue/epilogue and call overhead.

This matches what GCC 14.2 (ESP-IDF toolchain) already does
naturally for the equivalent code in web_server_idf.cpp.

Saves 80 bytes of flash on ESP8266.
2026-02-12 16:07:19 -06:00
..
2026-02-12 23:04:19 +13:00