diff options
author | Björn Gustavsson <[email protected]> | 2011-08-11 11:19:29 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-10-11 10:08:46 +0200 |
commit | 8f52f4b5d92197de19dd5df29513a9dcb5437280 (patch) | |
tree | cf4a7ff4b6aa55d5b279ec141ad36a1c7bda71dd /erts/emulator/beam | |
parent | 5a037222bcf42cab8bb3887c716b618e0d5c39e3 (diff) | |
download | otp-8f52f4b5d92197de19dd5df29513a9dcb5437280.tar.gz otp-8f52f4b5d92197de19dd5df29513a9dcb5437280.tar.bz2 otp-8f52f4b5d92197de19dd5df29513a9dcb5437280.zip |
Remove too_old_compiler handling for very old instruction variants
is_list/2 and other test instructions with a zero label was last
generated by the v1 BEAM compiler which was last supported in R6B.
Since BEAM modules produced by that compiler will be rejected with
a nice error message for other reasons (e.g. by the test for the
module_info/0,1 functions), retaining those transformations serves
no useful purpose.
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/ops.tab | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index b2f82a5df1..dcfd9063d9 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -25,31 +25,13 @@ # instruction transformations; thus, they never occur in BEAM files. # -# Special instruction used to generate an error message when -# trying to load a module compiled by the V1 compiler (R5 & R6). -# (Specially treated in beam_load.c.) +# The too_old_compiler/0 instruction is specially handled in beam_load.c +# to produce a user-friendly message informing the user that the module +# needs to be re-compiled with a modern compiler. too_old_compiler/0 too_old_compiler -# -# Obsolete instruction usage follow. (Nowdays we use f with -# a zero label instead of p.) -# - -is_list p S => too_old_compiler -is_nonempty_list p R => too_old_compiler -is_nil p R => too_old_compiler - -is_tuple p S => too_old_compiler -test_arity p S Arity => too_old_compiler - -is_integer p R => too_old_compiler -is_float p R => too_old_compiler -is_atom p R => too_old_compiler - -is_eq_exact p S1 S2 => too_old_compiler - # In R9C and earlier, the loader used to insert special instructions inside # the module_info/0,1 functions. (In R10B and later, the compiler inserts # an explicit call to an undocumented BIF, so that no loader trickery is |