summaryrefslogtreecommitdiffstats
path: root/bytecomp/lambda.mli
diff options
context:
space:
mode:
Diffstat (limited to 'bytecomp/lambda.mli')
-rw-r--r--bytecomp/lambda.mli31
1 files changed, 25 insertions, 6 deletions
diff --git a/bytecomp/lambda.mli b/bytecomp/lambda.mli
index fbc18cd94..414bdd431 100644
--- a/bytecomp/lambda.mli
+++ b/bytecomp/lambda.mli
@@ -5,36 +5,55 @@ open Typedtree
type primitive =
Pidentity
+ (* Globals *)
| Pgetglobal of Ident.t
| Psetglobal of Ident.t
+ (* Operations on heap blocks *)
| Pmakeblock of int
| Pfield of int
| Psetfield of int * bool
- | Pccall of primitive_description
+ | Pfloatfield of int
+ | Psetfloatfield of int
+ (* External call *)
+ | Pccall of Primitive.description
+ (* Exceptions *)
| Praise
+ (* Boolean operations *)
| Psequand | Psequor | Pnot
+ (* Integer operations *)
| Pnegint | Paddint | Psubint | Pmulint | Pdivint | Pmodint
| Pandint | Porint | Pxorint
| Plslint | Plsrint | Pasrint
| Pintcomp of comparison
| Poffsetint of int
| Poffsetref of int
+ (* Float operations *)
| Pintoffloat | Pfloatofint
| Pnegfloat | Paddfloat | Psubfloat | Pmulfloat | Pdivfloat
| Pfloatcomp of comparison
- | Pstringlength | Pgetstringchar | Psetstringchar
- | Psafegetstringchar | Psafesetstringchar
- | Pvectlength | Pgetvectitem | Psetvectitem of bool
- | Psafegetvectitem | Psafesetvectitem of bool
+ (* String operations *)
+ | Pstringlength | Pstringrefu | Pstringsetu | Pstringrefs | Pstringsets
+ (* Array operations *)
+ | Pmakearray of array_kind
+ | Parraylength of array_kind
+ | Parrayrefu of array_kind
+ | Parraysetu of array_kind
+ | Parrayrefs of array_kind
+ | Parraysets of array_kind
+ (* Compaction of sparse switches *)
| Ptranslate of (int * int * int) array
and comparison =
Ceq | Cneq | Clt | Cgt | Cle | Cge
+and array_kind =
+ Pgenarray | Paddrarray | Pintarray | Pfloatarray
+
type structured_constant =
Const_base of constant
- | Const_block of int * structured_constant list
| Const_pointer of int
+ | Const_block of int * structured_constant list
+ | Const_float_array of string list
type lambda =
Lvar of Ident.t