aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-08-11 11:19:29 +0200
committerBjörn Gustavsson <[email protected]>2011-10-11 10:08:46 +0200
commit8f52f4b5d92197de19dd5df29513a9dcb5437280 (patch)
treecf4a7ff4b6aa55d5b279ec141ad36a1c7bda71dd /erts/emulator/beam
parent5a037222bcf42cab8bb3887c716b618e0d5c39e3 (diff)
downloadotp-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.tab24
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