more uniform treatment of structure Unsynchronized in ML bootstrap phase;
authorwenzelm
Wed, 30 Sep 2009 11:36:12 +0200
changeset 32776 1504f9c2d060
parent 32775 d498770eefdc
child 32777 8ae3a48c69d9
more uniform treatment of structure Unsynchronized in ML bootstrap phase;
src/Pure/ML-Systems/mosml.ML
src/Pure/ML-Systems/multithreading.ML
src/Pure/ML-Systems/polyml-5.0.ML
src/Pure/ML-Systems/polyml-5.1.ML
src/Pure/ML-Systems/polyml-experimental.ML
src/Pure/ML-Systems/polyml.ML
src/Pure/ML-Systems/polyml_common.ML
src/Pure/ML-Systems/smlnj.ML
src/Pure/ML-Systems/thread_dummy.ML
--- a/src/Pure/ML-Systems/mosml.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/mosml.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -40,8 +40,8 @@
 exception Interrupt;
 fun reraise exn = raise exn;
 
+use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/exn.ML";
-use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/universal.ML";
 use "ML-Systems/thread_dummy.ML";
 use "ML-Systems/multithreading.ML";
--- a/src/Pure/ML-Systems/multithreading.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/multithreading.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -14,7 +14,7 @@
 sig
   include BASIC_MULTITHREADING
   val available: bool
-  val max_threads: int ref
+  val max_threads: int Unsynchronized.ref
   val max_threads_value: unit -> int
   val enabled: unit -> bool
   val no_interrupts: Thread.threadAttribute list
@@ -24,7 +24,7 @@
   val with_attributes: Thread.threadAttribute list -> (Thread.threadAttribute list -> 'a) -> 'a
   val sync_wait: Thread.threadAttribute list option -> Time.time option ->
     ConditionVar.conditionVar -> Mutex.mutex -> bool Exn.result
-  val trace: int ref
+  val trace: int  Unsynchronized.ref
   val tracing: int -> (unit -> string) -> unit
   val tracing_time: bool -> Time.time -> (unit -> string) -> unit
   val real_time: ('a -> unit) -> 'a -> Time.time
@@ -38,7 +38,7 @@
 (* options *)
 
 val available = false;
-val max_threads = ref (1: int);
+val max_threads =  Unsynchronized.ref (1: int);
 fun max_threads_value () = 1: int;
 fun enabled () = false;
 
@@ -57,7 +57,7 @@
 
 (* tracing *)
 
-val trace = ref (0: int);
+val trace =  Unsynchronized.ref (0: int);
 fun tracing _ _ = ();
 fun tracing_time _ _ _ = ();
 fun real_time f x = (f x; Time.zeroTime);
@@ -72,7 +72,7 @@
 
 (* serial numbers *)
 
-local val count = ref (0: int)
+local val count =  Unsynchronized.ref (0: int)
 in fun serial () = (count := ! count + 1; ! count) end;
 
 end;
--- a/src/Pure/ML-Systems/polyml-5.0.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/polyml-5.0.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -5,6 +5,7 @@
 
 fun reraise exn = raise exn;
 
+use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/universal.ML";
 use "ML-Systems/thread_dummy.ML";
 use "ML-Systems/ml_name_space.ML";
--- a/src/Pure/ML-Systems/polyml-5.1.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/polyml-5.1.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -5,6 +5,7 @@
 
 fun reraise exn = raise exn;
 
+use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/thread_dummy.ML";
 use "ML-Systems/ml_name_space.ML";
 use "ML-Systems/polyml_common.ML";
--- a/src/Pure/ML-Systems/polyml-experimental.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/polyml-experimental.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -3,6 +3,8 @@
 Compatibility wrapper for Poly/ML 5.3.
 *)
 
+use "ML-Systems/unsynchronized.ML";
+
 open Thread;
 
 structure ML_Name_Space =
--- a/src/Pure/ML-Systems/polyml.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/polyml.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -3,6 +3,8 @@
 Compatibility wrapper for Poly/ML 5.2 and 5.2.1.
 *)
 
+use "ML-Systems/unsynchronized.ML";
+
 open Thread;
 
 structure ML_Name_Space =
--- a/src/Pure/ML-Systems/polyml_common.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/polyml_common.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -6,7 +6,6 @@
 exception Interrupt = SML90.Interrupt;
 
 use "ML-Systems/exn.ML";
-use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/multithreading.ML";
 use "ML-Systems/time_limit.ML";
 use "ML-Systems/timing.ML";
--- a/src/Pure/ML-Systems/smlnj.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/smlnj.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -7,9 +7,9 @@
 fun reraise exn = raise exn;
 
 use "ML-Systems/proper_int.ML";
+use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/overloading_smlnj.ML";
 use "ML-Systems/exn.ML";
-use "ML-Systems/unsynchronized.ML";
 use "ML-Systems/universal.ML";
 use "ML-Systems/thread_dummy.ML";
 use "ML-Systems/multithreading.ML";
--- a/src/Pure/ML-Systems/thread_dummy.ML	Wed Sep 30 09:25:18 2009 +0200
+++ b/src/Pure/ML-Systems/thread_dummy.ML	Wed Sep 30 11:36:12 2009 +0200
@@ -60,7 +60,7 @@
 
 local
 
-val data = ref ([]: Universal.universal ref list);
+val data = Unsynchronized.ref ([]: Universal.universal  Unsynchronized.ref list);
 
 fun find_data tag =
   let
@@ -75,7 +75,7 @@
 fun setLocal (tag, x) =
   (case find_data tag of
     SOME r => r := Universal.tagInject tag x
-  | NONE => data := ref (Universal.tagInject tag x) :: ! data);
+  | NONE => data :=  Unsynchronized.ref (Universal.tagInject tag x) :: ! data);
 
 end;
 end;