Changeset f586539


Ignore:
Timestamp:
Mar 31, 2020, 6:21:44 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
5137f9f
Parents:
139a7e1
Message:

Fixed incorrect check reporting the main thread has corrupted stack

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.cfa

    r139a7e1 rf586539  
    558558        verify( dst->context.SP );
    559559
     560        // SKULLDUGGERY in debug the processors check that the
     561        // stack is still within the limit of the stack limits after running a thread.
     562        // that check doesn't make sense if we context switch to the processor using the
     563        // coroutine semantics. Since this is a special case, use the current context
     564        // info to populate these fields.
     565        __cfaabi_dbg_debug_do(
     566                __stack_context_t ctx;
     567                CtxGet( ctx );
     568                mainThread->context.SP = ctx.SP;
     569                mainThread->context.FP = ctx.FP;
     570        )
     571
    560572        // context switch to the processor
    561573        __cfactx_switch( &src->context, &dst->context );
Note: See TracChangeset for help on using the changeset viewer.