aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/export.h
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2012-01-18 17:23:52 +0100
committerSverker Eriksson <sverker@erlang.org>2012-02-21 12:22:58 +0100
commit5ed73504d7409a449ec4e0c0de421a93c4570e3b (patch)
treef4112eb5bb8b0616d3207635fcc0c55e9ae05c31 /erts/emulator/beam/export.h
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/export.h')
-rw-r--r--erts/emulator/beam/export.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/export.h b/erts/emulator/beam/export.h
index 0aad921b2d..db27606c49 100644
--- a/erts/emulator/beam/export.h
+++ b/erts/emulator/beam/export.h
@@ -36,7 +36,7 @@
typedef struct export
{
- void* address; /* Pointer to code for function. */
+ void* addressv[ERTS_NUM_CODE_IX]; /* Pointer to code for function. */
struct binary* match_prog_set; /* Match program for tracing. */
BeamInstr fake_op_func_info_for_hipe[2]; /* MUST be just before code[] */
@@ -78,7 +78,7 @@ void export_end_load(int commit);
#include "beam_load.h" /* For em_* extern declarations */
#define ExportIsBuiltIn(EntryPtr) \
-(((EntryPtr)->address == (EntryPtr)->code + 3) && \
+(((EntryPtr)->addressv[erts_active_code_ix()] == (EntryPtr)->code + 3) && \
((EntryPtr)->code[3] == (BeamInstr) em_apply_bif))
#endif