aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_mkliterals.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2011-11-18 17:42:28 +0100
committerSverker Eriksson <[email protected]>2011-11-18 17:42:28 +0100
commit7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8 (patch)
treef9cbbd41ccf67517b8d9c7423ee2b3d64c6bba31 /erts/emulator/hipe/hipe_mkliterals.c
parentb130455e73b0bcacee2bfd3dfe6bafa9dd497886 (diff)
parent327c072661840f671fc0041bc5e88bc69691d5aa (diff)
downloadotp-7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8.tar.gz
otp-7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8.tar.bz2
otp-7d9ef0fdde8119e1be0a47e3e45c9cdb85f926d8.zip
Merge branch 'sverk/hipe-without-fpe/OTP-9724'
* sverk/hipe-without-fpe/OTP-9724: otp_build: Disable FPE by default on Linux stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depth erts: Add test for inf/NaN intermediate float results hipe,erts: Allow hipe without floating point exceptions hipe: Fix bug in hipe_rtl_lcm:calc_killed_expr_bb erts: Rename macros used by float instructions without FPE
Diffstat (limited to 'erts/emulator/hipe/hipe_mkliterals.c')
-rw-r--r--erts/emulator/hipe/hipe_mkliterals.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/erts/emulator/hipe/hipe_mkliterals.c b/erts/emulator/hipe/hipe_mkliterals.c
index 61e15f1d58..d07d14028c 100644
--- a/erts/emulator/hipe/hipe_mkliterals.c
+++ b/erts/emulator/hipe/hipe_mkliterals.c
@@ -293,6 +293,11 @@ static const struct literal {
{ "P_NRA", offsetof(struct process, hipe.nra) },
#endif
{ "P_NARITY", offsetof(struct process, hipe.narity) },
+ { "P_FLOAT_RESULT",
+# ifdef NO_FPE_SIGNALS
+ offsetof(struct process, hipe.float_result)
+# endif
+ },
# if defined(ERTS_ENABLE_LOCK_CHECK) && defined(ERTS_SMP)
{ "P_BIF_CALLEE", offsetof(struct process, hipe.bif_callee) },
# endif
@@ -491,7 +496,7 @@ static const struct rts_param {
#endif
},
{ 14, "P_FP_EXCEPTION",
-#if !defined(NO_FPE_SIGNALS)
+#if !defined(NO_FPE_SIGNALS) || defined(HIPE)
1, offsetof(struct process, fp_exception)
#endif
},
@@ -504,6 +509,15 @@ static const struct rts_param {
0
#endif
},
+ /* This flag is always defined, but its value is configuration-dependent. */
+ { 16, "ERTS_NO_FPE_SIGNALS",
+ 1,
+#if defined(NO_FPE_SIGNALS)
+ 1
+#else
+ 0
+#endif
+ },
/* This parameter is always defined, but its value depends on ERTS_SMP. */
{ 19, "MSG_MESSAGE",
1, offsetof(struct erl_mesg, m[0])