diff options
Diffstat (limited to 'stdlib/weak.ml')
-rw-r--r-- | stdlib/weak.ml | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/stdlib/weak.ml b/stdlib/weak.ml index 1746574f2d..cce9a3a3ed 100644 --- a/stdlib/weak.ml +++ b/stdlib/weak.ml @@ -19,13 +19,17 @@ type 'a t external create : int -> 'a t = "caml_weak_create" +(** number of additional values in a weak pointer + * - Link + * - Domain + * - Data *) +let additional_values = 3 (* CAML_EPHE_FIRST_KEY in weak.h *) + let create l = if not (0 <= l && l <= Obj.Ephemeron.max_ephe_length) then invalid_arg("Weak.create"); create l -(** number of additional values in a weak pointer *) -let additional_values = 2 let length x = Obj.size(Obj.repr x) - additional_values |