You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to tinymux
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Subject: [ANNOUNCE] TinyMUX 2.14.0.6 ALPHA released
TinyMUX 2.14.0.6 ALPHA is now available. This is a major release with 136 commits since Build 5, headlined by compile-time constant folding, JIT safety fixes, and performance work that reduced the smoke test suite from 63s to 1s.
Changes since 2.14.0.5 - -----------------------
JIT Compiler:
- Compile-time constant folding for 35+ functions: arithmetic, comparison, boolean, string operations (STRLEN, WORDS, FIRST, REST, LAST, MID, POS, MEMBER, EXTRACT, REPEAT, TRIM, EDIT, DELETE, RIGHT, ISNUM, ISINT, LPOS, STRIPANSI, SQUISH), and constants (PI, E, MUDNAME, VERSION). All use the same co_* Ragel implementations as the runtime -- semantics-matched by construction. - Re-entrant JIT execution via shared heap DBT. Inner expressions reached through ECALL (e.g., u() bodies) compile and execute in a persistent shared code heap with an independent DBT context. - Native HIR handlers for default(), edefault(), localize(), letq(). - Code quality metrics in jitstats(): code_bytes, hir_insns, spills. - 50 JIT/AST parity tests, JIT coverage measurement tests. - Smoke suite: 99.86% JIT coverage, 64% constant-folded, zero register spills across 1244 compiled programs (49KB RV64 total).
JIT Bug Fixes:
- Fix silent memory corruption on string pool, fargs pool, and code size overflow -- now bails gracefully to AST evaluator. - Fix shared heap cache staleness for inline dependencies. - Fix TRIM constant fold for multi-character patterns. - Fix DUMP_HIR crash from uninitialized block ranges. - Fix STRLEN fold to use grapheme cluster counting.
Performance:
- Disable WAL auto-checkpoint for SQLite. Eliminates fsync from the hot path; explicit checkpoint at @dump and shutdown. - ASCII fast path for string_prefix(), string_compare(), and mux_stricmp(). Skips the full Unicode state machine for ASCII characters. - Eliminate 132KB tier2_install memcpy from compilation and skip blob installation for constant-folded programs.
Platform:
- mux_IPlatform COM interface replaces platform #ifdefs. - WebSocket GameSession transport design and scaffolding. - Unicode collation fixes ported from libutf. - Frame-relative output addressing for stack-allocated buffers. - LBUF_SIZE increased from 8000 to 32768 with LBuf RAII wrapper.
Other:
- ulambda(), #lambda, #apply -- anonymous inline attributes. - Mail expiration, @dbclean, vlimit config parameter. - Tier 2 blob: unblocked 18 functions, math intrinsics, FP type propagation to eliminate string/double round-trips.
Download:
Full source (tar.gz): mux-2.14.0.6.unix.tar.gz SHA256: ced5d197f49950f86fbf5b6330766f6c5ae1aa0548ab858852fe07cbfb32ac93
Full source (tar.bz2): mux-2.14.0.6.unix.tar.bz2 SHA256: fb8c68382ed2939d1c0125fc700aaf1ddbb3f61c430c01a49caf101ebf0fa779
Patch from 2.14.0.5: mux-2.14.0.5-2.14.0.6.unix.patch.gz SHA256: 5b9ce148eee3a3178837fb961a9199820df33a04364a10ef12ca3803dc4a1bb3
Windows binary: mux-2.14.0.6.win32.bin.zip SHA256: 5e22a4fdc1ea8e68586a60465727bb1d27c07a3ef7703ebf142608db67b00281
Windows source: mux-2.14.0.6.win32.src.zip SHA256: 799b7e594436a139d5f964f57bc9ec8c53d817ad6e2ee51019e824258783b5b9
All files are GPG-signed (.asc). 7z archives also available.
This is ALPHA software. Make backups. Report bugs to brazi...@gmail.com.