summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Gustavsson <bjorn@erlang.org>2021-10-13 18:20:31 +0200
committerBjörn Gustavsson <bjorn@erlang.org>2021-10-14 04:59:22 +0200
commitc1cd0d16f9952a8ae4efac6420b2e2c7ce20b953 (patch)
treedcf2b92446fe66bac42b5207a53cc67c58871e5d
parent4ca6a876135743e6b81e58e31dbe22e982d434e0 (diff)
downloaderlang-c1cd0d16f9952a8ae4efac6420b2e2c7ce20b953.tar.gz
WIP: Work around bug in beam_makeops or packing engine
-rw-r--r--erts/emulator/beam/beam_debug.c2
-rw-r--r--erts/emulator/beam/emu/emu_load.c2
-rw-r--r--erts/emulator/beam/emu/ops.tab2
3 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/beam_debug.c b/erts/emulator/beam/beam_debug.c
index e4823f76bb..f5431364d5 100644
--- a/erts/emulator/beam/beam_debug.c
+++ b/erts/emulator/beam/beam_debug.c
@@ -898,7 +898,7 @@ print_op(fmtfn_t to, void *to_arg, int op, int size, BeamInstr* addr)
}
}
break;
- case op_i_bs_create_bin_jItdW:
+ case op_i_bs_create_bin_jIWdW:
{
int n = unpacked[-1];
int i = 0;
diff --git a/erts/emulator/beam/emu/emu_load.c b/erts/emulator/beam/emu/emu_load.c
index 41d5aac41d..98db4bf366 100644
--- a/erts/emulator/beam/emu/emu_load.c
+++ b/erts/emulator/beam/emu/emu_load.c
@@ -1376,7 +1376,7 @@ int beam_load_emit_op(LoaderState *stp, BeamOp *tmp_op) {
case op_i_bs_match_string_yfWW:
new_string_patch(stp, ci-1);
break;
- case op_i_bs_create_bin_jItdW:
+ case op_i_bs_create_bin_jIWdW:
{
int n = tmp_op->arity;
BeamInstr* p = &code[ci-n];
diff --git a/erts/emulator/beam/emu/ops.tab b/erts/emulator/beam/emu/ops.tab
index 0148ebb112..6ece4802da 100644
--- a/erts/emulator/beam/emu/ops.tab
+++ b/erts/emulator/beam/emu/ops.tab
@@ -1184,7 +1184,7 @@ i_bs_validate_unicode_retract j s S
bs_create_bin Fail Alloc=u Live=u Unit=u Dst=xy N=u Segments=* => \
create_bin(Fail, Alloc, Live, Unit, Dst, N, Segments)
-i_bs_create_bin j I t d W *
+i_bs_create_bin j I W d W *
# ================================================================
# Old instruction for constructing binaries (up to OTP 24).