aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/ops.tab
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-03-31 06:55:31 +0200
committerBjörn Gustavsson <[email protected]>2016-03-31 10:03:38 +0200
commit7d06e5ecd47ef071eb8c4e58ead70e79fa4b02b2 (patch)
tree54dffc98449cde17cdd12b73101508afae16b40b /erts/emulator/beam/ops.tab
parentd166fec5d5c901a93e21a1ea7b3165b6fe68d320 (diff)
downloadotp-7d06e5ecd47ef071eb8c4e58ead70e79fa4b02b2.tar.gz
otp-7d06e5ecd47ef071eb8c4e58ead70e79fa4b02b2.tar.bz2
otp-7d06e5ecd47ef071eb8c4e58ead70e79fa4b02b2.zip
Fix unsafe transformation of apply/3 with fixed arguments
62473daf introduced an unsafe optimization in the loader. See the comments in the test case for an explanation of the problem.
Diffstat (limited to 'erts/emulator/beam/ops.tab')
-rw-r--r--erts/emulator/beam/ops.tab2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index 9e53b4bfcc..772460c177 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -303,7 +303,7 @@ move_window5 x x x x x y
# Swap registers.
move R1=x Tmp=x | move R2=xy R1 | move Tmp R2 => swap_temp R1 R2 Tmp
-swap_temp R1 R2 Tmp | line Loc | apply Live | is_killed(Tmp, Live) => \
+swap_temp R1 R2 Tmp | line Loc | apply Live | is_killed_apply(Tmp, Live) => \
swap R1 R2 | line Loc | apply Live
swap_temp R1 R2 Tmp | line Loc | call Live Addr | is_killed(Tmp, Live) => \