48 lines
1.4 KiB
Rust
48 lines
1.4 KiB
Rust
use super::MirBuilder;
|
|
|
|
impl MirBuilder {
|
|
// ----------------------
|
|
// Debug scope helpers (region_id for DebugHub events)
|
|
// ----------------------
|
|
#[inline]
|
|
pub(crate) fn debug_next_join_id(&mut self) -> u32 {
|
|
// Phase 136 Step 2/7 + Phase 2-2: Use core_ctx as SSOT (no sync needed)
|
|
self.core_ctx.next_debug_join()
|
|
}
|
|
|
|
#[inline]
|
|
pub(crate) fn debug_push_region<S: Into<String>>(&mut self, region: S) {
|
|
// Phase 2-4: Use scope_ctx only (legacy field removed)
|
|
let region = region.into();
|
|
self.scope_ctx.debug_push_region(region);
|
|
}
|
|
|
|
#[inline]
|
|
pub(crate) fn debug_pop_region(&mut self) {
|
|
// Phase 2-4: Use scope_ctx only (legacy field removed)
|
|
self.scope_ctx.debug_pop_region();
|
|
}
|
|
|
|
#[inline]
|
|
#[allow(deprecated)]
|
|
pub(crate) fn debug_current_region_id(&self) -> Option<String> {
|
|
// Phase 136 Step 3/7: Read from scope_ctx (SSOT)
|
|
self.scope_ctx.debug_current_region_id()
|
|
}
|
|
|
|
// ----------------------
|
|
// Compile trace helpers (dev only; env-gated)
|
|
// ----------------------
|
|
#[inline]
|
|
pub(super) fn compile_trace_enabled() -> bool {
|
|
std::env::var("NYASH_MIR_COMPILE_TRACE").ok().as_deref() == Some("1")
|
|
}
|
|
|
|
#[inline]
|
|
pub(super) fn trace_compile<S: AsRef<str>>(&self, msg: S) {
|
|
if Self::compile_trace_enabled() {
|
|
eprintln!("[mir-compile] {}", msg.as_ref());
|
|
}
|
|
}
|
|
}
|