aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_load.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-05-26 11:49:25 +0200
committerBjörn Gustavsson <[email protected]>2011-11-02 12:12:30 +0100
commit71f2687e53ef52ae94ab3569a601456d1e906a59 (patch)
tree095227f5e17d1d965b40c088c17bf2ebd2b414f4 /erts/emulator/beam/beam_load.c
parent82e41d4b3a57774a23a57d345637a0e19e8727d0 (diff)
downloadotp-71f2687e53ef52ae94ab3569a601456d1e906a59.tar.gz
otp-71f2687e53ef52ae94ab3569a601456d1e906a59.tar.bz2
otp-71f2687e53ef52ae94ab3569a601456d1e906a59.zip
beam_loader: Support external funs in the literal pool
A future release of the compiler might want to treat external funs as literals. Make sure that the loader can cope with an export entry being created from both an entry in the literal pool and from the export table (i.e. if an external fun refers to an exported function in the same module).
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r--erts/emulator/beam/beam_load.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 57f5ad0a62..d82b5dbcac 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -758,6 +758,14 @@ bin_load(Process *c_p, ErtsProcLocks c_p_locks,
}
/*
+ * Since the literal table *may* have contained external
+ * funs (containing references to export entries), now is
+ * the time to consolidate the export tables.
+ */
+
+ erts_export_consolidate();
+
+ /*
* Load the code chunk.
*/