Bug fixes:
- Free path now handles C5 (not just C6) for v7 routing
- After Learner route switch, old V7 pointers are correctly freed
via V7 (instead of being misrouted to legacy)
Change: Always try V7 free for SMALL_V7_CLASS_SUPPORTED classes
(C5/C6). V7 returns false if ptr is not in V7 segment, allowing
proper fallback to legacy for non-V7 pointers.
This fix is essential because Learner may dynamically switch
C5 from V7→MID_V3, but pointers allocated before the switch
still reside in V7 segments and must be freed via V7.
Performance (C5/C6 workload 200-500B):
- v7 OFF: ~19M ops/s
- v7+Learner: ~43M ops/s (+126%)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>