summaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1995-07-25 11:39:02 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1995-07-25 11:39:02 +0000
commit7fcb1d47c53410bbeb011989c6f2b5f809e7da06 (patch)
tree8bce74f1f76d8680eaab7cc91936200fd97834db /stdlib
parent8deb415b89da7584a8358b49f748073349c6c6f0 (diff)
downloadocaml-7fcb1d47c53410bbeb011989c6f2b5f809e7da06.tar.gz
Annotations "noalloc" sur les primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@144 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/hashtbl.ml2
-rw-r--r--stdlib/hashtbl.mli2
-rw-r--r--stdlib/pervasives.ml2
-rw-r--r--stdlib/pervasives.mli2
-rw-r--r--stdlib/string.ml5
-rw-r--r--stdlib/string.mli5
6 files changed, 10 insertions, 8 deletions
diff --git a/stdlib/hashtbl.ml b/stdlib/hashtbl.ml
index f7cbda3ff2..de55ae63d1 100644
--- a/stdlib/hashtbl.ml
+++ b/stdlib/hashtbl.ml
@@ -33,7 +33,7 @@ let rec bucket_too_long n bucket =
Empty -> false
| Cons(_,_,rest) -> bucket_too_long (pred n) rest
-external hash_param : int -> int -> 'a -> int = "hash_univ_param"
+external hash_param : int -> int -> 'a -> int = "hash_univ_param" "noalloc"
let add h key info =
let i = (hash_param 10 100 key) mod (Array.length h.data) in
diff --git a/stdlib/hashtbl.mli b/stdlib/hashtbl.mli
index 5054970f8c..1dedd6a1c0 100644
--- a/stdlib/hashtbl.mli
+++ b/stdlib/hashtbl.mli
@@ -52,7 +52,7 @@ val hash : 'a -> int
Moreover, [hash] always terminates, even on cyclic
structures. *)
-external hash_param : int -> int -> 'a -> int = "hash_univ_param"
+external hash_param : int -> int -> 'a -> int = "hash_univ_param" "noalloc"
(* [hash_param n m x] computes a hash val for [x], with the
same properties as for [hash]. The two extra parameters [n] and
[m] give more precise control over hashing. Hashing performs a
diff --git a/stdlib/pervasives.ml b/stdlib/pervasives.ml
index 4bdd94c5f8..9583308fbe 100644
--- a/stdlib/pervasives.ml
+++ b/stdlib/pervasives.ml
@@ -15,7 +15,7 @@ external (<) : 'a -> 'a -> bool = "%lessthan"
external (>) : 'a -> 'a -> bool = "%greaterthan"
external (<=) : 'a -> 'a -> bool = "%lessequal"
external (>=) : 'a -> 'a -> bool = "%greaterequal"
-external compare: 'a -> 'a -> int = "compare"
+external compare: 'a -> 'a -> int = "compare" "noalloc"
let min x y = if x <= y then x else y
let max x y = if x >= y then x else y
diff --git a/stdlib/pervasives.mli b/stdlib/pervasives.mli
index 176ed2ec3f..4e439c4ce3 100644
--- a/stdlib/pervasives.mli
+++ b/stdlib/pervasives.mli
@@ -38,7 +38,7 @@ external (<) : 'a -> 'a -> bool = "%lessthan"
external (>) : 'a -> 'a -> bool = "%greaterthan"
external (<=) : 'a -> 'a -> bool = "%lessequal"
external (>=) : 'a -> 'a -> bool = "%greaterequal"
-external compare: 'a -> 'a -> int = "compare"
+external compare: 'a -> 'a -> int = "compare" "noalloc"
val min: 'a -> 'a -> 'a
val max: 'a -> 'a -> 'a
external (==) : 'a -> 'a -> bool = "%eq"
diff --git a/stdlib/string.ml b/stdlib/string.ml
index 77ed8a7bb4..4365f9d04f 100644
--- a/stdlib/string.ml
+++ b/stdlib/string.ml
@@ -7,8 +7,9 @@ external create: int -> string = "create_string"
external unsafe_get : string -> int -> char = "%string_unsafe_get"
external unsafe_set : string -> int -> char -> unit = "%string_unsafe_set"
external unsafe_blit : string -> int -> string -> int -> int -> unit
- = "blit_string"
-external unsafe_fill : string -> int -> int -> char -> unit = "fill_string"
+ = "blit_string" "noalloc"
+external unsafe_fill : string -> int -> int -> char -> unit
+ = "fill_string" "noalloc"
let make n c =
let s = create n in
diff --git a/stdlib/string.mli b/stdlib/string.mli
index fa1c35c4e2..164aef487b 100644
--- a/stdlib/string.mli
+++ b/stdlib/string.mli
@@ -20,7 +20,8 @@ val escaped: string -> string
external unsafe_get : string -> int -> char = "%string_unsafe_get"
external unsafe_set : string -> int -> char -> unit = "%string_unsafe_set"
external unsafe_blit : string -> int -> string -> int -> int -> unit
- = "blit_string"
-external unsafe_fill : string -> int -> int -> char -> unit = "fill_string"
+ = "blit_string" "noalloc"
+external unsafe_fill : string -> int -> int -> char -> unit
+ = "fill_string" "noalloc"