Loading tiny/vm/runner.hpp +10 −8 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ struct runner_config void options( brq::cmd_options &c ) { c.opt( "--[no-]trace-triggers", trace_triggers ) << "print out trigger-based traces"; c.flag( "--trace-triggers", trace_triggers ) << "print out trigger-based traces (enabled by default)"; c.opt( "--trace-steps", trace_steps ) << "print out every performed instruction"; c.opt( "--trace-registers", trace_regs ) Loading @@ -29,6 +29,11 @@ struct runner_config c.opt( "--steps-limit", max_steps ) << "maximal number of operations before giving up (default 2¹⁶)"; } bool is_tracing() const { return trace_steps || trace_regs; } }; struct runner : state Loading @@ -50,9 +55,6 @@ struct runner : state : config( std::move( conf ) ) { load( prog ); if ( config.trace_regs ) config.trace_steps = true; } runner( const runner & ) = delete; Loading Loading @@ -121,7 +123,7 @@ struct runner : state ++steps; if ( config.trace_steps || dbg.ub_detected() ) if ( config.is_tracing() || dbg.ub_detected() ) { if ( config.trace_regs ) gen_reg_trace(); Loading Loading @@ -201,7 +203,7 @@ struct runner : state void trace( auto &&... args ) { if ( !config.trace_steps ) if ( !config.is_tracing() ) return; if ( !_trace.data().empty() ) Loading Loading @@ -231,7 +233,7 @@ struct runner : state void print_trace_header() { if ( !config.trace_steps ) if ( !config.is_tracing() ) return; std::cout << " pc | inst op_1 op_2 out |"; Loading Loading
tiny/vm/runner.hpp +10 −8 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ struct runner_config void options( brq::cmd_options &c ) { c.opt( "--[no-]trace-triggers", trace_triggers ) << "print out trigger-based traces"; c.flag( "--trace-triggers", trace_triggers ) << "print out trigger-based traces (enabled by default)"; c.opt( "--trace-steps", trace_steps ) << "print out every performed instruction"; c.opt( "--trace-registers", trace_regs ) Loading @@ -29,6 +29,11 @@ struct runner_config c.opt( "--steps-limit", max_steps ) << "maximal number of operations before giving up (default 2¹⁶)"; } bool is_tracing() const { return trace_steps || trace_regs; } }; struct runner : state Loading @@ -50,9 +55,6 @@ struct runner : state : config( std::move( conf ) ) { load( prog ); if ( config.trace_regs ) config.trace_steps = true; } runner( const runner & ) = delete; Loading Loading @@ -121,7 +123,7 @@ struct runner : state ++steps; if ( config.trace_steps || dbg.ub_detected() ) if ( config.is_tracing() || dbg.ub_detected() ) { if ( config.trace_regs ) gen_reg_trace(); Loading Loading @@ -201,7 +203,7 @@ struct runner : state void trace( auto &&... args ) { if ( !config.trace_steps ) if ( !config.is_tracing() ) return; if ( !_trace.data().empty() ) Loading Loading @@ -231,7 +233,7 @@ struct runner : state void print_trace_header() { if ( !config.trace_steps ) if ( !config.is_tracing() ) return; std::cout << " pc | inst op_1 op_2 out |"; Loading