Compile a bundled user program by its generated userspace catalog name. as a hosted binary, caching the result so repeated boots reuse it. One method for every tool/demo -- they differ only in source + cache key.
(&mut self, name: &'static str)
| 911 | self.pending_jump = Some((vpath, line)); |
| 912 | } |
| 913 | |
| 914 | pub(super) fn mark_build_stale(&mut self) { |
| 915 | self.build_lit_until = None; |
| 916 | self.built_target = None; |
| 917 | self.build_glow_start = None; |
| 918 | } |
| 919 | |
| 920 | fn record_build_lit(&mut self, layer: Option<Layer>) { |
| 921 | self.build_lit_until = layer; |
| 922 | self.built_target = self.active_build_target.clone(); |
| 923 | } |
| 924 | |
| 925 | // A different program's spine must not read as built. |
| 926 | fn lit_layer_for_active_target(&self) -> Option<Layer> { |
| 927 | (self.built_target.is_some() && self.built_target == self.active_build_target) |
| 928 | .then_some(self.build_lit_until) |