aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/bif.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2012-01-18 17:23:52 +0100
committerSverker Eriksson <[email protected]>2012-02-21 12:22:58 +0100
commit5ed73504d7409a449ec4e0c0de421a93c4570e3b (patch)
treef4112eb5bb8b0616d3207635fcc0c55e9ae05c31 /erts/emulator/beam/bif.c
parent90209e4d57dd9b5ff27729b582f02c3d9e383f72 (diff)
downloadotp-5ed73504d7409a449ec4e0c0de421a93c4570e3b.tar.gz
otp-5ed73504d7409a449ec4e0c0de421a93c4570e3b.tar.bz2
otp-5ed73504d7409a449ec4e0c0de421a93c4570e3b.zip
erts: Use several addresses in each Export
Diffstat (limited to 'erts/emulator/beam/bif.c')
-rw-r--r--erts/emulator/beam/bif.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index cb99c1381c..9b2394d92f 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -4438,8 +4438,11 @@ Export bif_return_trap_export;
void erts_init_trap_export(Export* ep, Eterm m, Eterm f, Uint a,
Eterm (*bif)(BIF_ALIST_0))
{
+ int i;
sys_memset((void *) ep, 0, sizeof(Export));
- ep->address = &ep->code[3];
+ for (i=0; i<ERTS_NUM_CODE_IX; i++) {
+ ep->addressv[i] = &ep->code[3];
+ }
ep->code[0] = m;
ep->code[1] = f;
ep->code[2] = a;