pw_kernel: Signal objects with masked SignalUpdate Every ObjectBase::signal() caller passed a closure that was a pure mask operation, so each call site paid for its own instantiation of the update path. Take a SignalUpdate (mask and values) instead. Code size (bytes): mps2_an505 ipc.elf 66348 -> 65768 (-580) mps2_an505 wait_group.elf 68388 -> 67848 (-540) qemu_virt_riscv32 ipc.elf 68384 -> 67568 (-816) qemu_virt_riscv32 wait_group.elf 70648 -> 69868 (-780) Change-Id: I2c5653105c14968e7ac83afc0ae836ace4ef9431 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/477126
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.