Ignore:
Timestamp:
Apr 4, 2019, 3:37:55 PM (3 years ago)
Author:
tdelisle <tdelisle@…>
Branches:
arm-eh, cleanup-dtors, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
8c01e1b
Parents:
2fabdc02
Message:

Swapped memory storage for context and stack information inside the coroutine implementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/CtxSwitch-i386.S

    r2fabdc02 rb2f6113  
    5353        // Save floating & SSE control words on the stack.
    5454
    55         sub    $8,%esp
    56         stmxcsr 0(%esp)         // 4 bytes
    57         fnstcw  4(%esp)         // 2 bytes
     55        sub    $8,%esp
     56        stmxcsr 0(%esp)         // 4 bytes
     57        fnstcw  4(%esp)         // 2 bytes
    5858
    5959        // Save volatile registers on the stack.
     
    6767        movl %esp,SP_OFFSET(%eax)
    6868        movl %ebp,FP_OFFSET(%eax)
    69 //      movl 4(%ebp),%ebx       // save previous eip for debugger
    70 //      movl %ebx,PC_OFFSET(%eax)
    7169
    7270        // Copy the "to" context argument from the stack to register eax
     
    8987        // Load floating & SSE control words from the stack.
    9088
    91         fldcw   4(%esp)
    92         ldmxcsr 0(%esp)
    93         add    $8,%esp
     89        fldcw   4(%esp)
     90        ldmxcsr 0(%esp)
     91        add    $8,%esp
    9492
    9593        // Return to thread.
Note: See TracChangeset for help on using the changeset viewer.