From: twisti Date: Mon, 11 Dec 2006 19:43:41 +0000 (+0000) Subject: * src/vm/signal.c (signal_init): Use SUPPORT_HARDWARE_DIVIDE_BY_ZERO. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=1132f27d0a62236562603986a7dadaff3ac7feac;p=cacao.git * src/vm/signal.c (signal_init): Use SUPPORT_HARDWARE_DIVIDE_BY_ZERO. * src/vm/signallocal.h: Likewise. * src/vm/jit/alpha/arch.h (SUPPORT_HARDWARE_DIVIDE_BY_ZERO): Defined. * src/vm/jit/i386/arch.h: Likewise. * src/vm/jit/mips/arch.h: Likewise. * src/vm/jit/powerpc/arch.h: Likewise. * src/vm/jit/powerpc64/arch.h: Likewise. * src/vm/jit/sparc64/arch.h: Likewise. * src/vm/jit/x86_64/arch.h: Likewise. --- diff --git a/src/native/jni.h b/src/native/jni.h index d9bc29bea..9a05c7334 100644 --- a/src/native/jni.h +++ b/src/native/jni.h @@ -28,7 +28,7 @@ Roman Obermaisser Christian Thalinger - $Id: jni.h 6167 2006-12-10 23:20:31Z twisti $ + $Id: jni.h 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/native/vm/java_lang_reflect_Constructor.c b/src/native/vm/java_lang_reflect_Constructor.c index 805153ada..0a8c94ec1 100644 --- a/src/native/vm/java_lang_reflect_Constructor.c +++ b/src/native/vm/java_lang_reflect_Constructor.c @@ -28,7 +28,7 @@ Joseph Wenninger Christian Thalinger - $Id: java_lang_reflect_Constructor.c 6168 2006-12-11 00:28:17Z twisti $ + $Id: java_lang_reflect_Constructor.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/threads/native/threads.c b/src/threads/native/threads.c index ec3798f09..b49454555 100644 --- a/src/threads/native/threads.c +++ b/src/threads/native/threads.c @@ -28,7 +28,7 @@ Christian Thalinger Edwin Steiner - $Id: threads.c 6167 2006-12-10 23:20:31Z twisti $ + $Id: threads.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/alpha/arch.h b/src/vm/jit/alpha/arch.h index db0325f9a..84faab1c4 100644 --- a/src/vm/jit/alpha/arch.h +++ b/src/vm/jit/alpha/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -75,6 +73,11 @@ #define SUPPORT_CONST_STORE_ZERO_ONLY 1 /* on some risc machines we can */ /* only store REG_ZERO */ +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 0 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 4 /* bytes */ diff --git a/src/vm/jit/alpha/codegen.c b/src/vm/jit/alpha/codegen.c index d15ef45f1..6e4d76e69 100644 --- a/src/vm/jit/alpha/codegen.c +++ b/src/vm/jit/alpha/codegen.c @@ -31,7 +31,7 @@ Christian Ullrich Edwin Steiner - $Id: codegen.c 6165 2006-12-10 22:07:02Z twisti $ + $Id: codegen.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/i386/arch.h b/src/vm/jit/i386/arch.h index 327219878..81d2847af 100644 --- a/src/vm/jit/i386/arch.h +++ b/src/vm/jit/i386/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -97,6 +95,12 @@ /* For HAS_4_BYTE_STACKSLOT archs no distinction is made between long and dbl*/ /* define SUPPORT_COMBINE_INTEGER_REGISTERS */ + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 1 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 5 /* bytes */ diff --git a/src/vm/jit/i386/codegen.c b/src/vm/jit/i386/codegen.c index dd4545711..dfe5b6506 100644 --- a/src/vm/jit/i386/codegen.c +++ b/src/vm/jit/i386/codegen.c @@ -30,7 +30,7 @@ Christian Ullrich Edwin Steiner - $Id: codegen.c 6163 2006-12-10 21:35:52Z twisti $ + $Id: codegen.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/i386/emit.c b/src/vm/jit/i386/emit.c index 3030f82df..21544051b 100644 --- a/src/vm/jit/i386/emit.c +++ b/src/vm/jit/i386/emit.c @@ -26,7 +26,7 @@ Authors: Christian Thalinger - $Id: emit.c 6163 2006-12-10 21:35:52Z twisti $ + $Id: emit.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/mips/arch.h b/src/vm/jit/mips/arch.h index ace66a254..4c6e6a1e8 100644 --- a/src/vm/jit/mips/arch.h +++ b/src/vm/jit/mips/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -124,6 +122,12 @@ #endif /* SIZEOF_VOID_P == 8 */ + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 0 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE (2*4) /* bytes */ diff --git a/src/vm/jit/parse.c b/src/vm/jit/parse.c index e17a0712f..0726c5564 100644 --- a/src/vm/jit/parse.c +++ b/src/vm/jit/parse.c @@ -30,7 +30,7 @@ Joseph Wenninger Christian Thalinger - $Id: parse.c 6162 2006-12-10 21:27:07Z twisti $ + $Id: parse.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/parse.h b/src/vm/jit/parse.h index 398bc59f9..4fbc43c9a 100644 --- a/src/vm/jit/parse.h +++ b/src/vm/jit/parse.h @@ -27,7 +27,7 @@ Author: Christian Thalinger Edwin Steiner - $Id: parse.h 6162 2006-12-10 21:27:07Z twisti $ + $Id: parse.h 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/powerpc/arch.h b/src/vm/jit/powerpc/arch.h index b6f489d1d..7a11ad751 100644 --- a/src/vm/jit/powerpc/arch.h +++ b/src/vm/jit/powerpc/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -84,6 +82,12 @@ /* For HAS_4_BYTE_STACKSLOT archs no distinction is made between long and dbl*/ #define SUPPORT_COMBINE_INTEGER_REGISTERS + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 0 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 4 /* bytes */ diff --git a/src/vm/jit/powerpc64/arch.h b/src/vm/jit/powerpc64/arch.h index 8552c96ae..257cf5205 100644 --- a/src/vm/jit/powerpc64/arch.h +++ b/src/vm/jit/powerpc64/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -74,6 +72,12 @@ /* #define HAS_4BYTE_STACKSLOT */ /* #define SUPPORT_COMBINE_INTEGER_REGISTERS */ + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 0 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 4 /* bytes */ diff --git a/src/vm/jit/sparc64/arch.h b/src/vm/jit/sparc64/arch.h index 2efe9be5c..fa153e229 100644 --- a/src/vm/jit/sparc64/arch.h +++ b/src/vm/jit/sparc64/arch.h @@ -25,8 +25,7 @@ Contact: cacao@cacaojvm.org Authors: Christian Thalinger - - Changes: Alexander Jordan + Alexander Jordan $Id: arch.h 5081 2006-07-06 13:59:01Z tbfg $ @@ -72,6 +71,12 @@ #define SUPPORT_CONST_STORE_ZERO_ONLY 1 /* on some risc machines we can */ /* only store REG_ZERO */ + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 0 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 4 /* bytes */ diff --git a/src/vm/jit/x86_64/arch.h b/src/vm/jit/x86_64/arch.h index afe25ca1a..dc15dcf33 100644 --- a/src/vm/jit/x86_64/arch.h +++ b/src/vm/jit/x86_64/arch.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: arch.h 6134 2006-12-07 20:14:40Z edwin $ + $Id: arch.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -80,6 +78,12 @@ #define CONSECUTIVE_INTEGER_ARGS #define CONSECUTIVE_FLOAT_ARGS + +/* exceptions *****************************************************************/ + +#define SUPPORT_HARDWARE_DIVIDE_BY_ZERO 1 + + /* replacement ****************************************************************/ #define REPLACEMENT_PATCH_SIZE 5 /* bytes */ diff --git a/src/vm/jit/x86_64/codegen.c b/src/vm/jit/x86_64/codegen.c index f7b362313..310b8dffe 100644 --- a/src/vm/jit/x86_64/codegen.c +++ b/src/vm/jit/x86_64/codegen.c @@ -29,7 +29,7 @@ Christian Ullrich Edwin Steiner - $Id: codegen.c 6164 2006-12-10 21:50:22Z twisti $ + $Id: codegen.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/jit/x86_64/emit.c b/src/vm/jit/x86_64/emit.c index 79f235bdd..f22aa4103 100644 --- a/src/vm/jit/x86_64/emit.c +++ b/src/vm/jit/x86_64/emit.c @@ -26,7 +26,7 @@ Authors: Christian Thalinger - $Id: emit.c 6164 2006-12-10 21:50:22Z twisti $ + $Id: emit.c 6171 2006-12-11 11:47:42Z twisti $ */ diff --git a/src/vm/signal.c b/src/vm/signal.c index f8f4d33f4..84ea3d44b 100644 --- a/src/vm/signal.c +++ b/src/vm/signal.c @@ -26,7 +26,7 @@ Authors: Christian Thalinger - $Id: signal.c 6123 2006-12-05 21:10:54Z twisti $ + $Id: signal.c 6172 2006-12-11 19:43:41Z twisti $ */ @@ -97,7 +97,7 @@ void signal_init(void) /* catch ArithmeticException */ -#if defined(__I386__) || defined(__X86_64__) +#if SUPPORT_HARDWARE_DIVIDE_BY_ZERO act.sa_sigaction = md_signal_handler_sigfpe; act.sa_flags = SA_NODEFER | SA_SIGINFO; sigaction(SIGFPE, &act, NULL); diff --git a/src/vm/signallocal.h b/src/vm/signallocal.h index 173fec3b9..f10a4dd10 100644 --- a/src/vm/signallocal.h +++ b/src/vm/signallocal.h @@ -26,9 +26,7 @@ Authors: Christian Thalinger - Changes: - - $Id: signallocal.h 5038 2006-06-19 22:22:34Z twisti $ + $Id: signallocal.h 6172 2006-12-11 19:43:41Z twisti $ */ @@ -49,7 +47,7 @@ void signal_init(void); void md_signal_handler_sigsegv(int sig, siginfo_t *siginfo, void *_p); -#if defined(__I386__) || defined(__X86_64__) +#if SUPPORT_HARDWARE_DIVIDE_BY_ZERO void md_signal_handler_sigfpe(int sig, siginfo_t *siginfo, void *_p); #endif