coctx_swap函数:leaq 8(%rsp), %rsp
Opened this issue · 0 comments
ToBeNiu commented
leaq 8(%rsp), %rsp
pushq 72(%rsi)
movq 64(%rsi), %rsi
ret
如果调入协程是新协程,上述代码会切换到新协程,并且使rsp指向ctx->ss_sp + ctx->ss_size,充分利用协程栈空间;
如果调入协程不是新协程,是个已经执行过的协程,本次只是重新调入而已,那么上述代码(leaq 8(%rsp), %rsp)是不是破坏了栈的完整性?是不是覆盖了rsp原有的数据??
希望有空解释下