Docs: Add phase_9_79b_3_vm_vtable_thunks_and_pic.md\n- Plan to formalize TypeMeta+Thunk and upgrade PIC to poly\n- Diagnostics, risks, milestones, exit criteria, and Phase 10 readiness

This commit is contained in:
Moe Charm
2025-08-27 00:03:48 +09:00
parent c0b70c0e4e
commit edf5ccfcb4
10 changed files with 313 additions and 21 deletions

View File

@ -246,6 +246,16 @@ impl PluginBoxV2 {
eprintln!("Failed to load config: {}", e);
BidError::PluginError
})?);
// Bump cache versions for all box types (config reload may change method layout)
if let Some(cfg) = self.config.as_ref() {
let mut labels: Vec<String> = Vec::new();
for (_lib, def) in &cfg.libraries {
for bt in &def.boxes {
labels.push(format!("BoxRef:{}", bt));
}
}
crate::runtime::cache_versions::bump_many(&labels);
}
Ok(())
}
@ -309,6 +319,8 @@ impl PluginBoxV2 {
finalized: std::sync::atomic::AtomicBool::new(false),
});
self.singletons.write().unwrap().insert((lib_name.to_string(), box_type.to_string()), handle);
// bump version for this box type to invalidate caches
crate::runtime::cache_versions::bump_version(&format!("BoxRef:{}", box_type));
Ok(())
}