package jasmin

  1. Overview
  2. Docs
Compiler for High-Assurance and High-Speed Cryptography

Install

dune-project
 Dependency

Authors

Maintainers

Sources

jasmin-compiler-v2025.06.1.tar.bz2
sha256=e92b42fa69da7c730b0c26dacf842a72b4febcaf4f2157a1dc18b3cce1f859fa

doc/jasmin.jasmin/Jasmin/FInfo/index.html

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