From 9d8f350ffe6892b619bc7cd6dd40033cab9d4621 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Wed, 23 Apr 2014 15:52:57 +0200 Subject: [PATCH] Mark SoftwareSerial::recv and handle_interrupt as always_inline Since those functions are only called once now, it makes sense to inline them. This saves a few bytes of program space, but also saves a few cycles in the critical RX path. --- .../arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h b/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h index 778fffbf5..aa9bbf38d 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h +++ b/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h @@ -69,7 +69,7 @@ private: static SoftwareSerial *active_object; // private methods - void recv(); + void recv() __attribute__((__always_inline__)); uint8_t rx_pin_read(); void tx_pin_write(uint8_t pin_state) __attribute__((__always_inline__)); void setTX(uint8_t transmitPin); @@ -99,7 +99,7 @@ public: using Print::write; // public only for easy access by interrupt handlers - static inline void handle_interrupt(); + static inline void handle_interrupt() __attribute__((__always_inline__)); }; // Arduino 0012 workaround