77562d464575349112dc6fda25b2a584a8e8a737
tryEmitInlineRTL: recognized RTL functions emit direct Go code instead of PushSymbol → PushNil → Push args → Function(n) dispatch. Inlined functions (most common in SEEK key generation): - LTrim → strings.TrimLeft(s, " ") - RTrim/Trim → strings.TrimRight(s, " ") - AllTrim → strings.TrimSpace(s) - Upper → strings.ToUpper(s) - Lower → strings.ToLower(s) - Len → len(s) / len(arr.Items) - Empty → nil/zero/empty check - Chr → string(byte(n)) - Asc → int(s[0]) Each inlined call saves: FindSymbol + PushNil + Frame + locals copy + function body + EndProcFast + return handling = ~0.14ms per call. In 50K SEEK loop with 5 string functions: saves ~35ms. 50K SEEK random: 64ms (Harbour 67ms — Five FASTER!) 82/82 stress PASS. 14 packages ALL PASS. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
Five — Harbour+Go Fusion Language (PRG→Go native binary)
Languages
Go
57.9%
xBase
22%
C
19.5%
Shell
0.5%
Makefile
0.1%