jon.recoil.org

Module Proc

val word_addressed : bool
val phys_reg : Cmm.machtype_component -> int -> Reg.t
val precolored_regs : unit -> Reg.Set.t
val types_are_compatible : Reg.t -> Reg.t -> bool
val loc_arguments : Cmm.machtype -> Reg.t array * int
val loc_results_call : Cmm.machtype -> Reg.t array * int
val loc_parameters : Cmm.machtype -> Reg.t array
val loc_results_return : Cmm.machtype -> Reg.t array
val has_three_operand_float_ops : unit -> bool
val loc_external_arguments : Cmm.exttype list -> Reg.t array array * int * Cmm.stack_align
val loc_external_results : Cmm.machtype -> Reg.t array
val loc_exn_bucket : Reg.t
val max_arguments_for_tailcalls : int
val destroyed_at_raise : Reg.t array
val destroyed_at_reloadretaddr : Reg.t array
val destroyed_at_pushtrap : Reg.t array
val destroyed_at_basic : Cfg_intf.S.basic -> Reg.t array
val destroyed_at_terminator : Cfg_intf.S.terminator -> Reg.t array
val is_destruction_point : more_destruction_points:bool -> Cfg_intf.S.terminator -> bool
val initial_stack_offset : num_stack_slots:int Stack_class.Tbl.t -> contains_calls:bool -> int
val trap_frame_size_in_bytes : int
val frame_required : fun_contains_calls:bool -> fun_num_stack_slots:int Stack_class.Tbl.t -> bool
val frame_size : stack_offset:int -> contains_calls:bool -> num_stack_slots:int Stack_class.Tbl.t -> int
type slot_offset = private
  1. | Bytes_relative_to_stack_pointer of int
  2. | Bytes_relative_to_domainstate_pointer of int
val slot_offset : Reg.stack_location -> stack_class:Stack_class.t -> stack_offset:int -> fun_contains_calls:bool -> fun_num_stack_slots:int Stack_class.Tbl.t -> Proc.slot_offset
val prologue_required : fun_contains_calls:bool -> fun_num_stack_slots:int Stack_class.Tbl.t -> bool
val stack_ptr_dwarf_register_number : int

The DWARF register number corresponding to the stack pointer.

val domainstate_ptr_dwarf_register_number : int

The DWARF register number corresponding to the domainstate pointer.

val assemble_file : string -> string -> int
val operation_supported : Cmm.operation -> bool

operation_supported op returns true when op can be implemented directly with a hardware instruction. Used in Cmmgen when converting @@builtin external calls to primitive operations.

val expression_supported : Cmm.expression -> bool

expression_supported exp returns true when exp is a cmm expression supported by this architecture.

val trap_size_in_bytes : unit -> int

The number of bytes each trap occupies on the stack.