@@ -1291,6 +1291,22 @@ module Const = struct
1291
1291
name = " immutable_data"
1292
1292
}
1293
1293
1294
+ let atomically_mutable_data =
1295
+ { jkind =
1296
+ { layout = Base Value ;
1297
+ mod_bounds =
1298
+ Mod_bounds. create ~locality: Locality.Const. max
1299
+ ~linearity: Linearity.Const. min
1300
+ ~portability: Portability.Const. min ~yielding: Yielding.Const. min
1301
+ ~uniqueness: Uniqueness.Const_op. max
1302
+ ~contention: Contention.Const_op. min
1303
+ ~statefulness: Statefulness.Const. min ~access: Access.Const_op. max
1304
+ ~externality: Externality. max ~nullability: Nullability. Non_null ;
1305
+ with_bounds = No_with_bounds
1306
+ };
1307
+ name = " atomically_mutable_data"
1308
+ }
1309
+
1294
1310
let mutable_data =
1295
1311
{ jkind =
1296
1312
{ layout = Base Value ;
@@ -1408,6 +1424,7 @@ module Const = struct
1408
1424
value_or_null;
1409
1425
value;
1410
1426
immutable_data;
1427
+ atomically_mutable_data;
1411
1428
mutable_data;
1412
1429
void;
1413
1430
immediate;
@@ -1682,6 +1699,7 @@ module Const = struct
1682
1699
| "bits64" -> Builtin. bits64.jkind
1683
1700
| "vec128" -> Builtin. vec128.jkind
1684
1701
| "immutable_data" -> Builtin. immutable_data.jkind
1702
+ | "atomically_mutable_data" -> Builtin. atomically_mutable_data.jkind
1685
1703
| "mutable_data" -> Builtin. mutable_data.jkind
1686
1704
| _ -> raise ~loc: jkind.pjkind_loc (Unknown_jkind jkind))
1687
1705
|> allow_left |> allow_right
@@ -1883,6 +1901,8 @@ module Jkind_desc = struct
1883
1901
1884
1902
let immutable_data = of_const Const.Builtin. immutable_data.jkind
1885
1903
1904
+ let atomically_mutable_data = of_const Const.Builtin. atomically_mutable_data.jkind
1905
+
1886
1906
let mutable_data = of_const Const.Builtin. mutable_data.jkind
1887
1907
1888
1908
let void = of_const Const.Builtin. void.jkind
@@ -1977,6 +1997,11 @@ module Builtin = struct
1977
1997
~annotation: (mk_annot " immutable_data" )
1978
1998
~why: (Value_creation why)
1979
1999
2000
+ let atomically_mutable_data ~(why : History.value_creation_reason ) =
2001
+ fresh_jkind Jkind_desc.Builtin. atomically_mutable_data
2002
+ ~annotation: (mk_annot " atomically_mutable_data" )
2003
+ ~why: (Value_creation why)
2004
+
1980
2005
let mutable_data ~(why : History.value_creation_reason ) =
1981
2006
fresh_jkind Jkind_desc.Builtin. mutable_data
1982
2007
~annotation: (mk_annot " mutable_data" ) ~why: (Value_creation why)
0 commit comments