Changeset 14425
- Timestamp:
- Nov 12, 2010, 2:43:22 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/lisp-kernel/x86-spentry64.s (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/x86-spentry64.s
r13994 r14425 3990 3990 __(movq %rbp,rcontext(tcr.save_rbp)) 3991 3991 __(movq $TCR_STATE_FOREIGN,rcontext(tcr.valence)) 3992 __(movq rcontext(tcr.foreign_sp),%rsp) 3993 __ifdef(`WINDOWS') 3994 __(stmxcsr rcontext(tcr.lisp_mxcsr)) 3995 __else 3992 3996 __(movq $0,rcontext(tcr.ffi_exception)) 3993 __ (movq rcontext(tcr.foreign_sp),%rsp)3997 __endif 3994 3998 __(emms) 3999 __ifdef(`WINDOWS') 4000 __(ldmxcsr rcontext(tcr.foreign_mxcsr)) 4001 __endif 3995 4002 __(movq (%rsp),%rbp) 3996 4003 __ifdef(`DARWIN_GS_HACK') … … 4070 4077 __(pxor %fpzero,%fpzero) 4071 4078 4079 __ifndef(`WINDOWS') 4072 4080 /* If we got a floating-point exception during the ff-call, 4073 4081 our handler will have set a flag, preserved lisp's MXCSR, … … 4075 4083 __(btrq $TCR_FLAG_BIT_FOREIGN_FPE,rcontext(tcr.flags)) 4076 4084 __(jnc 1f) 4085 __endif 4077 4086 __(cmpb $0,C(bogus_fp_exceptions)(%rip)) 4078 4087 __(je 0f) … … 4080 4089 __(jmp 1f) 4081 4090 0: __(stmxcsr rcontext(tcr.ffi_exception)) 4091 __ifndef(`WINDOWS') 4082 4092 __(ldmxcsr rcontext(tcr.lisp_mxcsr)) /* preserved by the handler */ 4093 __endif 4083 4094 1: __(movq rcontext(tcr.save_vsp),%rsp) 4084 4095 __(movq rcontext(tcr.save_rbp),%rbp) … … 4096 4107 __(pop %temp2) 4097 4108 __(pop %temp1) 4109 __ifdef(`WINDOWS') 4110 __(ldmxcsr rcontext(tcr.lisp_mxcsr)) 4111 __endif 4098 4112 __(check_pending_interrupt(%temp0)) 4099 4113 __(pop %temp0)
Note:
See TracChangeset
for help on using the changeset viewer.
