_StringReleaseCheck was a separate 4-argument call on every string release (~350M per compiler self-compile) and showed up as 12.7% of all instructions on its own. The three sanity checks (double-free, length, capacity) now run inline in _StringRelease with DiagAbort as the cold path; the diagnostics remain always-on. Compiler self-compile: 9.2G -> 8.7G instructions, 0.80 s -> 0.78 s. |
||
|---|---|---|
| .. | ||
| src | ||
| Makefile | ||
| project.xml | ||