mate_common.models.cpg_types.mc module

class mate_common.models.cpg_types.mc.MachineFrameInfo(*, has_stack_objects: bool, has_variadic_objects: bool, is_frame_address_taken: bool, is_return_address_taken: bool, num_objects: int, num_fixed_objects: int, stack_size: int, adjusts_stack: bool)

Bases: pydantic.main.BaseModel

Models the information available for a MachineFunction’s stack frame.

Parameters
  • has_stack_objects (bool) –

  • has_variadic_objects (bool) –

  • is_frame_address_taken (bool) –

  • is_return_address_taken (bool) –

  • num_objects (int) –

  • num_fixed_objects (int) –

  • stack_size (int) –

  • adjusts_stack (bool) –

Return type

None

adjusts_stack: bool

Whether or not this frame’s function adjusts the stack.

has_stack_objects: bool

Whether or not this frame contains stack objects.

has_variadic_objects: bool

Whether or not some (or all) of the objects in this stack frame are variadic.

is_frame_address_taken: bool

Whether a call to llvm.frameaddress occurs in this frame’s function.

is_return_address_taken: bool

Whether a call to llvm.returnaddress occurs in this frame’s function.

num_fixed_objects: int

The number of fixed (i.e., non-variadic) stack objects in this frame.

num_objects: int

The number of stack objects in this frame.

stack_size: int

The size of this stack frame (i.e., for all fixed objects), in bytes.