Goblint_lib.Events
Events.
type t =
| Lock of LockDomain.AddrRW.t
| Unlock of ValueDomain.Addr.t
| Escape of EscapeDomain.EscapedVars.t
| EnterMultiThreaded
| SplitBranch of GoblintCil.exp * bool
Used to simulate old branch-based split.
*)| AssignSpawnedThread of GoblintCil.lval * ThreadIdDomain.Thread.t
Assign spawned thread's ID to lval.
*)| Access of {
exp : CilType.Exp.t;
ad : ValueDomain.AD.t;
kind : AccessKind.t;
reach : bool;
}
| Assign of {
lval : CilType.Lval.t;
exp : CilType.Exp.t;
}
Used to simulate old ctx.assign
.
| UpdateExpSplit of GoblintCil.exp
Used by expsplit analysis to evaluate exp
on post-state.
| Assert of GoblintCil.exp
| Unassume of {
exp : CilType.Exp.t;
uuids : string list;
}
| Longjmped of {
lval : CilType.Lval.t option;
}
val emit_on_deadcode : t -> bool
Should event be emitted after transfer function raises Deadcode
?
val pretty : unit -> t -> GoblintCil.Pretty.doc