Date: Fri, 5 Sep 2003 19:11:13 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 37640 for review Message-ID: <200309060211.h862BDD2085714@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=37640 Change 37640 by peter@peter_daintree on 2003/09/05 19:10:50 back out Affected files ... .. //depot/projects/ezm3/libs/m3core/src/C/FBSD_AMD64/Csetjmp.i3#6 edit .. //depot/projects/ezm3/libs/m3core/src/runtime/FBSD_AMD64/RTThread.m3#3 edit Differences ... ==== //depot/projects/ezm3/libs/m3core/src/C/FBSD_AMD64/Csetjmp.i3#6 (text+ko) ==== @@ -14,12 +14,11 @@ jmp_buf = ARRAY [0..11] OF long; (* actually, this is a sigjmp_buf, just in case *) - (* We use a special state for context switching due to floating point, - which setjmp/longjmp do not deal with. Record length = 72 longs. *) - fpjmp_buf = RECORD - int_stuff: ARRAY [0..7] OF long; (* integer registers *) - fp_stuff: ARRAY [0..31] OF long_double; (* floating point fxsave *) - END; + fpjmp_buf = ARRAY [0..71] OF long; (* this is needed to hold the + fpu state, which the ordinary + versions of setjmp/longjmp + do not save and restore *) + <*EXTERNAL "setjmp" *> PROCEDURE setjmp (VAR env: jmp_buf): int; <*EXTERNAL "longjmp" *> PROCEDURE longjmp (VAR env: jmp_buf; val: int); ==== //depot/projects/ezm3/libs/m3core/src/runtime/FBSD_AMD64/RTThread.m3#3 (text+ko) ==== @@ -16,7 +16,7 @@ PROCEDURE SP (READONLY s: State): ADDRESS = BEGIN - RETURN LOOPHOLE (s.int_stuff [SP_pos], ADDRESS); + RETURN LOOPHOLE (s [SP_pos], ADDRESS); END SP; (*--------------------------------------------------------- thread stacks ---*) @@ -70,7 +70,7 @@ PROCEDURE UpdateStateForNewSP (VAR s: State; offset: INTEGER) = BEGIN - INC (s.int_stuff [SP_pos], offset); + INC (s [SP_pos], offset); END UpdateStateForNewSP; PROCEDURE UpdateFrameForNewSP (<*UNUSED*> a: ADDRESS;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309060211.h862BDD2085714>