Ignore:
Timestamp:
Mar 9, 2017, 10:47:08 PM (7 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
68ac32e, a9b657a
Parents:
6152c81 (diff), 7b2c2c5f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge

File:
1 edited

Legend:

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

    r6152c81 r149d297  
    5252        movl 4(%esp),%eax
    5353
     54        // Save floating & SSE control words on the stack.
     55
     56        sub    $8,%esp
     57        stmxcsr 0(%esp)         // 4 bytes
     58        fnstcw  4(%esp)         // 2 bytes
     59
    5460        // Save volatile registers on the stack.
    5561
     
    6975        // argument is now at 8 + 12 = 20(%esp)
    7076
    71         movl 20(%esp),%eax
     77        movl 28(%esp),%eax
    7278
    7379        // Load new context from the "to" area.
     
    8187        popl %edi
    8288        popl %ebx
     89
     90        // Load floating & SSE control words from the stack.
     91
     92        fldcw   4(%esp)
     93        ldmxcsr 0(%esp)
     94        add    $8,%esp
    8395
    8496        // Return to thread.
Note: See TracChangeset for help on using the changeset viewer.