aboutsummaryrefslogtreecommitdiff
path: root/docs/history/48-landing/notes.md
blob: f4465e37b29cd4831c20ae602f369e79f8f9456a (plain) (blame)
1
2
3
4
5
6
7
# stage 48: landing the leftovers

done: packed struct fields, growable arrays of sized integers and f32, f32 in extern and cfunc signatures, page-indexed invalidation with counted coverage, per-slot install invalidation, per-block llvm resource trackers freed when no compiled code is running, a direct-mapped function cache and a short call path for llvm o3 calls (fib bench 0.69 s to 0.53 s), and a faster self-modification path (bench/selfmod.zc about 7x on the jit).

not done: structs by value in native calls, an inline llvm-to-llvm call, loop-invariant motion and cross-block cse in the core's optimizer, automatic tiering. the address of a packed element is declined on purpose.

the stale test langerrors/pk_dyn.zc (which expected growable []sized to be rejected) was removed.