equal
deleted
inserted
replaced
4 *) |
4 *) |
5 |
5 |
6 exception Interrupt = SML90.Interrupt; |
6 exception Interrupt = SML90.Interrupt; |
7 |
7 |
8 use "General/exn.ML"; |
8 use "General/exn.ML"; |
|
9 use "ML-Systems/single_assignment_polyml.ML"; |
9 use "ML-Systems/multithreading.ML"; |
10 use "ML-Systems/multithreading.ML"; |
10 use "ML-Systems/time_limit.ML"; |
11 use "ML-Systems/time_limit.ML"; |
11 use "ML-Systems/timing.ML"; |
12 use "ML-Systems/timing.ML"; |
12 use "ML-Systems/bash.ML"; |
13 use "ML-Systems/bash.ML"; |
13 use "ML-Systems/ml_pretty.ML"; |
14 use "ML-Systems/ml_pretty.ML"; |
129 val _ = RunCall.run_call1 RuntimeCalls.POLY_SYS_profiler n; |
130 val _ = RunCall.run_call1 RuntimeCalls.POLY_SYS_profiler n; |
130 val res = Exn.capture f x; |
131 val res = Exn.capture f x; |
131 val _ = RunCall.run_call1 RuntimeCalls.POLY_SYS_profiler 0; |
132 val _ = RunCall.run_call1 RuntimeCalls.POLY_SYS_profiler 0; |
132 in Exn.release res end; |
133 in Exn.release res end; |
133 |
134 |
134 |
|
135 (* magic immutability -- for internal use only! *) |
|
136 |
|
137 fun magic_immutability_mark (r: 'a Unsynchronized.ref) = |
|
138 ignore (RunCall.run_call1 RuntimeCalls.POLY_SYS_lockseg r); |
|
139 |
|
140 fun magic_immutability_test (r: 'a Unsynchronized.ref) = |
|
141 Word8.andb (0wx40, RunCall.run_call1 RuntimeCalls.POLY_SYS_get_flags r) = 0w0; |
|
142 |
|