B2R2


FakeBlockInfo Type

IRBasicBlock can be either a fake block or a regular block. FakeBlockInfo exists only for fake blocks.

Record fields

Record Field Description

CallSite

Full Usage: CallSite

Field type: Addr

Call site address, i.e., the call instruction's address.

Field type: Addr

FrameDistance

Full Usage: FrameDistance

Field type: int option

What is the distance between the caller's stack frame (activation record) and the callee's stack frame? If the distance is always constant, we remember the value here.

Field type: int option

GetPCThunkInfo

Full Usage: GetPCThunkInfo

Field type: GetPCThunkInfo

If this fake block represents a "get_pc" thunk, then return the register ID holding the current PC value after this function returns.

Field type: GetPCThunkInfo

IsIndirectCall

Full Usage: IsIndirectCall

Field type: bool

Is the caller invoke this fake block as an indirect call?

Field type: bool

IsPLT

Full Usage: IsPLT

Field type: bool

Is this fake block points to a PLT entry?

Field type: bool

IsTailCall

Full Usage: IsTailCall

Field type: bool

Is this fake block represents a tail call? So, this fake block is connected with a regular jump edge, not with a call edge.

Field type: bool

UnwindingBytes

Full Usage: UnwindingBytes

Field type: Addr

How many bytes of the stack does this function unwind when return?

Field type: Addr