665 |
break; // no operation like the name suggests |
break; // no operation like the name suggests |
666 |
} |
} |
667 |
|
|
668 |
|
if (flags & STMT_RETURN_SIGNALLED) { |
669 |
|
flags = StmtFlags_t(flags & ~STMT_RETURN_SIGNALLED); |
670 |
|
for (; frameIdx >= 0; ctx->popStack()) { |
671 |
|
frame = ctx->stack[frameIdx]; |
672 |
|
if (frame.statement->statementType() == STMT_SYNC) { |
673 |
|
--synced; |
674 |
|
} else if (dynamic_cast<Subroutine*>(frame.statement)) { |
675 |
|
ctx->popStack(); |
676 |
|
break; // stop here |
677 |
|
} |
678 |
|
} |
679 |
|
} |
680 |
|
|
681 |
if (flags == STMT_SUCCESS && !synced && |
if (flags == STMT_SUCCESS && !synced && |
682 |
instructionsCounter > SCRIPTVM_MAX_INSTR_PER_CYCLE_HARD) |
instructionsCounter > SCRIPTVM_MAX_INSTR_PER_CYCLE_HARD) |
683 |
{ |
{ |