From 67a9159e57649823792c8686718a7abac066cb0b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 22 Nov 2012 12:40:33 +0100 Subject: score: Avoid superfluous loads --- cpukit/score/inline/rtems/score/thread.inl | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'cpukit/score/inline/rtems') diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index b2806385ab..272c14fdf2 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -76,8 +76,12 @@ */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void) { - _Thread_Dispatch_disable_level++; - return _Thread_Dispatch_disable_level; + uint32_t level = _Thread_Dispatch_disable_level; + + ++level; + _Thread_Dispatch_disable_level = level; + + return level; } /** @brief _Thread_Dispatch_decrement_disable_level @@ -86,8 +90,12 @@ */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void) { - _Thread_Dispatch_disable_level--; - return _Thread_Dispatch_disable_level; + uint32_t level = _Thread_Dispatch_disable_level; + + --level; + _Thread_Dispatch_disable_level = level; + + return level; } /** @brief _Thread_Dispatch_initialization -- cgit v1.2.3