mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
21725983fd
Instead of ALWAYS_INLINE on encode_field_raw (which bloated all callers), have the code generator precompute the tag byte and emit write_raw_byte(tag) + write_fixed32_raw(value) directly. This gives the same tight codegen (single byte store + memcpy) for key fields without inflating encode_bool/encode_uint32/etc. +108 bytes flash vs baseline, -48 bytes vs the ALWAYS_INLINE approach.