equal
deleted
inserted
replaced
217 |
217 |
218 def save_heap: String = |
218 def save_heap: String = |
219 "ML_Heap.share_common_data (); ML_Heap.save_child " + |
219 "ML_Heap.share_common_data (); ML_Heap.save_child " + |
220 ML_Syntax.print_string0(File.platform_path(output)) |
220 ML_Syntax.print_string0(File.platform_path(output)) |
221 |
221 |
222 if (pide && !Sessions.pure_name(name)) { |
222 if (pide && !Sessions.is_pure(name)) { |
223 val resources = new Resources(name, deps(parent)) |
223 val resources = new Resources(name, deps(parent)) |
224 val session = new Session(options, resources) |
224 val session = new Session(options, resources) |
225 val handler = new Handler(progress, session, name) |
225 val handler = new Handler(progress, session, name) |
226 session.init_protocol_handler(handler) |
226 session.init_protocol_handler(handler) |
227 |
227 |
253 "Command_Line.tool0 (fn () => (" + |
253 "Command_Line.tool0 (fn () => (" + |
254 "Build.build " + ML_Syntax.print_string0(File.standard_path(args_file)) + |
254 "Build.build " + ML_Syntax.print_string0(File.standard_path(args_file)) + |
255 (if (do_output) "; " + save_heap else "") + "));" |
255 (if (do_output) "; " + save_heap else "") + "));" |
256 |
256 |
257 val process = |
257 val process = |
258 if (Sessions.pure_name(name)) { |
258 if (Sessions.is_pure(name)) { |
259 ML_Process(options, raw_ml_system = true, cwd = info.dir.file, |
259 ML_Process(options, raw_ml_system = true, cwd = info.dir.file, |
260 args = |
260 args = |
261 (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten ::: |
261 (for ((root, _) <- Thy_Header.ml_roots) yield List("--use", root)).flatten ::: |
262 List("--eval", eval), |
262 List("--eval", eval), |
263 env = env, tree = Some(tree), store = store, cleanup = () => args_file.delete) |
263 env = env, tree = Some(tree), store = store, cleanup = () => args_file.delete) |
517 pending.dequeue(running.isDefinedAt(_)) match { |
517 pending.dequeue(running.isDefinedAt(_)) match { |
518 case Some((name, info)) => |
518 case Some((name, info)) => |
519 val ancestor_results = selected_tree.ancestors(name).map(results(_)) |
519 val ancestor_results = selected_tree.ancestors(name).map(results(_)) |
520 val ancestor_heaps = ancestor_results.flatMap(_.heap_stamp) |
520 val ancestor_heaps = ancestor_results.flatMap(_.heap_stamp) |
521 |
521 |
522 val do_output = build_heap || Sessions.pure_name(name) || queue.is_inner(name) |
522 val do_output = build_heap || Sessions.is_pure(name) || queue.is_inner(name) |
523 |
523 |
524 val (current, heap_stamp) = |
524 val (current, heap_stamp) = |
525 { |
525 { |
526 store.find_database_heap(name) match { |
526 store.find_database_heap(name) match { |
527 case Some((database, heap_stamp)) => |
527 case Some((database, heap_stamp)) => |