From 2d31ebfc8ba584e7ef51f3997a3bdcd061dbaa9c Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Tue, 12 Mar 2019 08:11:27 +0000 Subject: [PATCH] Add support for [@@immediate64] Signed-off-by: Jeremie Dimino --- .depend | 31 ++++++- Changes | 4 + Makefile | 2 +- boot/ocamlc | Bin 2645957 -> 2647090 bytes boot/ocamllex | Bin 323681 -> 323937 bytes debugger/Makefile | 4 +- manual/manual/refman/exten.etex | 31 +++++++ otherlibs/dynlink/Makefile | 1 + parsing/builtin_attributes.ml | 7 ++ parsing/builtin_attributes.mli | 2 + stdlib/sys.mli | 25 ++++++ stdlib/sys.mlp | 22 +++++ testsuite/tests/lib-sys/immediate64.ml | 32 +++++++ testsuite/tests/lib-sys/ocamltests | 1 + testsuite/tests/typing-immediate/immediate.ml | 12 +-- typing/ctype.ml | 29 +++++-- typing/ctype.mli | 2 + typing/datarepr.ml | 2 +- typing/includecore.ml | 25 ++++-- typing/includecore.mli | 2 +- typing/oprint.ml | 5 +- typing/outcometree.mli | 2 +- typing/predef.ml | 8 +- typing/printtyp.ml | 7 +- typing/type_immediacy.ml | 43 ++++++++++ typing/type_immediacy.mli | 40 +++++++++ typing/typeclass.ml | 6 +- typing/typecore.ml | 2 +- typing/typedecl.ml | 79 ++++++++++-------- typing/typedecl_immediacy.ml | 39 +++++---- typing/typedecl_immediacy.mli | 6 +- typing/typedecl_unboxed.ml | 20 +++-- typing/typedecl_unboxed.mli | 7 +- typing/typemod.ml | 2 +- typing/types.ml | 2 +- typing/types.mli | 2 +- 36 files changed, 395 insertions(+), 109 deletions(-) create mode 100644 testsuite/tests/lib-sys/immediate64.ml create mode 100644 typing/type_immediacy.ml create mode 100644 typing/type_immediacy.mli diff --git a/.depend b/.depend index a0cc32081..6a58826ba 100644 --- a/.depend +++ b/.depend @@ -439,6 +439,7 @@ typing/btype.cmi : \ parsing/asttypes.cmi typing/ctype.cmo : \ typing/types.cmi \ + typing/type_immediacy.cmi \ typing/subst.cmi \ typing/predef.cmi \ typing/path.cmi \ @@ -453,6 +454,7 @@ typing/ctype.cmo : \ typing/ctype.cmi typing/ctype.cmx : \ typing/types.cmx \ + typing/type_immediacy.cmx \ typing/subst.cmx \ typing/predef.cmx \ typing/path.cmx \ @@ -467,6 +469,7 @@ typing/ctype.cmx : \ typing/ctype.cmi typing/ctype.cmi : \ typing/types.cmi \ + typing/type_immediacy.cmi \ typing/path.cmi \ parsing/longident.cmi \ typing/ident.cmi \ @@ -596,6 +599,7 @@ typing/includeclass.cmi : \ typing/includecore.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ + typing/type_immediacy.cmi \ typing/printtyp.cmi \ typing/path.cmi \ typing/ident.cmi \ @@ -608,6 +612,7 @@ typing/includecore.cmo : \ typing/includecore.cmx : \ typing/types.cmx \ typing/typedtree.cmx \ + typing/type_immediacy.cmx \ typing/printtyp.cmx \ typing/path.cmx \ typing/ident.cmx \ @@ -620,6 +625,7 @@ typing/includecore.cmx : \ typing/includecore.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ + typing/type_immediacy.cmi \ typing/path.cmi \ parsing/location.cmi \ typing/ident.cmi \ @@ -718,6 +724,7 @@ typing/oprint.cmx : \ typing/oprint.cmi : \ typing/outcometree.cmi typing/outcometree.cmi : \ + typing/type_immediacy.cmi \ parsing/asttypes.cmi typing/parmatch.cmo : \ utils/warnings.cmi \ @@ -864,6 +871,7 @@ typing/printpat.cmi : \ typing/printtyp.cmo : \ utils/warnings.cmi \ typing/types.cmi \ + typing/type_immediacy.cmi \ typing/primitive.cmi \ typing/predef.cmi \ typing/path.cmi \ @@ -877,13 +885,13 @@ typing/printtyp.cmo : \ typing/env.cmi \ typing/ctype.cmi \ utils/clflags.cmi \ - parsing/builtin_attributes.cmi \ typing/btype.cmi \ parsing/asttypes.cmi \ typing/printtyp.cmi typing/printtyp.cmx : \ utils/warnings.cmx \ typing/types.cmx \ + typing/type_immediacy.cmx \ typing/primitive.cmx \ typing/predef.cmx \ typing/path.cmx \ @@ -897,7 +905,6 @@ typing/printtyp.cmx : \ typing/env.cmx \ typing/ctype.cmx \ utils/clflags.cmx \ - parsing/builtin_attributes.cmx \ typing/btype.cmx \ parsing/asttypes.cmi \ typing/printtyp.cmi @@ -1032,6 +1039,14 @@ typing/tast_mapper.cmi : \ typing/typedtree.cmi \ typing/env.cmi \ parsing/asttypes.cmi +typing/type_immediacy.cmo : \ + parsing/builtin_attributes.cmi \ + typing/type_immediacy.cmi +typing/type_immediacy.cmx : \ + parsing/builtin_attributes.cmx \ + typing/type_immediacy.cmi +typing/type_immediacy.cmi : \ + parsing/parsetree.cmi typing/typeclass.cmo : \ utils/warnings.cmi \ typing/typetexp.cmi \ @@ -1260,21 +1275,22 @@ typing/typedecl_immediacy.cmo : \ typing/types.cmi \ typing/typedecl_unboxed.cmi \ typing/typedecl_properties.cmi \ + typing/type_immediacy.cmi \ parsing/location.cmi \ typing/ctype.cmi \ - parsing/builtin_attributes.cmi \ typing/typedecl_immediacy.cmi typing/typedecl_immediacy.cmx : \ typing/types.cmx \ typing/typedecl_unboxed.cmx \ typing/typedecl_properties.cmx \ + typing/type_immediacy.cmx \ parsing/location.cmx \ typing/ctype.cmx \ - parsing/builtin_attributes.cmx \ typing/typedecl_immediacy.cmi typing/typedecl_immediacy.cmi : \ typing/types.cmi \ typing/typedecl_properties.cmi \ + typing/type_immediacy.cmi \ parsing/location.cmi \ typing/ident.cmi \ typing/env.cmi @@ -1483,6 +1499,7 @@ typing/typeopt.cmi : \ lambda/lambda.cmi \ typing/env.cmi typing/types.cmo : \ + typing/type_immediacy.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ @@ -1493,6 +1510,7 @@ typing/types.cmo : \ parsing/asttypes.cmi \ typing/types.cmi typing/types.cmx : \ + typing/type_immediacy.cmx \ typing/primitive.cmx \ typing/path.cmx \ parsing/parsetree.cmi \ @@ -1503,6 +1521,7 @@ typing/types.cmx : \ parsing/asttypes.cmi \ typing/types.cmi typing/types.cmi : \ + typing/type_immediacy.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ @@ -4759,6 +4778,8 @@ middle_end/flambda/invariant_params.cmi : \ middle_end/flambda/lift_code.cmo : \ middle_end/variable.cmi \ utils/strongly_connected_components.cmi \ + middle_end/flambda/base_types/mutable_variable.cmi \ + lambda/lambda.cmi \ utils/int_replace_polymorphic_compare.cmi \ middle_end/flambda/flambda_iterators.cmi \ middle_end/flambda/flambda.cmi \ @@ -4767,6 +4788,8 @@ middle_end/flambda/lift_code.cmo : \ middle_end/flambda/lift_code.cmx : \ middle_end/variable.cmx \ utils/strongly_connected_components.cmx \ + middle_end/flambda/base_types/mutable_variable.cmx \ + lambda/lambda.cmx \ utils/int_replace_polymorphic_compare.cmx \ middle_end/flambda/flambda_iterators.cmx \ middle_end/flambda/flambda.cmx \ diff --git a/Changes b/Changes index add5cfffc..83eb120d0 100644 --- a/Changes +++ b/Changes @@ -92,6 +92,10 @@ Working version - #8919: lift mutable lets along with immutable ones (Leo White, review by Pierre Chambart) +- #8806: Add an [@@immediate64] attribute for types that are known to + be immediate only on 64 bit platforms + (Jérémie Dimino, review by Vladimir Keleshev) + ### Runtime system: - #8619: Ensure Gc.minor_words remains accurate after a GC. diff --git a/Makefile b/Makefile index 0338197a9..ee11c370c 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,7 @@ PARSING=parsing/location.cmo parsing/longident.cmo \ parsing/builtin_attributes.cmo parsing/ast_invariants.cmo parsing/depend.cmo TYPING=typing/ident.cmo typing/path.cmo \ - typing/primitive.cmo typing/types.cmo \ + typing/primitive.cmo typing/type_immediacy.cmo typing/types.cmo \ typing/btype.cmo typing/oprint.cmo \ typing/subst.cmo typing/predef.cmo \ typing/datarepr.cmo file_formats/cmi_format.cmo \ diff --git a/boot/ocamlc b/boot/ocamlc index 800a680b72197d404735fa7b6f7f459322158b78..43bba224efda7484189ba4ea1a1b97a565e9dd03 100755 GIT binary patch delta 154068 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 TB=yslNK8yrP^E% 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%0DZK<>{2R9=l1fVizTQ)Uarm8u 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

G7T= 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 IyFK!M0KrzDo&W#< diff --git a/boot/ocamllex b/boot/ocamllex index 75e383d1186831b4d1d6e6477e835a5100e1ce2d..1265c0599152e7955e56ab2a1dbe43a9b3b856f6 100755 GIT binary patch delta 1143 zcmZ9LZAep57{_<+z0ziqcU^7Htm#ZQQ)A0?j-fb0=0d@RA5_97Rs`jInGjK7Sy5n- zc8X(^)t4d)#F%)MB1R=)7+5Iehr$KXi-nUiEwuFxH0Uf?9OkF;c=jU=ZH#RaNt<6Po;h-HDYK?sx| zi9|GHu9}mG#l{IpgFP7%ndm{HkPIObE<#IK92E6skW4@JD08JU@5YTLgQi-cS|DBK zUZ7%-6-0*wvViO$C#VWE6i4b3`OSgPj^H{x?MlFh%aSfX7jRdxfMRi|TOvUl5=co0 z5^$BG+JlJy=_ zbp)7Z&{4eb|7>}%Ub%-Jds=)%B^|xcgiku0 z=J0n_b<>$ZrHw22q2m&CV`Hb)oM3YIu&1-sJi@pyaH7*$IL)~48UBpWW$(4DZ|+vj za2vw|439FLVR)6{ydRtT?KgNg8-`kjBRJD#Zy01;h2a^7R~X*OAbz4bXg2ASBRbE_UNY%r;gffMKBx#XE2L`xU-wMVaQ zK^qcPb=uO+k3*@l#{>3SC@1Dg&Q7k5^2S@?I8bp)IL?oS$#4xuJEstlF{54? t -> t +end = struct + + include Sys.Immediate64.Make(Int)(Int64) + + module type S = sig + val zero : t + val one : t + val add : t -> t -> t + end + + let impl : (module S) = + match repr with + | Immediate -> + (module Int : S) + | Non_immediate -> + (module Int64 : S) + + include (val impl : S) +end +\end{caml_example*} \section{Extension nodes}\label{s:extension-nodes} diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile index efe617997..2e25139d3 100644 --- a/otherlibs/dynlink/Makefile +++ b/otherlibs/dynlink/Makefile @@ -98,6 +98,7 @@ COMPILERLIBS_SOURCES=\ typing/ident.ml \ typing/path.ml \ typing/primitive.ml \ + typing/type_immediacy.ml \ typing/types.ml \ typing/btype.ml \ typing/subst.ml \ diff --git a/parsing/builtin_attributes.ml b/parsing/builtin_attributes.ml index dbebed807..e270d5a4c 100644 --- a/parsing/builtin_attributes.ml +++ b/parsing/builtin_attributes.ml @@ -262,6 +262,13 @@ let immediate = | _ -> false ) +let immediate64 = + List.exists + (fun a -> match a.attr_name.txt with + | "ocaml.immediate64"|"immediate64" -> true + | _ -> false + ) + (* The "ocaml.boxed (default)" and "ocaml.unboxed (default)" attributes cannot be input by the user, they are added by the compiler when applying the default setting. This is done to record diff --git a/parsing/builtin_attributes.mli b/parsing/builtin_attributes.mli index 03949eea7..6200fd74e 100644 --- a/parsing/builtin_attributes.mli +++ b/parsing/builtin_attributes.mli @@ -25,6 +25,7 @@ - ocaml.warn_on_literal_pattern - ocaml.deprecated_mutable - ocaml.immediate + - ocaml.immediate64 - ocaml.boxed / ocaml.unboxed {b Warning:} this module is unstable and part of @@ -77,6 +78,7 @@ val explicit_arity: Parsetree.attributes -> bool val immediate: Parsetree.attributes -> bool +val immediate64: Parsetree.attributes -> bool val has_unboxed: Parsetree.attributes -> bool val has_boxed: Parsetree.attributes -> bool diff --git a/stdlib/sys.mli b/stdlib/sys.mli index 808e8817c..eed700a86 100644 --- a/stdlib/sys.mli +++ b/stdlib/sys.mli @@ -357,3 +357,28 @@ external opaque_identity : 'a -> 'a = "%opaque" @since 4.03.0 *) + +module Immediate64 : sig + (** This module allows to define a type [t] with the [immediate64] + attribute. This attribute means that the type is immediate on 64 + bit architectures. On other architectures, it might or might not + be immediate. + + @since 4.10.0 + *) + + module type Non_immediate = sig + type t + end + module type Immediate = sig + type t [@@immediate] + end + + module Make(Immediate : Immediate)(Non_immediate : Non_immediate) : sig + type t [@@immediate64] + type 'a repr = + | Immediate : Immediate.t repr + | Non_immediate : Non_immediate.t repr + val repr : t repr + end +end diff --git a/stdlib/sys.mlp b/stdlib/sys.mlp index 2da2b7784..e89dd4584 100644 --- a/stdlib/sys.mlp +++ b/stdlib/sys.mlp @@ -131,3 +131,25 @@ let ocaml_version = "%%VERSION%%" (* Optimization *) external opaque_identity : 'a -> 'a = "%opaque" + +module Immediate64 = struct + module type Non_immediate = sig + type t + end + module type Immediate = sig + type t [@@immediate] + end + + module Make(Immediate : Immediate)(Non_immediate : Non_immediate) = struct + type t [@@immediate64] + type 'a repr = + | Immediate : Immediate.t repr + | Non_immediate : Non_immediate.t repr + external magic : _ repr -> t repr = "%identity" + let repr = + if word_size = 64 then + magic Immediate + else + magic Non_immediate + end +end diff --git a/testsuite/tests/lib-sys/immediate64.ml b/testsuite/tests/lib-sys/immediate64.ml new file mode 100644 index 000000000..0f7dea7c4 --- /dev/null +++ b/testsuite/tests/lib-sys/immediate64.ml @@ -0,0 +1,32 @@ +(* TEST +*) + +module M : sig + type t [@@immediate64] + val zero : t + val one : t + val add : t -> t -> t +end = struct + + include Sys.Immediate64.Make(Int)(Int64) + + module type S = sig + val zero : t + val one : t + val add : t -> t -> t + end + + let impl : (module S) = + match repr with + | Immediate -> + (module Int : S) + | Non_immediate -> + (module Int64 : S) + + include (val impl : S) +end + +let () = + match Sys.word_size with + | 64 -> assert (Obj.is_int (Obj.repr M.zero)) + | _ -> assert (Obj.is_block (Obj.repr M.zero)) diff --git a/testsuite/tests/lib-sys/ocamltests b/testsuite/tests/lib-sys/ocamltests index cdb154ed8..ea913e7fb 100644 --- a/testsuite/tests/lib-sys/ocamltests +++ b/testsuite/tests/lib-sys/ocamltests @@ -1 +1,2 @@ rename.ml +immediate64.ml diff --git a/testsuite/tests/typing-immediate/immediate.ml b/testsuite/tests/typing-immediate/immediate.ml index 3834aa6f4..74575aa71 100644 --- a/testsuite/tests/typing-immediate/immediate.ml +++ b/testsuite/tests/typing-immediate/immediate.ml @@ -109,8 +109,8 @@ end;; Line 2, characters 2-31: 2 | type t = string [@@immediate] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Error: Types marked with the immediate attribute must be - non-pointer types like int or bool +Error: Types marked with the immediate attribute must be non-pointer types + like int or bool. |}];; (* Not guaranteed that t is immediate, so this is an invalid declaration *) @@ -122,8 +122,8 @@ end;; Line 3, characters 2-26: 3 | type s = t [@@immediate] ^^^^^^^^^^^^^^^^^^^^^^^^ -Error: Types marked with the immediate attribute must be - non-pointer types like int or bool +Error: Types marked with the immediate attribute must be non-pointer types + like int or bool. |}];; (* Can't ascribe to an immediate type signature with a non-immediate type *) @@ -172,6 +172,6 @@ end;; Line 2, characters 2-26: 2 | type t = s [@@immediate] ^^^^^^^^^^^^^^^^^^^^^^^^ -Error: Types marked with the immediate attribute must be - non-pointer types like int or bool +Error: Types marked with the immediate attribute must be non-pointer types + like int or bool. |}];; diff --git a/typing/ctype.ml b/typing/ctype.ml index e4d385db3..02b97214e 100644 --- a/typing/ctype.ml +++ b/typing/ctype.ml @@ -1230,7 +1230,7 @@ let new_declaration expansion_scope manifest = type_expansion_scope = expansion_scope; type_loc = Location.none; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } @@ -4772,13 +4772,21 @@ let same_constr env t1 t2 = let () = Env.same_constr := same_constr -let maybe_pointer_type env typ = +let is_immediate = function + | Type_immediacy.Unknown -> false + | Type_immediacy.Always -> true + | Type_immediacy.Always_on_64bits -> + (* In bytecode, we don't know at compile time whether we are + targeting 32 or 64 bits. *) + !Clflags.native_code && Sys.word_size = 64 + +let immediacy env typ = match (repr typ).desc with | Tconstr(p, _args, _abbrev) -> begin try let type_decl = Env.find_type p env in - not type_decl.type_immediate - with Not_found -> true + type_decl.type_immediate + with Not_found -> Type_immediacy.Unknown (* This can happen due to e.g. missing -I options, causing some .cmi files to be unavailable. Maybe we should emit a warning. *) @@ -4786,10 +4794,17 @@ let maybe_pointer_type env typ = | Tvariant row -> let row = Btype.row_repr row in (* if all labels are devoid of arguments, not a pointer *) - not row.row_closed - || List.exists + if + not row.row_closed + || List.exists (function | _, (Rpresent (Some _) | Reither (false, _, _, _)) -> true | _ -> false) row.row_fields - | _ -> true + then + Type_immediacy.Unknown + else + Type_immediacy.Always + | _ -> Type_immediacy.Unknown + +let maybe_pointer_type env typ = not (is_immediate (immediacy env typ)) diff --git a/typing/ctype.mli b/typing/ctype.mli index 2403668d9..2a4aa8c5f 100644 --- a/typing/ctype.mli +++ b/typing/ctype.mli @@ -359,6 +359,8 @@ val get_current_level: unit -> int val wrap_trace_gadt_instances: Env.t -> ('a -> 'b) -> 'a -> 'b val reset_reified_var_counter: unit -> unit +val immediacy : Env.t -> type_expr -> Type_immediacy.t + val maybe_pointer_type : Env.t -> type_expr -> bool (* True if type is possibly pointer, false if definitely not a pointer *) diff --git a/typing/datarepr.ml b/typing/datarepr.ml index 9c997a78c..61d79bac6 100644 --- a/typing/datarepr.ml +++ b/typing/datarepr.ml @@ -89,7 +89,7 @@ let constructor_args priv cd_args cd_res path rep = type_expansion_scope = Btype.lowest_level; type_loc = Location.none; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed; } in diff --git a/typing/includecore.ml b/typing/includecore.ml index e4615354c..87f02b8c9 100644 --- a/typing/includecore.ml +++ b/typing/includecore.ml @@ -177,7 +177,7 @@ type type_mismatch = | Record_mismatch of record_mismatch | Variant_mismatch of variant_mismatch | Unboxed_representation of position - | Immediate + | Immediate of Type_immediacy.Violation.t let report_label_mismatch first second ppf err = let pr fmt = Format.fprintf ppf fmt in @@ -267,8 +267,14 @@ let report_type_mismatch0 first second decl ppf err = pr "Their internal representations differ:@ %s %s %s." (choose ord first second) decl "uses unboxed representation" - | Immediate -> pr "%s is not an immediate type." - (StringLabels.capitalize_ascii first) + | Immediate violation -> + let first = StringLabels.capitalize_ascii first in + match violation with + | Type_immediacy.Violation.Not_always_immediate -> + pr "%s is not an immediate type." first + | Type_immediacy.Violation.Not_always_immediate_on_64bits -> + pr "%s is not a type that is always immediate on 64 bit platforms." + first let report_type_mismatch first second decl ppf err = if err = Manifest then () else @@ -444,11 +450,14 @@ let type_declarations ?(equality = false) ~loc env ~mark name (* If attempt to assign a non-immediate type (e.g. string) to a type that * must be immediate, then we error *) let err = - if abstr && - not decl1.type_immediate && - decl2.type_immediate then - Some Immediate - else None + if not abstr then + None + else + match + Type_immediacy.coerce decl1.type_immediate ~as_:decl2.type_immediate + with + | Ok () -> None + | Error violation -> Some (Immediate violation) in if err <> None then err else let need_variance = diff --git a/typing/includecore.mli b/typing/includecore.mli index 68524f663..560d0ac19 100644 --- a/typing/includecore.mli +++ b/typing/includecore.mli @@ -63,7 +63,7 @@ type type_mismatch = | Record_mismatch of record_mismatch | Variant_mismatch of variant_mismatch | Unboxed_representation of position - | Immediate + | Immediate of Type_immediacy.Violation.t val value_descriptions: loc:Location.t -> Env.t -> string -> diff --git a/typing/oprint.ml b/typing/oprint.ml index 47efee611..5377534bc 100644 --- a/typing/oprint.ml +++ b/typing/oprint.ml @@ -654,7 +654,10 @@ and print_out_type_decl kwd ppf td = | Asttypes.Public -> () in let print_immediate ppf = - if td.otype_immediate then fprintf ppf " [%@%@immediate]" else () + match td.otype_immediate with + | Unknown -> () + | Always -> fprintf ppf " [%@%@immediate]" + | Always_on_64bits -> fprintf ppf " [%@%@immediate64]" in let print_unboxed ppf = if td.otype_unboxed then fprintf ppf " [%@%@unboxed]" else () diff --git a/typing/outcometree.mli b/typing/outcometree.mli index ec92d15fe..109afb78d 100644 --- a/typing/outcometree.mli +++ b/typing/outcometree.mli @@ -113,7 +113,7 @@ and out_type_decl = otype_params: (string * (bool * bool)) list; otype_type: out_type; otype_private: Asttypes.private_flag; - otype_immediate: bool; + otype_immediate: Type_immediacy.t; otype_unboxed: bool; otype_cstrs: (out_type * out_type) list } and out_extension_constructor = diff --git a/typing/predef.ml b/typing/predef.ml index 5399656d5..24f51deca 100644 --- a/typing/predef.ml +++ b/typing/predef.ml @@ -127,11 +127,11 @@ let decl_abstr = type_is_newtype = false; type_expansion_scope = lowest_level; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } -let decl_abstr_imm = {decl_abstr with type_immediate = true} +let decl_abstr_imm = {decl_abstr with type_immediate = Always} let cstr id args = { @@ -153,11 +153,11 @@ let common_initial_env add_type add_extension empty_env = let decl_bool = {decl_abstr with type_kind = Type_variant([cstr ident_false []; cstr ident_true []]); - type_immediate = true} + type_immediate = Always} and decl_unit = {decl_abstr with type_kind = Type_variant([cstr ident_void []]); - type_immediate = true} + type_immediate = Always} and decl_exn = {decl_abstr with type_kind = Type_open} diff --git a/typing/printtyp.ml b/typing/printtyp.ml index 069173e90..7ed29f8c4 100644 --- a/typing/printtyp.ml +++ b/typing/printtyp.ml @@ -1241,15 +1241,12 @@ let rec tree_of_type_decl id decl = | Type_open -> tree_of_manifest Otyp_open, decl.type_private - in - let immediate = - Builtin_attributes.immediate decl.type_attributes in { otype_name = name; otype_params = args; otype_type = ty; otype_private = priv; - otype_immediate = immediate; + otype_immediate = Type_immediacy.of_attributes decl.type_attributes; otype_unboxed = decl.type_unboxed.unboxed; otype_cstrs = constraints } @@ -1570,7 +1567,7 @@ let dummy = type_is_newtype = false; type_expansion_scope = Btype.lowest_level; type_loc = Location.none; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } diff --git a/typing/type_immediacy.ml b/typing/type_immediacy.ml new file mode 100644 index 000000000..557ed4271 --- /dev/null +++ b/typing/type_immediacy.ml @@ -0,0 +1,43 @@ +(**************************************************************************) +(* *) +(* OCaml *) +(* *) +(* Jeremie Dimino, Jane Street Europe *) +(* *) +(* Copyright 2019 Jane Street Group LLC *) +(* *) +(* All rights reserved. This file is distributed under the terms of *) +(* the GNU Lesser General Public License version 2.1, with the *) +(* special exception on linking described in the file LICENSE. *) +(* *) +(**************************************************************************) + +type t = + | Unknown + | Always + | Always_on_64bits + +module Violation = struct + type t = + | Not_always_immediate + | Not_always_immediate_on_64bits +end + +let coerce t ~as_ = + match t, as_ with + | _, Unknown + | Always, Always + | (Always | Always_on_64bits), Always_on_64bits -> Ok () + | (Unknown | Always_on_64bits), Always -> + Error Violation.Not_always_immediate + | Unknown, Always_on_64bits -> + Error Violation.Not_always_immediate_on_64bits + +let of_attributes attrs = + match + Builtin_attributes.immediate attrs, + Builtin_attributes.immediate64 attrs + with + | true, _ -> Always + | false, true -> Always_on_64bits + | false, false -> Unknown diff --git a/typing/type_immediacy.mli b/typing/type_immediacy.mli new file mode 100644 index 000000000..3fc2e3b4f --- /dev/null +++ b/typing/type_immediacy.mli @@ -0,0 +1,40 @@ +(**************************************************************************) +(* *) +(* OCaml *) +(* *) +(* Jeremie Dimino, Jane Street Europe *) +(* *) +(* Copyright 2019 Jane Street Group LLC *) +(* *) +(* All rights reserved. This file is distributed under the terms of *) +(* the GNU Lesser General Public License version 2.1, with the *) +(* special exception on linking described in the file LICENSE. *) +(* *) +(**************************************************************************) + +(** Immediacy status of a type *) + +type t = + | Unknown + (** We don't know anything *) + | Always + (** We know for sure that values of this type are always immediate *) + | Always_on_64bits + (** We know for sure that values of this type are always immediate + on 64 bit platforms. For other platforms, we know nothing. *) + +module Violation : sig + type t = + | Not_always_immediate + | Not_always_immediate_on_64bits +end + +(** [coerce t ~as_] returns [Ok ()] iff [t] can be seen as type + immediacy [as_]. For instance, [Always] can be seen as + [Always_on_64bits] but the opposite is not true. Return [Error _] + if the coercion is not possible. *) +val coerce : t -> as_:t -> (unit, Violation.t) result + +(** Return the immediateness of a type as indicated by the user via + attributes *) +val of_attributes : Parsetree.attributes -> t diff --git a/typing/typeclass.ml b/typing/typeclass.ml index 3e39991ce..7f01b352a 100644 --- a/typing/typeclass.ml +++ b/typing/typeclass.ml @@ -1304,7 +1304,7 @@ let temp_abbrev loc env id arity = type_expansion_scope = Btype.lowest_level; type_loc = loc; type_attributes = []; (* or keep attrs from the class decl? *) - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } env @@ -1554,7 +1554,7 @@ let class_infos define_class kind type_expansion_scope = Btype.lowest_level; type_loc = cl.pci_loc; type_attributes = []; (* or keep attrs from cl? *) - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } in @@ -1574,7 +1574,7 @@ let class_infos define_class kind type_expansion_scope = Btype.lowest_level; type_loc = cl.pci_loc; type_attributes = []; (* or keep attrs from cl? *) - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } in diff --git a/typing/typecore.ml b/typing/typecore.ml index 4b9198a9d..55bb55f80 100644 --- a/typing/typecore.ml +++ b/typing/typecore.ml @@ -3117,7 +3117,7 @@ and type_expect_ type_expansion_scope = Btype.lowest_level; type_loc = loc; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } in diff --git a/typing/typedecl.ml b/typing/typedecl.ml index 4ad1fb6e8..13a92610a 100644 --- a/typing/typedecl.ml +++ b/typing/typedecl.ml @@ -113,7 +113,7 @@ let enter_type rec_flag env sdecl id = type_expansion_scope = Btype.lowest_level; type_loc = sdecl.ptype_loc; type_attributes = sdecl.ptype_attributes; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } in @@ -129,8 +129,10 @@ let update_type temp_env env id loc = with Ctype.Unify trace -> raise (Error(loc, Type_clash (env, trace))) -let get_unboxed_type_representation = - Typedecl_unboxed.get_unboxed_type_representation +let get_unboxed_type_representation env ty = + match Typedecl_unboxed.get_unboxed_type_representation env ty with + | Typedecl_unboxed.This x -> Some x + | _ -> None (* Determine if a type's values are represented by floats at run-time. *) let is_float env ty = @@ -493,7 +495,7 @@ let transl_declaration env sdecl id = type_expansion_scope = Btype.lowest_level; type_loc = sdecl.ptype_loc; type_attributes = sdecl.ptype_attributes; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_status; } in @@ -1492,7 +1494,7 @@ let transl_with_constraint env id row_path orig_decl sdecl = type_expansion_scope = Btype.lowest_level; type_loc = sdecl.ptype_loc; type_attributes = sdecl.ptype_attributes; - type_immediate = false; + type_immediate = Unknown; type_unboxed; } in @@ -1544,7 +1546,7 @@ let abstract_type_decl arity = type_expansion_scope = Btype.lowest_level; type_loc = Location.none; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } in Ctype.end_def(); @@ -1724,8 +1726,8 @@ let report_error ppf = function | Rebind_wrong_type (lid, env, trace) -> Printtyp.report_unification_error ppf env trace (function ppf -> - fprintf ppf "The constructor %a@ has type" - Printtyp.longident lid) + fprintf ppf "The constructor %a@ has type" + Printtyp.longident lid) (function ppf -> fprintf ppf "but was expected to be of type") | Rebind_mismatch (lid, p, p') -> @@ -1758,28 +1760,28 @@ let report_error ppf = function | _ -> "th" in (match n with - | Variance_not_reflected -> - fprintf ppf "@[%s@ %s@ It" - "In this definition, a type variable has a variance that" - "is not reflected by its occurrence in type parameters." - | No_variable -> - fprintf ppf "@[%s@ %s@]" - "In this definition, a type variable cannot be deduced" - "from the type parameters." - | Variance_not_deducible -> - fprintf ppf "@[%s@ %s@ It" - "In this definition, a type variable has a variance that" - "cannot be deduced from the type parameters." - | Variance_not_satisfied n -> - fprintf ppf "@[%s@ %s@ The %d%s type parameter" - "In this definition, expected parameter" - "variances are not satisfied." - n (suffix n)); + | Variance_not_reflected -> + fprintf ppf "@[%s@ %s@ It" + "In this definition, a type variable has a variance that" + "is not reflected by its occurrence in type parameters." + | No_variable -> + fprintf ppf "@[%s@ %s@]" + "In this definition, a type variable cannot be deduced" + "from the type parameters." + | Variance_not_deducible -> + fprintf ppf "@[%s@ %s@ It" + "In this definition, a type variable has a variance that" + "cannot be deduced from the type parameters." + | Variance_not_satisfied n -> + fprintf ppf "@[%s@ %s@ The %d%s type parameter" + "In this definition, expected parameter" + "variances are not satisfied." + n (suffix n)); (match n with - | No_variable -> () - | _ -> - fprintf ppf " was expected to be %s,@ but it is %s.@]" - (variance v2) (variance v1)) + | No_variable -> () + | _ -> + fprintf ppf " was expected to be %s,@ but it is %s.@]" + (variance v2) (variance v1)) | Unavailable_type_constructor p -> fprintf ppf "The definition of type %a@ is unavailable" Printtyp.path p | Bad_fixed_type r -> @@ -1794,20 +1796,25 @@ let report_error ppf = function fprintf ppf "Too many [@@unboxed]/[@@untagged] attributes" | Cannot_unbox_or_untag_type Unboxed -> fprintf ppf "@[Don't know how to unbox this type.@ \ - Only float, int32, int64 and nativeint can be unboxed.@]" + Only float, int32, int64 and nativeint can be unboxed.@]" | Cannot_unbox_or_untag_type Untagged -> fprintf ppf "@[Don't know how to untag this type.@ \ Only int can be untagged.@]" | Deep_unbox_or_untag_attribute kind -> fprintf ppf "@[The attribute '%s' should be attached to@ \ - a direct argument or result of the primitive,@ \ - it should not occur deeply into its type.@]" + a direct argument or result of the primitive,@ \ + it should not occur deeply into its type.@]" (match kind with Unboxed -> "@unboxed" | Untagged -> "@untagged") - | Immediacy Typedecl_immediacy.Bad_immediate_attribute -> - fprintf ppf "@[%s@ %s@]" - "Types marked with the immediate attribute must be" - "non-pointer types like int or bool" + | Immediacy (Typedecl_immediacy.Bad_immediacy_attribute violation) -> + fprintf ppf "@[%a@]" Format.pp_print_text + (match violation with + | Type_immediacy.Violation.Not_always_immediate -> + "Types marked with the immediate attribute must be \ + non-pointer types like int or bool." + | Type_immediacy.Violation.Not_always_immediate_on_64bits -> + "Types marked with the immediate64 attribute must be \ + produced using the Stdlib.Sys.Immediate64.Make functor.") | Bad_unboxed_attribute msg -> fprintf ppf "@[This type cannot be unboxed because@ %s.@]" msg | Wrong_unboxed_type_float -> diff --git a/typing/typedecl_immediacy.ml b/typing/typedecl_immediacy.ml index 3bb6907af..ccd09e810 100644 --- a/typing/typedecl_immediacy.ml +++ b/typing/typedecl_immediacy.ml @@ -16,12 +16,9 @@ open Types -type error = Bad_immediate_attribute +type error = Bad_immediacy_attribute of Type_immediacy.Violation.t exception Error of Location.t * error -let marked_as_immediate decl = - Builtin_attributes.immediate decl.type_attributes - let compute_decl env tdecl = match (tdecl.type_kind, tdecl.type_manifest) with | (Type_variant [{cd_args = Cstr_tuple [arg]; _}], _) @@ -29,26 +26,38 @@ let compute_decl env tdecl = | (Type_record ([{ld_type = arg; _}], _), _) when tdecl.type_unboxed.unboxed -> begin match Typedecl_unboxed.get_unboxed_type_representation env arg with - | Some argrepr -> not (Ctype.maybe_pointer_type env argrepr) - | None -> false + | Typedecl_unboxed.Unavailable -> Type_immediacy.Unknown + | Typedecl_unboxed.This argrepr -> Ctype.immediacy env argrepr + | Typedecl_unboxed.Only_on_64_bits argrepr -> + match Ctype.immediacy env argrepr with + | Type_immediacy.Always -> Type_immediacy.Always_on_64bits + | Type_immediacy.Always_on_64bits | Type_immediacy.Unknown as x -> x end | (Type_variant (_ :: _ as cstrs), _) -> - not (List.exists (fun c -> c.Types.cd_args <> Types.Cstr_tuple []) cstrs) - | (Type_abstract, Some(typ)) -> - not (Ctype.maybe_pointer_type env typ) - | (Type_abstract, None) -> marked_as_immediate tdecl - | _ -> false + if not (List.exists (fun c -> c.Types.cd_args <> Types.Cstr_tuple []) cstrs) + then + Type_immediacy.Always + else + Type_immediacy.Unknown + | (Type_abstract, Some(typ)) -> Ctype.immediacy env typ + | (Type_abstract, None) -> Type_immediacy.of_attributes tdecl.type_attributes + | _ -> Type_immediacy.Unknown -let property : (bool, unit) Typedecl_properties.property = +let property : (Type_immediacy.t, unit) Typedecl_properties.property = let open Typedecl_properties in let eq = (=) in let merge ~prop:_ ~new_prop = new_prop in - let default _decl = false in + let default _decl = Type_immediacy.Unknown in let compute env decl () = compute_decl env decl in let update_decl decl immediacy = { decl with type_immediate = immediacy } in let check _env _id decl () = - if (marked_as_immediate decl) && (not decl.type_immediate) then - raise (Error (decl.type_loc, Bad_immediate_attribute)) in + let written_by_user = Type_immediacy.of_attributes decl.type_attributes in + match Type_immediacy.coerce decl.type_immediate ~as_:written_by_user with + | Ok () -> () + | Error violation -> + raise (Error (decl.type_loc, + Bad_immediacy_attribute violation)) + in { eq; merge; diff --git a/typing/typedecl_immediacy.mli b/typing/typedecl_immediacy.mli index 6a9c3d911..17fb985c8 100644 --- a/typing/typedecl_immediacy.mli +++ b/typing/typedecl_immediacy.mli @@ -14,12 +14,12 @@ (* *) (**************************************************************************) -type error = Bad_immediate_attribute +type error = Bad_immediacy_attribute of Type_immediacy.Violation.t exception Error of Location.t * error -val compute_decl : Env.t -> Types.type_declaration -> bool +val compute_decl : Env.t -> Types.type_declaration -> Type_immediacy.t -val property : (bool, unit) Typedecl_properties.property +val property : (Type_immediacy.t, unit) Typedecl_properties.property val update_decls : Env.t -> diff --git a/typing/typedecl_unboxed.ml b/typing/typedecl_unboxed.ml index 8a1f0e28a..e2d29a863 100644 --- a/typing/typedecl_unboxed.ml +++ b/typing/typedecl_unboxed.ml @@ -16,17 +16,25 @@ open Types +type t = + | Unavailable + | This of type_expr + | Only_on_64_bits of type_expr + (* We use the Ctype.expand_head_opt version of expand_head to get access to the manifest type of private abbreviations. *) let rec get_unboxed_type_representation env ty fuel = - if fuel < 0 then None else + if fuel < 0 then Unavailable else let ty = Ctype.repr (Ctype.expand_head_opt env ty) in match ty.desc with | Tconstr (p, args, _) -> begin match Env.find_type p env with - | exception Not_found -> Some ty - | {type_immediate = true; _} -> Some Predef.type_int - | {type_unboxed = {unboxed = false}} -> Some ty + | exception Not_found -> This ty + | {type_immediate = Always; _} -> + This Predef.type_int + | {type_immediate = Always_on_64bits; _} -> + Only_on_64_bits Predef.type_int + | {type_unboxed = {unboxed = false}} -> This ty | {type_params; type_kind = Type_record ([{ld_type = ty2; _}], _) | Type_variant [{cd_args = Cstr_tuple [ty2]; _}] @@ -36,12 +44,12 @@ let rec get_unboxed_type_representation env ty fuel = let ty2 = match ty2.desc with Tpoly (t, _) -> t | _ -> ty2 in get_unboxed_type_representation env (Ctype.apply env type_params ty2 args) (fuel - 1) - | {type_kind=Type_abstract} -> None + | {type_kind=Type_abstract} -> Unavailable (* This case can occur when checking a recursive unboxed type declaration. *) | _ -> assert false (* only the above can be unboxed *) end - | _ -> Some ty + | _ -> This ty let get_unboxed_type_representation env ty = (* Do not give too much fuel: PR#7424 *) diff --git a/typing/typedecl_unboxed.mli b/typing/typedecl_unboxed.mli index 88a056de8..b8c172b4b 100644 --- a/typing/typedecl_unboxed.mli +++ b/typing/typedecl_unboxed.mli @@ -1,4 +1,9 @@ open Types +type t = + | Unavailable + | This of type_expr + | Only_on_64_bits of type_expr + (* for typeopt.ml *) -val get_unboxed_type_representation: Env.t -> type_expr -> type_expr option +val get_unboxed_type_representation: Env.t -> type_expr -> t diff --git a/typing/typemod.ml b/typing/typemod.ml index 260ec2275..b3ef7686f 100644 --- a/typing/typemod.ml +++ b/typing/typemod.ml @@ -484,7 +484,7 @@ let merge_constraint initial_env remove_aliases loc sg constr = type_is_newtype = false; type_expansion_scope = Btype.lowest_level; type_attributes = []; - type_immediate = false; + type_immediate = Unknown; type_unboxed = unboxed_false_default_false; } and id_row = Ident.create_local (s^"#row") in diff --git a/typing/types.ml b/typing/types.ml index 24012dd8c..d187c6a9a 100644 --- a/typing/types.ml +++ b/typing/types.ml @@ -149,7 +149,7 @@ type type_declaration = type_expansion_scope: int; type_loc: Location.t; type_attributes: Parsetree.attributes; - type_immediate: bool; + type_immediate: Type_immediacy.t; type_unboxed: unboxed_status; } diff --git a/typing/types.mli b/typing/types.mli index 80010b62c..33f92ab0a 100644 --- a/typing/types.mli +++ b/typing/types.mli @@ -299,7 +299,7 @@ type type_declaration = type_expansion_scope: int; type_loc: Location.t; type_attributes: Parsetree.attributes; - type_immediate: bool; (* true iff type should not be a pointer *) + type_immediate: Type_immediacy.t; type_unboxed: unboxed_status; }