| author | blanchet | 
| Tue, 22 May 2018 17:15:02 +0200 | |
| changeset 68250 | c45067867860 | 
| parent 67622 | 5289d3bdb261 | 
| child 69826 | 1bea05713dde | 
| permissions | -rw-r--r-- | 
| 
62508
 
d0b68218ea55
discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
 
wenzelm 
parents: 
62468 
diff
changeset
 | 
1  | 
(* Title: Pure/ML/ml_heap.ML  | 
| 62467 | 2  | 
Author: Makarius  | 
3  | 
||
4  | 
ML heap operations.  | 
|
5  | 
*)  | 
|
6  | 
||
7  | 
signature ML_HEAP =  | 
|
8  | 
sig  | 
|
| 
62825
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
9  | 
val obj_size: 'a -> int  | 
| 67622 | 10  | 
val full_gc: unit -> unit  | 
| 62467 | 11  | 
val share_common_data: unit -> unit  | 
| 
62825
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
12  | 
val save_child: string -> unit  | 
| 62467 | 13  | 
end;  | 
14  | 
||
15  | 
structure ML_Heap: ML_HEAP =  | 
|
16  | 
struct  | 
|
| 
62825
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
17  | 
|
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
18  | 
val obj_size = PolyML.objSize;  | 
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
19  | 
|
| 67622 | 20  | 
val full_gc = PolyML.fullGC;  | 
21  | 
||
| 
62825
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
22  | 
fun share_common_data () = PolyML.shareCommonData PolyML.rootFunction;  | 
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
23  | 
|
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
24  | 
fun save_child name =  | 
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
25  | 
PolyML.SaveState.saveChild (name, List.length (PolyML.SaveState.showHierarchy ()));  | 
| 
 
e6e80a8bf624
structure PolyML is sealed after bootstrap: all ML system access is managed by Isabelle;
 
wenzelm 
parents: 
62630 
diff
changeset
 | 
26  | 
|
| 62467 | 27  | 
end;  |