equal
deleted
inserted
replaced
247 val numa_node: Option[Int], |
247 val numa_node: Option[Int], |
248 command_timings0: List[Properties.T] |
248 command_timings0: List[Properties.T] |
249 ) { |
249 ) { |
250 val options: Options = NUMA.policy_options(info.options, numa_node) |
250 val options: Options = NUMA.policy_options(info.options, numa_node) |
251 |
251 |
252 private val sessions_structure = deps.sessions_structure |
252 private val base_info = deps.base_info(session_name) |
253 |
253 |
254 private val future_result: Future[Process_Result] = |
254 private val future_result: Future[Process_Result] = |
255 Future.thread("build", uninterruptible = true) { |
255 Future.thread("build", uninterruptible = true) { |
256 val parent = info.parent.getOrElse("") |
256 val parent = info.parent.getOrElse("") |
257 val base = deps(parent) |
257 val base = deps(parent) |
272 ML_Syntax.print_string_bytes(File.platform_path(store.output_heap(session_name)))) |
272 ML_Syntax.print_string_bytes(File.platform_path(store.output_heap(session_name)))) |
273 } |
273 } |
274 else Nil |
274 else Nil |
275 |
275 |
276 val resources = |
276 val resources = |
277 new Resources(sessions_structure, base, log = log, command_timings = command_timings0) |
277 new Resources(base_info.sessions_structure, base_info.base, log = log, |
|
278 command_timings = command_timings0) |
278 val session = |
279 val session = |
279 new Session(options, resources) { |
280 new Session(options, resources) { |
280 override val cache: Term.Cache = store.cache |
281 override val cache: Term.Cache = store.cache |
281 |
282 |
282 override def build_blobs_info(name: Document.Node.Name): Command.Blobs_Info = { |
283 override def build_blobs_info(name: Document.Node.Name): Command.Blobs_Info = { |
448 session_setup(session_name, session) |
449 session_setup(session_name, session) |
449 |
450 |
450 val eval_main = Command_Line.ML_tool("Isabelle_Process.init_build ()" :: eval_store) |
451 val eval_main = Command_Line.ML_tool("Isabelle_Process.init_build ()" :: eval_store) |
451 |
452 |
452 val process = |
453 val process = |
453 Isabelle_Process.start(session, options, sessions_structure, store, |
454 Isabelle_Process.start(session, options, base_info, store, |
454 logic = parent, raw_ml_system = is_pure, |
455 logic = parent, raw_ml_system = is_pure, |
455 use_prelude = use_prelude, eval_main = eval_main, |
456 use_prelude = use_prelude, eval_main = eval_main, |
456 cwd = info.dir.file, env = env) |
457 cwd = info.dir.file, env = env) |
457 |
458 |
458 val build_errors = |
459 val build_errors = |