aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe/hipe_x86_glue.S
diff options
context:
space:
mode:
authorAnthony Ramine <[email protected]>2014-05-09 16:00:54 +0200
committerZandra Hird <[email protected]>2015-02-24 12:46:20 +0100
commit0ec91ff571518e199aac7a4da961a80c153483b9 (patch)
tree007240dc2af973c54d9c8ed605894c36157c4ecd /erts/emulator/hipe/hipe_x86_glue.S
parent4dae7cd0c0fc15f051ac90d6e1c4b19d94a27128 (diff)
downloadotp-0ec91ff571518e199aac7a4da961a80c153483b9.tar.gz
otp-0ec91ff571518e199aac7a4da961a80c153483b9.tar.bz2
otp-0ec91ff571518e199aac7a4da961a80c153483b9.zip
Allow 4-ary BIFs
Diffstat (limited to 'erts/emulator/hipe/hipe_x86_glue.S')
-rw-r--r--erts/emulator/hipe/hipe_x86_glue.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_x86_glue.S b/erts/emulator/hipe/hipe_x86_glue.S
index 9d38eaaafd..f124e36a26 100644
--- a/erts/emulator/hipe/hipe_x86_glue.S
+++ b/erts/emulator/hipe/hipe_x86_glue.S
@@ -299,6 +299,7 @@ ASYM(nbif_fail):
GLOBAL(nbif_1_gc_after_bif)
GLOBAL(nbif_2_gc_after_bif)
GLOBAL(nbif_3_gc_after_bif)
+ GLOBAL(nbif_4_gc_after_bif)
.align 4
nbif_0_gc_after_bif:
xorl %edx, %edx
@@ -314,6 +315,10 @@ nbif_2_gc_after_bif:
.align 4
nbif_3_gc_after_bif:
movl $3, %edx
+ jmp .gc_after_bif
+ .align 4
+nbif_4_gc_after_bif:
+ movl $4, %edx
/*FALLTHROUGH*/
.align 4
.gc_after_bif:
@@ -337,6 +342,7 @@ nbif_3_gc_after_bif:
GLOBAL(nbif_1_simple_exception)
GLOBAL(nbif_2_simple_exception)
GLOBAL(nbif_3_simple_exception)
+ GLOBAL(nbif_4_simple_exception)
.align 4
nbif_0_simple_exception:
xorl %eax, %eax
@@ -352,6 +358,10 @@ nbif_2_simple_exception:
.align 4
nbif_3_simple_exception:
movl $3, %eax
+ jmp .nbif_simple_exception
+ .align 4
+nbif_4_simple_exception:
+ movl $4, %eax
/*FALLTHROUGH*/
.align 4
.nbif_simple_exception: