aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_mode_switch.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-10-28 15:52:43 +0200
committerSverker Eriksson <[email protected]>2016-10-28 15:52:43 +0200
commite084d3d77eb15f58b2152e45ef84c27e7cf88403 (patch)
tree36ec95d7357cff6ba9d1f629d9d34db3318be5fb /erts/emulator/hipe/hipe_mode_switch.h
parente6059f94571a6c968c15b9de6b7d63ebd64f9acf (diff)
downloadotp-e084d3d77eb15f58b2152e45ef84c27e7cf88403.tar.gz
otp-e084d3d77eb15f58b2152e45ef84c27e7cf88403.tar.bz2
otp-e084d3d77eb15f58b2152e45ef84c27e7cf88403.zip
erts: Exclude random beam functions from hipe stacktrace
Diffstat (limited to 'erts/emulator/hipe/hipe_mode_switch.h')
-rw-r--r--erts/emulator/hipe/hipe_mode_switch.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_mode_switch.h b/erts/emulator/hipe/hipe_mode_switch.h
index c40077d558..e54b81cf78 100644
--- a/erts/emulator/hipe/hipe_mode_switch.h
+++ b/erts/emulator/hipe/hipe_mode_switch.h
@@ -64,6 +64,7 @@ Eterm hipe_build_stacktrace(Process *p, struct StackTrace *s);
ERTS_GLB_INLINE void hipe_reserve_beam_trap_frame(Process*, Eterm reg[], unsigned arity);
ERTS_GLB_INLINE void hipe_unreserve_beam_trap_frame(Process*);
+ERTS_GLB_INLINE int hipe_is_ra_mode_switch(const void* ra);
extern Uint hipe_beam_pc_return[];
extern Uint hipe_beam_pc_throw[];
@@ -112,6 +113,11 @@ ERTS_GLB_INLINE void hipe_unreserve_beam_trap_frame(Process *p)
p->stop += 2;
}
+ERTS_GLB_INLINE int hipe_is_ra_mode_switch(const void* ra)
+{
+ return ra == nbif_return;
+}
+
#endif /* ERTS_GLB_INLINE_INCL_FUNC_DEF */
#endif /* ASM */