Summary
Re-dissolving the gust thin drivers with synth 0.49.0 (from 0.11.50) is
net-positive on code size — but gpio-thin regressed +9% while every other
driver shrank or held. Register effects are unchanged (verified: the driver's
Renode content-gate passes with the new object), so this is a pure codegen size
regression, not a correctness issue.
Measured (text bytes, --target cortex-m3 --all-exports --relocatable)
| driver |
0.11.50 |
0.49.0 |
Δ |
| spi |
494 |
454 |
−8% |
| wdg |
660 |
648 |
−2% |
| i2c |
992 |
974 |
−2% |
| pwm |
728 |
706 |
−3% |
| adc |
754 |
740 |
−2% |
| can |
804 |
796 |
−1% |
| dac |
686 |
678 |
−1% |
| timer |
212 |
212 |
0 |
| uart |
254 |
254 |
0 |
| gpio |
490 |
534 |
+9% |
Pipeline: loom optimize <wasm> --passes inline --attestation false | synth compile --target cortex-m3 --all-exports --relocatable (loom 1.1.14→1.2.0 alongside).
Ask
gpio-thin is the outlier. A synth disasm diff of the 0.11 vs 0.49 gpio object
should show which pass added the bytes — likely a case where a 0.49 codegen change
(some other opt) outweighs the #686 shift-mask-elision win for this particular pin
bit-arithmetic shape. Not blocking adoption (still 0-SRAM, effects identical), but
worth understanding since gpio is the smallest/simplest driver and regressed most.
Summary
Re-dissolving the gust thin drivers with synth 0.49.0 (from 0.11.50) is
net-positive on code size — but gpio-thin regressed +9% while every other
driver shrank or held. Register effects are unchanged (verified: the driver's
Renode content-gate passes with the new object), so this is a pure codegen size
regression, not a correctness issue.
Measured (text bytes,
--target cortex-m3 --all-exports --relocatable)Pipeline:
loom optimize <wasm> --passes inline --attestation false | synth compile --target cortex-m3 --all-exports --relocatable(loom 1.1.14→1.2.0 alongside).Ask
gpio-thin is the outlier. A
synth disasmdiff of the 0.11 vs 0.49 gpio objectshould show which pass added the bytes — likely a case where a 0.49 codegen change
(some other opt) outweighs the #686 shift-mask-elision win for this particular pin
bit-arithmetic shape. Not blocking adoption (still 0-SRAM, effects identical), but
worth understanding since gpio is the smallest/simplest driver and regressed most.