package ocaml-base-compiler
type machtype = machtype_component array
val typ_void : machtype
val typ_val : machtype
val typ_addr : machtype
val typ_int : machtype
val typ_float : machtype
val size_component : machtype_component -> int
val lub_component :
machtype_component ->
machtype_component ->
machtype_component
Least upper bound of two machtype_component
s.
val ge_component : machtype_component -> machtype_component -> bool
Returns true
iff the first supplied machtype_component
is greater than or equal to the second under the relation used by lub_component
.
val size_machtype : machtype -> int
val negate_comparison : comparison -> comparison
val swap_comparison : comparison -> comparison
val new_label : unit -> label
and operation =
| Capply of machtype
| Cextcall of string * machtype * bool * label option
| Cload of memory_chunk * Asttypes.mutable_flag
| Calloc
| Cstore of memory_chunk * Lambda.initialization_or_assignment
| Caddi
| Csubi
| Cmuli
| Cmulhi
| Cdivi
| Cmodi
| Cand
| Cor
| Cxor
| Clsl
| Clsr
| Casr
| Ccmpi of comparison
| Caddv
| Cadda
| Ccmpa of comparison
| Cnegf
| Cabsf
| Caddf
| Csubf
| Cmulf
| Cdivf
| Cfloatofint
| Cintoffloat
| Ccmpf of comparison
| Craise of raise_kind
| Ccheckbound
and expression =
| Cconst_int of int
| Cconst_natint of nativeint
| Cconst_float of float
| Cconst_symbol of string
| Cconst_pointer of int
| Cconst_natpointer of nativeint
| Cblockheader of nativeint * Debuginfo.t
| Cvar of Ident.t
| Clet of Ident.t * expression * expression
| Cassign of Ident.t * expression
| Ctuple of expression list
| Cop of operation * expression list * Debuginfo.t
| Csequence of expression * expression
| Cifthenelse of expression * expression * expression
| Cswitch of expression * int array * expression array * Debuginfo.t
| Cloop of expression
| Ccatch of rec_flag * (int * Ident.t list * expression) list * expression
| Cexit of int * expression list
| Ctrywith of expression * Ident.t * expression
Not all cmm expressions currently have Debuginfo.t
values attached to them. The ones that do are those that are likely to generate code that can fairly robustly be mapped back to a source location. In the future it might be the case that more Debuginfo.t
annotations are desirable.
type fundecl = {
fun_name : string;
fun_args : (Ident.t * machtype) list;
fun_body : expression;
fun_fast : bool;
fun_dbg : Debuginfo.t;
}
val ccatch : (int * Ident.t list * expression * expression) -> expression
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>