summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 4e8d8e61..d79231f5 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -2453,6 +2453,22 @@ again:
break;
}
+ case IN_REPLACE_STREAM: {
+ debug( prg, REALM_BYTECODE, "IN_REPLACE_STREAM\n" );
+
+ stream_t *to_replace_with = vm_pop_stream();
+ stream_t *stream = vm_pop_stream();
+
+ stream->impl = to_replace_with->impl;
+ stream->not_owner = true;
+
+ vm_push_stream( stream );
+
+ exec->steps = stream->parser->pda_run->steps;
+ exec->pcr = PCR_START;
+
+ break;
+ }
case IN_SEND_STREAM_W: {
debug( prg, REALM_BYTECODE, "IN_SEND_STREAM_W\n" );