aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/utils/make_tables
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-06-20 12:41:16 +0200
committerBjörn Gustavsson <[email protected]>2016-06-22 11:52:23 +0200
commit09b73b39dde3f2c8924947fc5512281b83c939ca (patch)
tree40c2136965079165eea9bbc7eb7f4fe6fbf6d871 /erts/emulator/utils/make_tables
parent3b7a6ffddc819bf305353a593904cea9e932e7dc (diff)
downloadotp-09b73b39dde3f2c8924947fc5512281b83c939ca.tar.gz
otp-09b73b39dde3f2c8924947fc5512281b83c939ca.tar.bz2
otp-09b73b39dde3f2c8924947fc5512281b83c939ca.zip
make_tables: Remove broken automatic BIF aliasing
The make_tables script still contains a broken implementation of a mechanism to automatically give a BIF an additional (for example, was used for erlang:'++'/2 and erlang:append/2). When that featured broke, it was worked around by adding additional entries to bif.tab. There is therefore no reason to mend the feature.
Diffstat (limited to 'erts/emulator/utils/make_tables')
-rwxr-xr-xerts/emulator/utils/make_tables29
1 files changed, 4 insertions, 25 deletions
diff --git a/erts/emulator/utils/make_tables b/erts/emulator/utils/make_tables
index c158778f43..82c8c299f4 100755
--- a/erts/emulator/utils/make_tables
+++ b/erts/emulator/utils/make_tables
@@ -36,7 +36,6 @@ use File::Basename;
# <-src>/erl_am.c
# <-src>/erl_bif_table.c
# <-src>/erl_bif_wrap.c
-# <-src>/erl_pbifs.c
# <-include>/erl_atom_table.h
# <-include>/erl_bif_table.h
#
@@ -54,8 +53,6 @@ my %aliases;
my $auto_alias_num = 0;
my @bif;
-my @implementation;
-my @pbif;
while (@ARGV && $ARGV[0] =~ /^-(\w+)/) {
my $opt = shift;
@@ -80,7 +77,10 @@ while (<>) {
if ($type eq 'atom') {
save_atoms(@args);
} elsif ($type eq 'bif' or $type eq 'ubif') {
- my($bif,$alias,$alias2) = (@args);
+ if (@args > 2) {
+ error("$type only allows two arguments");
+ }
+ my($bif,$alias) = (@args);
$bif =~ m@^([a-z_.'0-9]+):(.*)/(\d)$@ or error("invalid BIF");
my($mod,$name,$arity) = ($1,$2,$3);
save_atoms($mod, $name);
@@ -94,8 +94,6 @@ while (<>) {
$wrapper = $alias if $type eq 'ubif';
push(@bif, ["am_$atom_alias{$mod}","am_$atom_alias{$name}",$arity,
$alias,$wrapper]);
- push(@pbif, $bif =~ m/^'/ && $alias =~ m/^ebif_/);
- push(@implementation, $alias2);
} else {
error("invalid line");
}
@@ -228,25 +226,6 @@ for ($i = 0; $i < @bif; $i++) {
# Generate the package bif file.
#
-open_file("$src/erl_pbifs.c");
-my $i;
-includes("export.h", "sys.h", "erl_vm.h", "global.h", "erl_process.h", "bif.h",
- "erl_bif_table.h", "erl_atom_table.h");
-for ($i = 0; $i < @bif; $i++) {
- my $arity = $bif[$i]->[2];
- my $func = $bif[$i]->[3];
- my $arg;
- next unless $pbif[$i];
- next unless $func =~ m/^ebif_(.*)/;
- my $orig_func = $1;
- $orig_func = $implementation[$i] if $implementation[$i];
- print "Eterm\n";
- print "$func(Process* p, Eterm* BIF__ARGS)\n";
- print "{\n";
- print " return $orig_func(p, BIF__ARGS);\n";
- print "}\n\n";
-}
-
sub open_file { # or die
my($name) = @_;