score: Optimize _Thread_queue_Compare_priority()

This commit is contained in:
Sebastian Huber
2015-04-24 10:51:24 +02:00
parent 56729d83c9
commit a61d38501a

View File

@@ -29,19 +29,20 @@ RBTree_Compare_result _Thread_queue_Compare_priority(
const RBTree_Node *right const RBTree_Node *right
) )
{ {
Priority_Control left_priority = const Thread_Control *left_thread;
THREAD_RBTREE_NODE_TO_THREAD( left )->current_priority; const Thread_Control *right_thread;
Priority_Control right_priority = Priority_Control left_prio;
THREAD_RBTREE_NODE_TO_THREAD( right )->current_priority; Priority_Control right_prio;
left_thread = THREAD_RBTREE_NODE_TO_THREAD( left );
right_thread = THREAD_RBTREE_NODE_TO_THREAD( right );
left_prio = left_thread->current_priority;
right_prio = right_thread->current_priority;
/* /*
* SuperCore priorities use lower numbers to indicate greater importance. * SuperCore priorities use lower numbers to indicate greater importance.
*/ */
if ( left_priority == right_priority ) return ( left_prio > right_prio ) - ( left_prio < right_prio );
return 0;
if ( left_priority < right_priority )
return -1;
return 1;
} }
void _Thread_queue_Initialize( void _Thread_queue_Initialize(