aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_arm_bifs.m4
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/hipe/hipe_arm_bifs.m4')
-rw-r--r--erts/emulator/hipe/hipe_arm_bifs.m410
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_arm_bifs.m4 b/erts/emulator/hipe/hipe_arm_bifs.m4
index f20739ec52..560e6f46d0 100644
--- a/erts/emulator/hipe/hipe_arm_bifs.m4
+++ b/erts/emulator/hipe/hipe_arm_bifs.m4
@@ -49,6 +49,8 @@ $1:
/* Save caller-save registers and call the C function. */
SAVE_CONTEXT_BIF
+ str r1, [r0, #P_ARG0] /* Store BIF__ARGS in def_arg_reg[] */
+ add r1, r0, #P_ARG0
bl $2
TEST_GOT_MBUF(1)
@@ -74,6 +76,9 @@ $1:
/* Save caller-save registers and call the C function. */
SAVE_CONTEXT_BIF
+ str r1, [r0, #P_ARG0] /* Store BIF__ARGS in def_arg_reg[] */
+ str r2, [r0, #P_ARG1]
+ add r1, r0, #P_ARG0
bl $2
TEST_GOT_MBUF(2)
@@ -100,6 +105,10 @@ $1:
/* Save caller-save registers and call the C function. */
SAVE_CONTEXT_BIF
+ str r1, [r0, #P_ARG0] /* Store BIF__ARGS in def_arg_reg[] */
+ str r2, [r0, #P_ARG1]
+ str r3, [r0, #P_ARG2]
+ add r1, r0, #P_ARG0
bl $2
TEST_GOT_MBUF(3)
@@ -129,6 +138,7 @@ $1:
/* Save caller-save registers and call the C function. */
SAVE_CONTEXT_BIF
+ /* ignore empty BIF__ARGS */
bl $2
TEST_GOT_MBUF(0)