To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
-
bigarray
-
dynlink
-
ocamlbytecomp
-
ocamlcommon
-
ocamlmiddleend
-
ocamloptcomp
-
odoc_info
-
raw_spacetime_lib
-
-
stdlib
-
str
-
threads
-
unix
Library
Module
Module type
Parameter
Class
Class type
val bind :
string ->
Cmm.expression ->
(Cmm.expression -> Cmm.expression) ->
Cmm.expression
bind name arg fn
is equivalent to let name = arg in fn name
, or simply fn arg
if arg
is simple enough
val bind_load :
string ->
Cmm.expression ->
(Cmm.expression -> Cmm.expression) ->
Cmm.expression
Same as bind
, but also treats loads from a variable as simple
val bind_nonvar :
string ->
Cmm.expression ->
(Cmm.expression -> Cmm.expression) ->
Cmm.expression
Same as bind
, but does not treat variables as simple
Headers
val floatarray_tag : Debuginfo.t -> Cmm.expression
A constant equal to the tag for float arrays
block_header tag size
creates a header with tag tag
for a block of size size
val alloc_float_header : Debuginfo.t -> Cmm.expression
Wrappers
val alloc_floatarray_header : int -> Debuginfo.t -> Cmm.expression
val alloc_closure_header : int -> Debuginfo.t -> Cmm.expression
val alloc_infix_header : int -> Debuginfo.t -> Cmm.expression
val alloc_boxedint32_header : Debuginfo.t -> Cmm.expression
val alloc_boxedint64_header : Debuginfo.t -> Cmm.expression
val alloc_boxedintnat_header : Debuginfo.t -> Cmm.expression
Integers
Minimal/maximal OCaml integer values whose backend representation fits in a regular OCaml integer
val int_const : Debuginfo.t -> int -> Cmm.expression
Make an integer constant from the given integer (tags the integer)
val cint_const : int -> Cmm.data_item
val targetint_const : int -> Targetint.t
val natint_const_untagged : Debuginfo.t -> Nativeint.t -> Cmm.expression
Make a Cmm constant holding the given nativeint value. Uses Cconst_int
instead of Cconst_nativeint
when possible to preserve peephole optimisations.
val add_const : Cmm.expression -> int -> Debuginfo.t -> Cmm.expression
Add an integer to the given expression
val incr_int : Cmm.expression -> Debuginfo.t -> Cmm.expression
Increment/decrement of integers
val decr_int : Cmm.expression -> Debuginfo.t -> Cmm.expression
val ignore_low_bit_int : Cmm.expression -> Cmm.expression
Simplify the given expression knowing its last bit will be irrelevant
val ignore_high_bit_int : Cmm.expression -> Cmm.expression
Simplify the given expression knowing its first bit will be irrelevant
val add_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
Arithmetical operations on integers
val sub_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
val lsl_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
val mul_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
val lsr_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
val asr_int : Cmm.expression -> Cmm.expression -> Debuginfo.t -> Cmm.expression
val div_int :
Cmm.expression ->
Cmm.expression ->
Lambda.is_safe ->
Debuginfo.t ->
Cmm.expression
val mod_int :
Cmm.expression ->
Cmm.expression ->
Lambda.is_safe ->
Debuginfo.t ->
Cmm.expression
val tag_int : Cmm.expression -> Debuginfo.t -> Cmm.expression
Integer tagging. tag_int x = (x lsl 1) + 1
val untag_int : Cmm.expression -> Debuginfo.t -> Cmm.expression
Integer untagging. untag_int x = (x asr 1)
val safe_div_bi :
Lambda.is_safe ->
Cmm.expression ->
Cmm.expression ->
Primitive.boxed_integer ->
Debuginfo.t ->
Cmm.expression
Specific division operations for boxed integers
val safe_mod_bi :
Lambda.is_safe ->
Cmm.expression ->
Cmm.expression ->
Primitive.boxed_integer ->
Debuginfo.t ->
Cmm.expression
val mk_if_then_else :
Debuginfo.t