summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/emu/emu_load.c
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/beam/emu/emu_load.c')
-rw-r--r--erts/emulator/beam/emu/emu_load.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/erts/emulator/beam/emu/emu_load.c b/erts/emulator/beam/emu/emu_load.c
index fa0372be87..41d5aac41d 100644
--- a/erts/emulator/beam/emu/emu_load.c
+++ b/erts/emulator/beam/emu/emu_load.c
@@ -1376,6 +1376,21 @@ 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:
+ {
+ int n = tmp_op->arity;
+ BeamInstr* p = &code[ci-n];
+ BeamInstr* end_p = &code[ci];
+ while (p < end_p) {
+ switch (*p) {
+ case BSC_STRING:
+ new_string_patch(stp, p+3-code);
+ break;
+ }
+ p += 5;
+ }
+ }
+ break;
case op_catch_yf:
/* code[ci-3] &&lb_catch_yf
* code[ci-2] y-register offset in E