cpu-x86: clear the x87 stack when rewinding; fixes math.floats.env failures on Linux
parent
699695ba14
commit
a456f79f9c
|
@ -56,6 +56,11 @@ DEF(F_FASTCALL void,c_to_factor,(CELL quot)):
|
|||
ret
|
||||
|
||||
DEF(F_FASTCALL void,throw_impl,(CELL quot, F_STACK_FRAME *rewind_to)):
|
||||
/* clear x87 stack, but preserve rounding mode and exception flags */
|
||||
sub $2,STACK_REG
|
||||
fnstcw (STACK_REG)
|
||||
fninit
|
||||
fldcw (STACK_REG)
|
||||
/* rewind_to */
|
||||
mov ARG1,STACK_REG
|
||||
jmp *QUOT_XT_OFFSET(ARG0)
|
||||
|
|
Loading…
Reference in New Issue