diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2010-10-18 16:39:59 +0200 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2011-01-17 15:23:38 +0100 |
commit | e31af112f63b11622d6a3a49cb444d5613af2f1f (patch) | |
tree | 99972deacdd447774d5892bccc06389843885f48 /erts/emulator | |
parent | ec325cc785916c6a4991fe2e03747a97b7e1ae75 (diff) | |
download | otp-e31af112f63b11622d6a3a49cb444d5613af2f1f.tar.gz otp-e31af112f63b11622d6a3a49cb444d5613af2f1f.tar.bz2 otp-e31af112f63b11622d6a3a49cb444d5613af2f1f.zip |
Pass the external word size to the beam_makeops script
Giving the beam_makeops script access to the external word
size (=the size of instruction words) will allow it to pack
more operands into a word for the 64 bits emulator.
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/Makefile.in | 4 | ||||
-rwxr-xr-x | erts/emulator/utils/beam_makeops | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 1420fd6bfa..f04df354a8 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in @@ -506,7 +506,9 @@ OPCODE_TABLES += hipe/hipe_ops.tab endif $(TTF_DIR)/beam_opcodes.h $(TTF_DIR)/beam_opcodes.c: $(OPCODE_TABLES) utils/beam_makeops - LANG=C $(PERL) utils/beam_makeops -outdir $(TTF_DIR) \ + LANG=C $(PERL) utils/beam_makeops \ + -wordsize @EXTERNAL_WORD_SIZE@ \ + -outdir $(TTF_DIR) \ -emulator $(OPCODE_TABLES) # bif and atom table diff --git a/erts/emulator/utils/beam_makeops b/erts/emulator/utils/beam_makeops index cb91517f04..aa1aba6856 100755 --- a/erts/emulator/utils/beam_makeops +++ b/erts/emulator/utils/beam_makeops @@ -27,6 +27,7 @@ my $outdir = "."; # Directory for output files. my $verbose = 0; my $hot = 1; my $num_file_opcodes = 0; +my $wordsize = 32; # This is shift counts and mask for the packer. my $WHOLE_WORD = ''; @@ -171,6 +172,7 @@ while (@ARGV && $ARGV[0] =~ /^-(.*)/) { ($target = \&emulator_output), next if /^emulator/; ($target = \&compiler_output), next if /^compiler/; ($outdir = shift), next if /^outdir/; + ($wordsize = shift), next if /^wordsize/; ($verbose = 1), next if /^v/; die "$0: Bad option: -$_\n"; } |