From 150dc14e0bc6b63484983e43acce5fe980eedee8 Mon Sep 17 00:00:00 2001 From: Mark Shinwell Date: Wed, 15 May 2024 11:26:01 +0100 Subject: [PATCH] flambda-backend: Revert "Move immutable array modules to `Stable_stdlib`" (#2578) Revert "Move immutable array modules to `Stable_stdlib` (#2570)" This reverts commit db0f07ba12ef58b640e4dc369cc25f781459b098. --- otherlibs/stable/dune | 4 --- otherlibs/stdlib_stable/stdlib_stable.ml | 4 +-- otherlibs/stdlib_stable/stdlib_stable.mli | 4 +-- stdlib/.depend | 26 +++++++++++++++++++ stdlib/StdlibModules | 2 ++ stdlib/dune | 12 +++++++++ {otherlibs/stdlib_stable => stdlib}/iarray.ml | 0 .../stdlib_stable => stdlib}/iarray.mli | 0 .../stdlib_stable => stdlib}/iarrayLabels.ml | 0 .../stdlib_stable => stdlib}/iarrayLabels.mli | 0 .../tests/array-functions/test_iarray.ml | 6 ++--- .../iarray_comprehensions_pure.ml | 5 ++-- .../iarray_comprehensions_side_effects.ml | 3 +-- testsuite/tests/lib-array/test_iarray.ml | 5 ++-- testsuite/tests/typing-local/float_iarray.ml | 3 +-- ...y.byte.reference => iarray.byte.reference} | 0 ...y.heap.reference => iarray.heap.reference} | 0 .../{test_iarray.ml => iarray.ml} | 9 +++---- ...stack.reference => iarray.stack.reference} | 0 19 files changed, 56 insertions(+), 27 deletions(-) rename {otherlibs/stdlib_stable => stdlib}/iarray.ml (100%) rename {otherlibs/stdlib_stable => stdlib}/iarray.mli (100%) rename {otherlibs/stdlib_stable => stdlib}/iarrayLabels.ml (100%) rename {otherlibs/stdlib_stable => stdlib}/iarrayLabels.mli (100%) rename testsuite/tests/typing-local/{test_iarray.byte.reference => iarray.byte.reference} (100%) rename testsuite/tests/typing-local/{test_iarray.heap.reference => iarray.heap.reference} (100%) rename testsuite/tests/typing-local/{test_iarray.ml => iarray.ml} (93%) rename testsuite/tests/typing-local/{test_iarray.stack.reference => iarray.stack.reference} (100%) diff --git a/otherlibs/stable/dune b/otherlibs/stable/dune index 26f6a15ac5f..7d58bed0688 100644 --- a/otherlibs/stable/dune +++ b/otherlibs/stable/dune @@ -46,10 +46,6 @@ (targets float_u.ml float_u.mli - iarray.ml - iarray.mli - iarrayLabels.ml - iarrayLabels.mli int32_u.ml int32_u.mli int64_u.ml diff --git a/otherlibs/stdlib_stable/stdlib_stable.ml b/otherlibs/stdlib_stable/stdlib_stable.ml index 36054b37698..1a09599a396 100644 --- a/otherlibs/stdlib_stable/stdlib_stable.ml +++ b/otherlibs/stdlib_stable/stdlib_stable.ml @@ -2,5 +2,5 @@ module Float_u = Float_u module Int32_u = Int32_u module Int64_u = Int64_u module Nativeint_u = Nativeint_u -module Iarray = Iarray -module IarrayLabels = IarrayLabels +module Iarray = Stdlib__Iarray +module IarrayLabels = Stdlib__IarrayLabels diff --git a/otherlibs/stdlib_stable/stdlib_stable.mli b/otherlibs/stdlib_stable/stdlib_stable.mli index 36054b37698..1a09599a396 100644 --- a/otherlibs/stdlib_stable/stdlib_stable.mli +++ b/otherlibs/stdlib_stable/stdlib_stable.mli @@ -2,5 +2,5 @@ module Float_u = Float_u module Int32_u = Int32_u module Int64_u = Int64_u module Nativeint_u = Nativeint_u -module Iarray = Iarray -module IarrayLabels = IarrayLabels +module Iarray = Stdlib__Iarray +module IarrayLabels = Stdlib__IarrayLabels diff --git a/stdlib/.depend b/stdlib/.depend index 287eb923cec..233bf2b89f6 100644 --- a/stdlib/.depend +++ b/stdlib/.depend @@ -454,6 +454,32 @@ stdlib__Hashtbl.cmx : hashtbl.ml \ stdlib__Hashtbl.cmi : hashtbl.mli \ stdlib.cmi \ stdlib__Seq.cmi +stdlib__Iarray.cmo : iarray.ml \ + stdlib.cmi \ + stdlib__Seq.cmi \ + stdlib__Array.cmi \ + stdlib__Iarray.cmi +stdlib__Iarray.cmx : iarray.ml \ + stdlib.cmx \ + stdlib__Seq.cmx \ + stdlib__Array.cmx \ + stdlib__Iarray.cmi +stdlib__Iarray.cmi : iarray.mli \ + stdlib.cmi \ + stdlib__Seq.cmi +stdlib__IarrayLabels.cmo : iarrayLabels.ml \ + stdlib.cmi \ + stdlib__Seq.cmi \ + stdlib__Array.cmi \ + stdlib__IarrayLabels.cmi +stdlib__IarrayLabels.cmx : iarrayLabels.ml \ + stdlib.cmx \ + stdlib__Seq.cmx \ + stdlib__Array.cmx \ + stdlib__IarrayLabels.cmi +stdlib__IarrayLabels.cmi : iarrayLabels.mli \ + stdlib.cmi \ + stdlib__Seq.cmi stdlib__In_channel.cmo : in_channel.ml \ stdlib__Sys.cmi \ stdlib.cmi \ diff --git a/stdlib/StdlibModules b/stdlib/StdlibModules index 3036edaca11..8fbe9ee8128 100644 --- a/stdlib/StdlibModules +++ b/stdlib/StdlibModules @@ -57,6 +57,7 @@ STDLIB_MODULE_BASENAMES = \ unit \ marshal \ array \ + iarray \ float \ int32 \ nativeint \ @@ -93,6 +94,7 @@ STDLIB_MODULE_BASENAMES = \ filename \ complex \ arrayLabels \ + iarrayLabels \ listLabels \ bytesLabels \ stringLabels \ diff --git a/stdlib/dune b/stdlib/dune index 80e73541dfb..85d922a2a4c 100644 --- a/stdlib/dune +++ b/stdlib/dune @@ -129,6 +129,10 @@ gc.mli hashtbl.ml hashtbl.mli + iarray.ml + iarray.mli + iarrayLabels.ml + iarrayLabels.mli in_channel.ml in_channel.mli int.ml @@ -276,6 +280,12 @@ .stdlib.objs/byte/stdlib__Hashtbl.cmi .stdlib.objs/byte/stdlib__Hashtbl.cmt .stdlib.objs/byte/stdlib__Hashtbl.cmti + .stdlib.objs/byte/stdlib__Iarray.cmi + .stdlib.objs/byte/stdlib__Iarray.cmt + .stdlib.objs/byte/stdlib__Iarray.cmti + .stdlib.objs/byte/stdlib__IarrayLabels.cmi + .stdlib.objs/byte/stdlib__IarrayLabels.cmt + .stdlib.objs/byte/stdlib__IarrayLabels.cmti .stdlib.objs/byte/stdlib__In_channel.cmi .stdlib.objs/byte/stdlib__In_channel.cmt .stdlib.objs/byte/stdlib__In_channel.cmti @@ -478,6 +488,8 @@ .stdlib.objs/native/stdlib__Either.cmx .stdlib.objs/native/stdlib__In_channel.cmx .stdlib.objs/native/stdlib__Out_channel.cmx + .stdlib.objs/native/stdlib__Iarray.cmx + .stdlib.objs/native/stdlib__IarrayLabels.cmx (META as stdlib/META)) (section lib) (package ocaml_runtime_stdlib)) diff --git a/otherlibs/stdlib_stable/iarray.ml b/stdlib/iarray.ml similarity index 100% rename from otherlibs/stdlib_stable/iarray.ml rename to stdlib/iarray.ml diff --git a/otherlibs/stdlib_stable/iarray.mli b/stdlib/iarray.mli similarity index 100% rename from otherlibs/stdlib_stable/iarray.mli rename to stdlib/iarray.mli diff --git a/otherlibs/stdlib_stable/iarrayLabels.ml b/stdlib/iarrayLabels.ml similarity index 100% rename from otherlibs/stdlib_stable/iarrayLabels.ml rename to stdlib/iarrayLabels.ml diff --git a/otherlibs/stdlib_stable/iarrayLabels.mli b/stdlib/iarrayLabels.mli similarity index 100% rename from otherlibs/stdlib_stable/iarrayLabels.mli rename to stdlib/iarrayLabels.mli diff --git a/testsuite/tests/array-functions/test_iarray.ml b/testsuite/tests/array-functions/test_iarray.ml index 926f428fa46..cb131292ecc 100644 --- a/testsuite/tests/array-functions/test_iarray.ml +++ b/testsuite/tests/array-functions/test_iarray.ml @@ -1,8 +1,6 @@ -(* TEST - include stdlib_stable; -*) +(* TEST *) -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray external ( .:() ) : 'a iarray -> int -> 'a = "%array_safe_get" (* Copied from [test.ml], but with all the [Array.fill] tests deleted *) diff --git a/testsuite/tests/comprehensions/iarray_comprehensions_pure.ml b/testsuite/tests/comprehensions/iarray_comprehensions_pure.ml index acb04b73727..7c3e0a1bdc7 100644 --- a/testsuite/tests/comprehensions/iarray_comprehensions_pure.ml +++ b/testsuite/tests/comprehensions/iarray_comprehensions_pure.ml @@ -1,12 +1,11 @@ (* TEST flags = "-extension comprehensions"; - include stdlib_stable; expect; *) -module Iarray = Stdlib_stable.Iarray;; +module Iarray = Stdlib__Iarray;; [%%expect{| -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray |}];; (****************************************************************************** diff --git a/testsuite/tests/comprehensions/iarray_comprehensions_side_effects.ml b/testsuite/tests/comprehensions/iarray_comprehensions_side_effects.ml index 9078a6fe898..844eca2c326 100644 --- a/testsuite/tests/comprehensions/iarray_comprehensions_side_effects.ml +++ b/testsuite/tests/comprehensions/iarray_comprehensions_side_effects.ml @@ -1,9 +1,8 @@ (* TEST flags = "-extension comprehensions"; - include stdlib_stable; *) -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray (****************************************************************************** * ******** ATTENTION! ******** * diff --git a/testsuite/tests/lib-array/test_iarray.ml b/testsuite/tests/lib-array/test_iarray.ml index 2d7fe8e9612..f030edabbe1 100644 --- a/testsuite/tests/lib-array/test_iarray.ml +++ b/testsuite/tests/lib-array/test_iarray.ml @@ -1,9 +1,8 @@ (* TEST - include stdlib_stable; expect; *) -module Iarray = Stdlib_stable.Iarray;; +module Iarray = Stdlib__Iarray;; external ( .:() ) : 'a iarray -> int -> 'a = "%array_safe_get";; @@ -16,7 +15,7 @@ let marray : int array = [|1;2;3;4;5|];; let mfarray : float array = [|1.5;2.5;3.5;4.5;5.5|];; [%%expect{| -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray external ( .:() ) : 'a iarray -> int -> 'a = "%array_safe_get" val iarray : int iarray = [:1; 2; 3; 4; 5:] val ifarray : float iarray = [:1.5; 2.5; 3.5; 4.5; 5.5:] diff --git a/testsuite/tests/typing-local/float_iarray.ml b/testsuite/tests/typing-local/float_iarray.ml index ae8ef935941..2af7da751ca 100644 --- a/testsuite/tests/typing-local/float_iarray.ml +++ b/testsuite/tests/typing-local/float_iarray.ml @@ -1,5 +1,4 @@ (* TEST - include stdlib_stable; { reference = "${test_source_directory}/float_iarray.heap.reference"; bytecode; @@ -17,7 +16,7 @@ (* Testing that local [float iarray]s don't allocate on access. This is a question because for flat float arrays, accesses have to box the float. *) -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray let ( .:() ) = Iarray.( .:() ) diff --git a/testsuite/tests/typing-local/test_iarray.byte.reference b/testsuite/tests/typing-local/iarray.byte.reference similarity index 100% rename from testsuite/tests/typing-local/test_iarray.byte.reference rename to testsuite/tests/typing-local/iarray.byte.reference diff --git a/testsuite/tests/typing-local/test_iarray.heap.reference b/testsuite/tests/typing-local/iarray.heap.reference similarity index 100% rename from testsuite/tests/typing-local/test_iarray.heap.reference rename to testsuite/tests/typing-local/iarray.heap.reference diff --git a/testsuite/tests/typing-local/test_iarray.ml b/testsuite/tests/typing-local/iarray.ml similarity index 93% rename from testsuite/tests/typing-local/test_iarray.ml rename to testsuite/tests/typing-local/iarray.ml index e0a4b1085ea..17a195e10fb 100644 --- a/testsuite/tests/typing-local/test_iarray.ml +++ b/testsuite/tests/typing-local/iarray.ml @@ -1,15 +1,14 @@ (* TEST - include stdlib_stable; { - reference = "${test_source_directory}/test_iarray.byte.reference"; + reference = "${test_source_directory}/iarray.byte.reference"; bytecode; }{ stack-allocation; - reference = "${test_source_directory}/test_iarray.stack.reference"; + reference = "${test_source_directory}/iarray.stack.reference"; native; }{ no-stack-allocation; - reference = "${test_source_directory}/test_iarray.heap.reference"; + reference = "${test_source_directory}/iarray.heap.reference"; native; } *) @@ -22,7 +21,7 @@ 2. Correctness: They actually create arrays on the stack (by testing that no GCed allocation happens). *) -module Iarray = Stdlib_stable.Iarray +module Iarray = Stdlib__Iarray external opaque_local : local_ 'a -> local_ 'a = "%opaque" diff --git a/testsuite/tests/typing-local/test_iarray.stack.reference b/testsuite/tests/typing-local/iarray.stack.reference similarity index 100% rename from testsuite/tests/typing-local/test_iarray.stack.reference rename to testsuite/tests/typing-local/iarray.stack.reference