aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_risc_gc.h
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2016-07-29 14:46:14 +0200
committerBjörn-Egil Dahlberg <[email protected]>2016-07-29 14:46:14 +0200
commite7302e71bf2d56e2117237bb6f0df49cefc9aad2 (patch)
treeff13db2ac78da7ff3627e0d9684f7057ed64dc39 /erts/emulator/hipe/hipe_risc_gc.h
parentbdaef83087c861dc6a0323c1e7363e6601b9986d (diff)
parent26bb8c8a2abf40e1504dfeac3e74b3582ea1877b (diff)
downloadotp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.tar.gz
otp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.tar.bz2
otp-e7302e71bf2d56e2117237bb6f0df49cefc9aad2.zip
Merge branch 'maint'
Diffstat (limited to 'erts/emulator/hipe/hipe_risc_gc.h')
-rw-r--r--erts/emulator/hipe/hipe_risc_gc.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_risc_gc.h b/erts/emulator/hipe/hipe_risc_gc.h
index 315f8e7f9f..09568c140e 100644
--- a/erts/emulator/hipe/hipe_risc_gc.h
+++ b/erts/emulator/hipe/hipe_risc_gc.h
@@ -51,6 +51,19 @@ nstack_walk_init_sdesc(const Process *p, struct nstack_walk_state *state)
return sdesc;
}
+static inline const struct sdesc*
+nstack_walk_init_sdesc_ignore_trap(const Process *p,
+ struct nstack_walk_state *state)
+{
+ unsigned long ra = (unsigned long)p->hipe.nra;
+ const struct sdesc *sdesc;
+ if (ra == (unsigned long)&nbif_stack_trap_ra)
+ ra = (unsigned long)p->hipe.ngra;
+ sdesc = hipe_find_sdesc(ra);
+ state->sdesc0 = sdesc;
+ return sdesc;
+}
+
static inline void nstack_walk_update_trap(Process *p, const struct sdesc *sdesc0)
{
Eterm *nsp = p->hipe.nsp;