Commit 285f59d
committed
Phase 116: std::span Integration - Dyndata accessors
Added std::span accessors to Dyndata class for improved type safety
and modern C++ idioms.
Changes:
- Added Dyndata::actvarGetSpan() methods (const and non-const overloads)
- Returns std::span<Vardesc> for the actvar array
- Complements existing pointer-based accessors
Context:
- Phase 112 already added Proto span accessors (code, constants, protos, upvalues)
- Phase 115.1 added std::span to buffer/string operations
- Phase 115.3 added Table::getArraySpan()
- Phase 116 completes span integration for compiler data structures
Performance Results:
- Baseline: 4.20s avg
- Current: 4.18s avg (5-run benchmark)
- Change: -0.5% (maintained)
- Target: ≤4.33s ✅ PASS
Benefits:
- Zero-cost abstraction
- Better type safety (no raw pointer arithmetic)
- Enables range-based algorithms
- Modern C++23 idioms
All tests passing with "final OK !!!"1 parent b4772ca commit 285f59d
1 file changed
+9
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
277 | 278 | | |
278 | 279 | | |
279 | 280 | | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
280 | 289 | | |
281 | 290 | | |
282 | 291 | | |
| |||
0 commit comments