Changeset deca0f5 for libcfa/src/concurrency/CtxSwitch-x86_64.S
- Timestamp:
- Apr 18, 2019, 2:59:09 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 8c3a0336
- Parents:
- 3c06bba
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/CtxSwitch-x86_64.S
r3c06bba rdeca0f5 46 46 CtxSwitch: 47 47 48 // Save floating & SSE control words on the stack.49 50 subq $8,%rsp51 stmxcsr 0(%rsp) // 4 bytes52 fnstcw 4(%rsp) // 2 bytes53 54 48 // Save volatile registers on the stack. 55 49 … … 78 72 popq %r15 79 73 80 // Load floating & SSE control words from the stack.81 82 fldcw 4(%rsp)83 ldmxcsr 0(%rsp)84 addq $8,%rsp85 86 74 // Return to thread. 87 75 88 76 ret 89 77 .size CtxSwitch, .-CtxSwitch 90 91 92 //.text93 // .align 294 //.globl CtxStore95 //CtxStore:96 // // Save floating & SSE control words on the stack.97 //98 // subq $8,%rsp99 // stmxcsr 0(%rsp) // 4 bytes100 // fnstcw 4(%rsp) // 2 bytes101 //102 // // Save volatile registers on the stack.103 //104 // pushq %r15105 // pushq %r14106 // pushq %r13107 // pushq %r12108 // pushq %rbx109 //110 // // Save old context in the "from" area.111 //112 // movq %rsp,SP_OFFSET(%rdi)113 // movq %rbp,FP_OFFSET(%rdi)114 //115 // // Return to thread116 //117 // ret118 //119 //.text120 // .align 2121 //.globl CtxRet122 //CtxRet:123 // // Load new context from the "to" area.124 //125 // movq SP_OFFSET(%rdi),%rsp126 // movq FP_OFFSET(%rdi),%rbp127 //128 // // Load volatile registers from the stack.129 //130 // popq %rbx131 // popq %r12132 // popq %r13133 // popq %r14134 // popq %r15135 //136 // // Load floating & SSE control words from the stack.137 //138 // fldcw 4(%rsp)139 // ldmxcsr 0(%rsp)140 // addq $8,%rsp141 //142 // // Return to thread.143 //144 // ret145 146 78 147 79 .text
Note: See TracChangeset
for help on using the changeset viewer.