aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/export.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-10-14 15:22:25 +0200
committerSverker Eriksson <[email protected]>2016-10-14 15:22:25 +0200
commit06c111265748b3e6eddc8252af055449d8cb83f4 (patch)
tree97bfa8d67618b2e241f9fae3c2fbf6956da6309f /erts/emulator/beam/export.h
parent3582e6f420d84ddac64b55cb13100f1ae7f31b08 (diff)
parent9eee0bb5cc74d037ce89521b9a1fec4a289e4880 (diff)
downloadotp-06c111265748b3e6eddc8252af055449d8cb83f4.tar.gz
otp-06c111265748b3e6eddc8252af055449d8cb83f4.tar.bz2
otp-06c111265748b3e6eddc8252af055449d8cb83f4.zip
Merge branch 'master' into sverker/hipe-code-loadnpurge
Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_load.c and added macro DBG_TRACE_MFA_P in beam_load.h
Diffstat (limited to 'erts/emulator/beam/export.h')
-rw-r--r--erts/emulator/beam/export.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/erts/emulator/beam/export.h b/erts/emulator/beam/export.h
index 1e7bb8514b..198b90c839 100644
--- a/erts/emulator/beam/export.h
+++ b/erts/emulator/beam/export.h
@@ -33,22 +33,20 @@ typedef struct export
{
void* addressv[ERTS_NUM_CODE_IX]; /* Pointer to code for function. */
- BeamInstr fake_op_func_info_for_hipe[2]; /* MUST be just before code[] */
+ ErtsCodeInfo info; /* MUST be just before beam[] */
+
/*
- * code[0]: Tagged atom for module.
- * code[1]: Tagged atom for function.
- * code[2]: Arity (untagged integer).
- * code[3]: This entry is 0 unless the 'address' field points to it.
+ * beam[0]: This entry is 0 unless the 'addressv' field points to it.
* Threaded code instruction to load function
* (em_call_error_handler), execute BIF (em_apply_bif),
* or a breakpoint instruction (op_i_generic_breakpoint).
- * code[4]: Function pointer to BIF function (for BIFs only),
+ * beam[1]: Function pointer to BIF function (for BIFs only),
* or pointer to threaded code if the module has an
* on_load function that has not been run yet, or pointer
- * to code for function code[3] is a breakpont instruction.
+ * to code if function beam[0] is a breakpoint instruction.
* Otherwise: 0.
*/
- BeamInstr code[5];
+ BeamInstr beam[2];
} Export;
@@ -74,8 +72,8 @@ extern erts_smp_mtx_t export_staging_lock;
#include "beam_load.h" /* For em_* extern declarations */
#define ExportIsBuiltIn(EntryPtr) \
-(((EntryPtr)->addressv[erts_active_code_ix()] == (EntryPtr)->code + 3) && \
- ((EntryPtr)->code[3] == (BeamInstr) em_apply_bif))
+(((EntryPtr)->addressv[erts_active_code_ix()] == (EntryPtr)->beam) && \
+ ((EntryPtr)->beam[0] == (BeamInstr) em_apply_bif))
#if ERTS_GLB_INLINE_INCL_FUNC_DEF