aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/sys.h
diff options
context:
space:
mode:
authorKjell Winblad <[email protected]>2019-02-06 11:29:41 +0100
committerKjell Winblad <[email protected]>2019-05-27 12:21:18 +0200
commitb72e9d38110aac082cd98084dcb507a61b1bc3ad (patch)
tree0c380c5f8a722e72950c5d71664419caefa90acb /erts/emulator/beam/sys.h
parentfe77a98f2e76b8e577df8fc68cb2a68adabc413c (diff)
downloadotp-b72e9d38110aac082cd98084dcb507a61b1bc3ad.tar.gz
otp-b72e9d38110aac082cd98084dcb507a61b1bc3ad.tar.bz2
otp-b72e9d38110aac082cd98084dcb507a61b1bc3ad.zip
Make erlang:phash2/1 and erlang:phash2/2 yield
The erlang:phash2 functions did not yield even if the input was very large and a call to one of the functions did only consume a single reduction. This commit fixes these problems.
Diffstat (limited to 'erts/emulator/beam/sys.h')
-rw-r--r--erts/emulator/beam/sys.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
index c261c8e117..acc321aa51 100644
--- a/erts/emulator/beam/sys.h
+++ b/erts/emulator/beam/sys.h
@@ -92,6 +92,12 @@
# define ERTS_GLB_INLINE_INCL_FUNC_DEF 0
#endif
+#ifdef __GNUC__
+# define ERTS_NOINLINE __attribute__((__noinline__))
+#else
+# define ERTS_NOINLINE
+#endif
+
#if defined(VALGRIND) && !defined(NO_FPE_SIGNALS)
# define NO_FPE_SIGNALS
#endif