X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-64-assem.S;h=85d5238583f98eb0537f6ecacdd28dfe15c10f77;hb=3dd90b64c37103d9c86d32b6c36277a6cea4098a;hp=02cbf26b55fed21c6ddda86f81fced0e0482810f;hpb=1a19da9ff50a45962fc2cf42c7a241a2ce97a364;p=sbcl.git diff --git a/src/runtime/x86-64-assem.S b/src/runtime/x86-64-assem.S index 02cbf26..85d5238 100644 --- a/src/runtime/x86-64-assem.S +++ b/src/runtime/x86-64-assem.S @@ -143,10 +143,7 @@ GNAME(call_into_lisp_first_time): #else movq GNAME(all_threads),%rax #endif - mov THREAD_CONTROL_STACK_START_OFFSET(%rax) ,%rsp - /* don't think too hard about what happens if we get interrupted - * here */ - add $(THREAD_CONTROL_STACK_SIZE)-16,%rsp + mov THREAD_CONTROL_STACK_END_OFFSET(%rax) ,%rsp jmp Lstack .text @@ -249,19 +246,17 @@ LsingleValue: .text .globl GNAME(fpu_save) TYPE(GNAME(fpu_save)) - .align 2,0x90 + .align align_16byte,0x90 GNAME(fpu_save): - mov 4(%rsp),%rax - fnsave (%rax) # Save the NPX state. (resets NPX) + fnsave (%rdi) # Save the NPX state. (resets NPX) ret SIZE(GNAME(fpu_save)) .globl GNAME(fpu_restore) TYPE(GNAME(fpu_restore)) - .align 2,0x90 + .align align_16byte,0x90 GNAME(fpu_restore): - mov 4(%rsp),%rax - frstor (%rax) # Restore the NPX state. + frstor (%rdi) # Restore the NPX state. ret SIZE(GNAME(fpu_restore)) @@ -372,6 +367,7 @@ GNAME(fun_end_breakpoint_guts): multiple_value_return: .globl GNAME(fun_end_breakpoint_trap) + .align align_16byte,0x90 GNAME(fun_end_breakpoint_trap): TRAP .byte trap_FunEndBreakpoint