aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_load.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-08-21 18:03:04 +0200
committerBjörn Gustavsson <[email protected]>2017-08-23 12:44:18 +0200
commit5bf73db9fd77bce195b7e78a8754730263068fb1 (patch)
tree56865b0805a23cf733a3af4130dba180ff720377 /erts/emulator/beam/beam_load.c
parent8fc304e1e0c4a36dcb5abbe7a51de63ddc2cb285 (diff)
downloadotp-5bf73db9fd77bce195b7e78a8754730263068fb1.tar.gz
otp-5bf73db9fd77bce195b7e78a8754730263068fb1.tar.bz2
otp-5bf73db9fd77bce195b7e78a8754730263068fb1.zip
Add the 'S' type for a register source
The type 'd' could be used both for destination registers and source register. Restrict the 'd' type to only be used for destinations, and introduce the new 'S' type to be used when a source must be a register.
Diffstat (limited to 'erts/emulator/beam/beam_load.c')
-rw-r--r--erts/emulator/beam/beam_load.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_load.c b/erts/emulator/beam/beam_load.c
index 982f998ae3..9ff32e30f3 100644
--- a/erts/emulator/beam/beam_load.c
+++ b/erts/emulator/beam/beam_load.c
@@ -2374,7 +2374,8 @@ load_code(LoaderState* stp)
break;
}
break;
- case 'd': /* Destination (x(0), x(N), y(N) */
+ case 'd': /* Destination (x(N), y(N) */
+ case 'S': /* Source (x(N), y(N)) */
switch (tag) {
case TAG_x:
code[ci++] = tmp_op->a[arg].val * sizeof(Eterm);