aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2014-02-05 19:07:22 +0100
committerBjörn-Egil Dahlberg <[email protected]>2014-02-05 19:12:33 +0100
commit1f7324d0fd72b4137fb1f21b0b759ffebdf7ea90 (patch)
tree3447332cecaecbfc8caa998ed6a685afe15023c4
parent665d708cf6804d552a07d294317e2c10443b5a62 (diff)
downloadotp-1f7324d0fd72b4137fb1f21b0b759ffebdf7ea90.tar.gz
otp-1f7324d0fd72b4137fb1f21b0b759ffebdf7ea90.tar.bz2
otp-1f7324d0fd72b4137fb1f21b0b759ffebdf7ea90.zip
erts: Fix Maps for beam_load
Map source may be anything, not only registers.
-rw-r--r--erts/emulator/beam/beam_emu.c4
-rw-r--r--erts/emulator/beam/ops.tab4
2 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index 89d9442526..4d8ea354ce 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -2355,7 +2355,7 @@ void process_main(void)
Next(4+Arg(3));
}
- OpCase(update_map_assoc_jddII): {
+ OpCase(update_map_assoc_jsdII): {
Eterm res;
Eterm map;
@@ -2373,7 +2373,7 @@ void process_main(void)
}
}
- OpCase(update_map_exact_jddII): {
+ OpCase(update_map_exact_jsdII): {
Eterm res;
Eterm map;
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab
index f35997efee..9ea3a3a8ea 100644
--- a/erts/emulator/beam/ops.tab
+++ b/erts/emulator/beam/ops.tab
@@ -1482,8 +1482,8 @@ put_map_exact F Src Dst Live Size Rest=* => \
update_map_exact F Src Dst Live Size Rest
new_map j d I I
-update_map_assoc j d d I I
-update_map_exact j d d I I
+update_map_assoc j s d I I
+update_map_exact j s d I I
is_map Fail cq => jump Fail