Small optimization.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14863 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
82b03e885e
commit
8db7a89fe6
|
@ -65,7 +65,7 @@ uint64_t port_schedule_next(void) {
|
||||||
/* Note, not an error, we are outside the ISR already.*/
|
/* Note, not an error, we are outside the ISR already.*/
|
||||||
chSysLock();
|
chSysLock();
|
||||||
|
|
||||||
if (chSchIsPreemptionRequired()) {
|
if (likely(chSchIsPreemptionRequired())) {
|
||||||
return ((uint64_t)(uint32_t)chThdGetSelfX() << 32) |
|
return ((uint64_t)(uint32_t)chThdGetSelfX() << 32) |
|
||||||
((uint64_t)(uint32_t)chSchSelectFirst() << 0);
|
((uint64_t)(uint32_t)chSchSelectFirst() << 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,48 +280,6 @@ PendSV_Handler:
|
||||||
|
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
push {lr}
|
|
||||||
bl port_schedule_next
|
|
||||||
cmp r0, #0
|
|
||||||
it eq
|
|
||||||
popeq {pc}
|
|
||||||
pop {lr}
|
|
||||||
|
|
||||||
/* Context store for old thread.*/
|
|
||||||
adds r1, #CONTEXT_OFFSET
|
|
||||||
PORT_STORE_INTEGER_CONTEXT
|
|
||||||
PORT_STORE_FLOAT_CONTEXT
|
|
||||||
PORT_STORE_MPU_CONTEXT
|
|
||||||
|
|
||||||
/* Context load for new thread.*/
|
|
||||||
adds r0, #CONTEXT_OFFSET
|
|
||||||
PORT_LOAD_INTEGER_CONTEXT
|
|
||||||
|
|
||||||
#if CH_DBG_SYSTEM_STATE_CHECK || CH_DBG_STATISTICS
|
|
||||||
cmp r3, #CORTEX_BASEPRI_DISABLED
|
|
||||||
bne 1f
|
|
||||||
push {r0, lr}
|
|
||||||
/* Returning to a preempted thread, performing a logical
|
|
||||||
"unlock" and handling statistics.*/
|
|
||||||
#if CH_DBG_SYSTEM_STATE_CHECK
|
|
||||||
bl __dbg_check_unlock
|
|
||||||
#endif
|
|
||||||
#if CH_DBG_STATISTICS
|
|
||||||
bl __stats_stop_measure_crit_thd
|
|
||||||
#endif
|
|
||||||
pop {r0, lr}
|
|
||||||
1:
|
|
||||||
#endif /* CH_DBG_SYSTEM_STATE_CHECK || CH_DBG_STATISTICS */
|
|
||||||
|
|
||||||
PORT_LOAD_FLOAT_CONTEXT
|
|
||||||
PORT_LOAD_MPU_CONTEXT
|
|
||||||
|
|
||||||
bx lr
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*
|
/*--------------------------------------------------------------------------*
|
||||||
* Start a thread by invoking its work function.
|
* Start a thread by invoking its work function.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue