src/Pure/Tools/build_job.scala
changeset 76655 b3d458a90aeb
parent 76654 a3177042863d
child 76656 a8f452f7c503
equal deleted inserted replaced
76654:a3177042863d 76655:b3d458a90aeb
   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 =