package jasmin

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Jasmin.FInfoSource

Sourcetype returnaddress_kind =
  1. | OnStack
  2. | OnReg
Sourcetype f_annot = {
  1. retaddr_kind : returnaddress_kind option;
  2. stack_allocation_size : Z.t option;
  3. stack_size : Z.t option;
  4. stack_align : Annotations.wsize option;
  5. max_call_depth : Z.t option;
  6. stack_zero_strategy : (Stack_zero_strategy.stack_zero_strategy * Annotations.wsize option) option;
  7. f_user_annot : Annotations.annotations;
}
Sourceval f_annot_empty : f_annot
Sourcetype arg_ret_info = {
  1. returned_params : int option list;
}

When a non-inlined function returns a `ptr` array, it has to be one of its arguments. returned_params associates to each return value the index of the corresponding argument if it is a `ptr` array, and None otherwise.

Sourcetype call_conv =
  1. | Export of arg_ret_info
    (*

    The function should be exported to the outside word

    *)
  2. | Subroutine of arg_ret_info
    (*

    internal function that should not be inlined

    *)
  3. | Internal
    (*

    internal function that should be inlined

    *)
Sourceval is_subroutine : call_conv -> bool
Sourceval is_export : call_conv -> bool
Sourcetype return_info = {
  1. ret_annot : Annotations.annotations list;
  2. ret_loc : Location.t;
}
Sourceval entry_info : t -> IInfo.t
Sourceval ret_info : t -> IInfo.t