aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_x86_glue.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2014-10-24 17:22:11 +0200
committerSverker Eriksson <[email protected]>2014-10-24 17:22:11 +0200
commita70f0ce9b34e4db61dacb8db24f9ab5671ed4c8a (patch)
tree13cb87dd0379e0f2062cbe115ce330bfa66babcc /erts/emulator/hipe/hipe_x86_glue.h
parent9f0477e13bb8819ee252d2b8834c1411f02a9cb8 (diff)
parentbc59e9a04bf446b3a73f20ca0e91c122de7aa571 (diff)
downloadotp-a70f0ce9b34e4db61dacb8db24f9ab5671ed4c8a.tar.gz
otp-a70f0ce9b34e4db61dacb8db24f9ab5671ed4c8a.tar.bz2
otp-a70f0ce9b34e4db61dacb8db24f9ab5671ed4c8a.zip
Merge branch 'sverk/hipe-wrap-bif-disable-gc-fixes/OTP-12231' into maint
* sverk/hipe-wrap-bif-disable-gc-fixes/OTP-12231: erts: Fix bug when hipe tailcalls trapping BIF that disables GC erts: Fix hipe bug when gc-disabling bif traps with gc enabled
Diffstat (limited to 'erts/emulator/hipe/hipe_x86_glue.h')
-rw-r--r--erts/emulator/hipe/hipe_x86_glue.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_x86_glue.h b/erts/emulator/hipe/hipe_x86_glue.h
index 63ad250d60..4b6e495b9a 100644
--- a/erts/emulator/hipe/hipe_x86_glue.h
+++ b/erts/emulator/hipe/hipe_x86_glue.h
@@ -207,6 +207,14 @@ hipe_trap_from_native_is_recursive(Process *p)
return 0;
}
+/* Native called BIF. Is it a recursive call?
+ i.e should we return back to native when BIF is done? */
+static __inline__ int
+hipe_bifcall_from_native_is_recursive(Process *p)
+{
+ return (*p->hipe.nsp != (Eterm)nbif_return);
+}
+
/* Native makes a call which needs to unload the parameters.
This differs from hipe_call_from_native_is_recursive() in