diff --git a/crypto/vm/vm.cpp b/crypto/vm/vm.cpp index 3f595a00e..d21ce9747 100644 --- a/crypto/vm/vm.cpp +++ b/crypto/vm/vm.cpp @@ -441,10 +441,16 @@ int VmState::step() { if (log.log_mask & vm::VmLog::DumpStackVerbose) { mode += 4; } + std::unique_ptr tmp_ctx; + // install temporary dummy vm state interface to prevent charging for cell load operations during dump + VmStateInterface::Guard guard(tmp_ctx.get()); stack->dump(ss, mode); VM_LOG(this) << "stack:" << ss.str(); } if (stack_trace) { + std::unique_ptr tmp_ctx; + // install temporary dummy vm state interface to prevent charging for cell load operations during dump + VmStateInterface::Guard guard(tmp_ctx.get()); stack->dump(std::cerr, 3); } ++steps;