B2R2


SafeEvaluator Module

ConcEval.SafeEvaluator is a safe concrete evaluation module for LowUIR. Unlike ConcEval.Evaluator, it does not raise exceptions, but it is slower than ConcEval.Evaluator.

Functions and values

Function or value Description

evalBlock st pc tid blk

Full Usage: evalBlock st pc tid blk

Parameters:
Returns: Result<EvalState, ErrorCase>

Evaluate a block of statements. The block may represent a machine instruction, or a basic block.

st : EvalState
pc : Addr
tid : int
blk : Stmt[][]
Returns: Result<EvalState, ErrorCase>

evalBlockLoop idx blk result

Full Usage: evalBlockLoop idx blk result

Parameters:
Returns: Result<EvalState, ErrorCase>
idx : int
blk : Stmt[][]
result : Result<EvalState, ErrorCase>
Returns: Result<EvalState, ErrorCase>

evalConcrete st e

Full Usage: evalConcrete st e

Parameters:
Returns: Result<EvalValue, ErrorCase>
st : EvalState
e : Expr
Returns: Result<EvalValue, ErrorCase>

evalStmt st _arg1

Full Usage: evalStmt st _arg1

Parameters:
Returns: Result<unit, ErrorCase>
st : EvalState
_arg1 : S
Returns: Result<unit, ErrorCase>