Turn off flush-to-zero
authorstefan <none@none>
Fri, 14 Nov 2003 20:19:21 +0000 (20:19 +0000)
committerstefan <none@none>
Fri, 14 Nov 2003 20:19:21 +0000 (20:19 +0000)
jit/mips/codegen.c
src/vm/jit/mips/codegen.c

index de06a2609274040811418b02ea3fa06b37f0f160..f6598a0330d6c3193262e4e81c8ff36394ac0345 100644 (file)
@@ -32,7 +32,7 @@
    This module generates MIPS machine code for a sequence of
    intermediate code commands (ICMDs).
 
-   $Id: codegen.c 597 2003-11-09 20:08:18Z twisti $
+   $Id: codegen.c 636 2003-11-14 20:19:21Z stefan $
 
 */
 
@@ -367,6 +367,8 @@ void catch_NullPointerException(int sig, int code, struct sigcontext *sigctx)
 }
 
 
+#include <sys/fpu.h>
+
 void init_exceptions(void)
 {
        struct sigaction sa;
@@ -400,6 +402,14 @@ void init_exceptions(void)
        }
 
        sigprocmask(SIG_UNBLOCK, &unblockmask, NULL);
+
+       /* Turn off flush-to-zero */
+       {
+               union fpc_csr n;
+               n.fc_word = get_fpc_csr();
+               n.fc_struct.flush = 0;
+               set_fpc_csr(n.fc_word);
+       }
 }
 
 
index de06a2609274040811418b02ea3fa06b37f0f160..f6598a0330d6c3193262e4e81c8ff36394ac0345 100644 (file)
@@ -32,7 +32,7 @@
    This module generates MIPS machine code for a sequence of
    intermediate code commands (ICMDs).
 
-   $Id: codegen.c 597 2003-11-09 20:08:18Z twisti $
+   $Id: codegen.c 636 2003-11-14 20:19:21Z stefan $
 
 */
 
@@ -367,6 +367,8 @@ void catch_NullPointerException(int sig, int code, struct sigcontext *sigctx)
 }
 
 
+#include <sys/fpu.h>
+
 void init_exceptions(void)
 {
        struct sigaction sa;
@@ -400,6 +402,14 @@ void init_exceptions(void)
        }
 
        sigprocmask(SIG_UNBLOCK, &unblockmask, NULL);
+
+       /* Turn off flush-to-zero */
+       {
+               union fpc_csr n;
+               n.fc_word = get_fpc_csr();
+               n.fc_struct.flush = 0;
+               set_fpc_csr(n.fc_word);
+       }
 }