commit a70bfc9882e0a6353462b5e18aafc4d980a858d4 Author: Yurii Rashkovskii Date: Sun Jun 10 11:24:51 2012 -0700 Removes support for tuple calls diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 6d3b15c..7e310db 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -5994,7 +5994,7 @@ apply(Process* p, Eterm module, Eterm function, Eterm args, Eterm* reg) { int arity; Export* ep; - Eterm tmp, this; + Eterm tmp; /* * Check the arguments which should be of the form apply(Module, @@ -6015,20 +6015,7 @@ apply(Process* p, Eterm module, Eterm function, Eterm args, Eterm* reg) return 0; } - /* The module argument may be either an atom or an abstract module - * (currently implemented using tuples, but this might change). - */ - this = THE_NON_VALUE; - if (is_not_atom(module)) { - Eterm* tp; - - if (is_not_tuple(module)) goto error; - tp = tuple_val(module); - if (arityval(tp[0]) < 1) goto error; - this = module; - module = tp[1]; - if (is_not_atom(module)) goto error; - } + if (is_not_atom(module)) goto error; /* * Walk down the 3rd parameter of apply (the argument list) and copy @@ -6051,9 +6038,6 @@ apply(Process* p, Eterm module, Eterm function, Eterm args, Eterm* reg) if (is_not_nil(tmp)) { /* Must be well-formed list */ goto error; } - if (this != THE_NON_VALUE) { - reg[arity++] = this; - } /* * Get the index into the export table, or failing that the export @@ -6099,15 +6083,7 @@ fixed_apply(Process* p, Eterm* reg, Uint arity) /* The module argument may be either an atom or an abstract module * (currently implemented using tuples, but this might change). */ - if (is_not_atom(module)) { - Eterm* tp; - if (is_not_tuple(module)) goto error; - tp = tuple_val(module); - if (arityval(tp[0]) < 1) goto error; - module = tp[1]; - if (is_not_atom(module)) goto error; - ++arity; - } + if (is_not_atom(module)) goto error; /* * Get the index into the export table, or failing that the export