From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Sun, 2 Jun 2013 17:38:19 +0200 From: cinap_lenrek@gmx.de To: 9fans@9fans.net In-Reply-To: <24549bcc3d58a4e6404274b24e2d1fe7@proxima.alt.za> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Go and 21-bit runes (and a bit of Go status) Topicbox-Message-UUID: 5fb3e116-ead8-11e9-9d60-3106f5b1d025 the saving isnt the problem. the kernel already flushes the fp registers to the process fpsave area on notify. its just that we do *not* copy the registers to the user stack, but save them in the process fpsave area. as theres just just one fpsave area in the process, and not one for notes and one for normal code, note handler is forbitten to use fp again. its not for the sake of movou. its for the sake of the process interrupted by the note. say, you have a programm that gets just interrupted by note while in that omgoptimized sse memmove() where it just loaded some chunks into XMM0 register, and then the note fires. then the note handler does memmove itself modifying XMM0 itself loading it with something completely different. then note handler finishes continuing the original programm, then XMM0 would contain the garbage from the note handler! it would look for the program like if registers randomly change under it! -- cinap