aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2015-10-12 14:48:40 +0200
committerBjörn Gustavsson <[email protected]>2015-10-12 14:48:40 +0200
commit14f434e8172008ed9c5adfdfc898b27b35af235e (patch)
tree8edcf5eed876133b01d44642d12430c03f8130db /erts/emulator/beam
parentf658c063ad5c587a354e24233de3405953bd7cec (diff)
parent93f5844185a459cbf9efc3843919c463a2eef0fe (diff)
downloadotp-14f434e8172008ed9c5adfdfc898b27b35af235e.tar.gz
otp-14f434e8172008ed9c5adfdfc898b27b35af235e.tar.bz2
otp-14f434e8172008ed9c5adfdfc898b27b35af235e.zip
Merge branch 'bjorn/erts/builtin/OTP-13034'
* bjorn/erts/builtin/OTP-13034: Teach erlang:is_builtin/3 that erlang:apply/3 is built-in
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/beam_emu.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index a42ce1c9f1..faf496a030 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -6752,6 +6752,15 @@ erts_is_builtin(Eterm Mod, Eterm Name, int arity)
Export e;
Export* ep;
+ if (Mod == am_erlang && Name == am_apply && arity == 3) {
+ /*
+ * Special case. apply/3 is built-in (implemented in C),
+ * but implemented in a different way than all other
+ * BIFs.
+ */
+ return 1;
+ }
+
e.code[0] = Mod;
e.code[1] = Name;
e.code[2] = arity;