The RT_ASSERT(obj != object) line is only compiled for debug mode.
But the rt_enter/exit_critical causes the compiler not to optimize
at least these 2 calls, even if it could optimize out the whole loop,
because the rt_list_entry function has no side effect, and RT_ASSET
is a no-operation in release mode. So this patch fixes this:
- no warnings anymore
- better speed in release mode