Releases: TheLuaOSProject/LuaJITMT
Releases · TheLuaOSProject/LuaJITMT
Release list
b1.0.3
- release: use host luajit for cross-target checks
- tests: remove source-shape guard checks
- jit: make keyed table barriers valid IR
- tab: follow retiring array stores to successor
- gc2: gate retired reclaim against root scans
- tests: cover x64 iterator retiring arrays
- x64: guard TGET over retiring arrays
- debug: validate trace PCs against live slots
- x64: validate saved stitch traces
- x86: guard assembler tail trace links
- tests: stabilize recursive trace guard
- x64: require live traces for JLOOP entry
- jit: require live traces for startins readers
- jit: guard traceref vector bounds
- jit: guard jit.util trace readers
- jit: validate trace-exit JLOOP identity
- bcdump: validate stale trace unpatching
- jit: guard C-side stale trace slots
- jit: guard stale x64 JLOOP trace slots
- tab: use futex for structural owner waits
- jit: guard recursive call-unroll unlink
- x64: inline empty table allocation in interpreter
- gc: flush pending roots when attaching tg
- tests: require stable ffi typeinfo rollback reads
- ffi: wait for stable typeinfo snapshots
- tests: autodetect stock luajit benchmark binary
- gc2: avoid strong key barriers for weak tables
- stability: fix publication, tmpbuf, and jit barriers
- vm: bypass array setter for nil slots without metatable
- jit: gate gc2 table barriers on tbar entry
- safepoint: poll pending fresh stopreqs
- ffi: poll post-native stopreq requests
- jit: record threading cpucount
- notes: record post JIT boundary stability sweep
- jit: narrow threading NYI hard stops
- stability: preserve MT stack frames and FINREG roots
- threading: inherit caller env for spawned states
- tests: restore default build after profile switches
- tests: stabilize gc2 alloc-account fixture
- gc: gate root publication marks
- gc: atomically publish pacing controls
- jit: guard recursive trace stability
- jit: claim setmode function targets
- api: claim lua_isyieldable reads
- api: claim WRAPCFUNC stack reads
- api: release-publish C wrapper callback
- api: atomically publish panic callback
- api: claim luaL_where location snapshots
- api: claim aux result tuple pushes
- api: claim ownerless load and dump paths
- api: claim ownerless metatable creation
- api: claim ownerless upvalue joins
- api: claim ownerless object setters
- api: claim ownerless raw setters
- api: claim ownerless formatted string pushes
- api: claim ownerless C closure pushes
- tests: avoid active mark stack publication in weak fixtures
- api: claim ownerless thread creation
- api: claim ownerless userdata creation
- api: claim ownerless table creation
- api: claim ownerless lightuserdata pushes
- api: claim ownerless string pushes
- api: claim ownerless primitive pushes
- api: claim ownerless stack copy ops
- api: claim ownerless string conversions
- api: claim ownerless metafield lookup
- api: claim ownerless userdata checks
- api: claim ownerless upvalue introspection
- api: claim ownerless raw object getters
- api: claim ownerless auxiliary checks
- api: claim ownerless stack getters
- api: claim ownerless stack operations
- api: claim ownerless metamethod entry
- api: claim ownerless states for VM entry
- debug: avoid foreign-state cpcall crashes
- threading: clean up owner claims on errors
- ffi: resolve finreg claims across errors
- jit: close mt activation trace window
- ffi: wrap windows clib lookups as native
- tests: parameterize table resize stress timeout
- str: avoid resize claim leak on OOM
- jit: specialize numeric one-upvalue FNEW
- stability: harden tg null fallback
- test: cover tls-only pending root flush
- test: serialize runner builds per worktree
- jit: forward numeric uloads across pre-mt xpoll
- jit: guard same-trace fnew calls by prototype
- jit: shorten x64 exittab side exits
- jit: use empty-table allocation helper
- jit: inline primitive table stores
- notes: record stability sweep
- gc: fix active collect liveness
- gc: preserve finalizer step and first-spawn flush
- ci: run platform smoke on native hosts
- vm: restore single-thread tset fast stores
- tab: avoid yielding on read keylock retry
- gc: batch trace hard assists
- jit: inline numeric fnew slot sync
- jit: skip duplicate traced fnew gc check
- types: tighten threading annotations
- jit: narrow xload poll aliasing
- jit: inline numeric upvalue stores
- jit: restore single-thread table stores
- gc2: batch mutator pacing assists
- safepoint: wake late poll waiters
- package: wake claim waiters
- thr: wake state owner waiters
- tab: yield structural owner retries
- thr: reduce control path sleep backoff
- thr: reuse retry yield helper
- ffi: yield runtime retry waits
- jit: yield dispatch retry waits
- gc: yield internal peer retry waits
- str: yield string table retry waits
- tab: yield table retry waits
- tests: align ffi gc trace expectation
- state: normalize internal arena close accounting
- gc: publish userdata through pending roots
- vm: inline x64 GC allocation predicate
- vm: restore x64 string table store fast path
- dynasm: teach x86 cmpxchg
- jit: name x86 lock cmpxchg emitter
- profile: drop nested timer callbacks
- str: store active depth without xchg
- profile: resume callback coroutine on caller tg
- ci: raise stock bench scale
- tab: park struct owner waiters
- m6: fence shared next before keyindex
- gc: avoid root CAS before MT activation
- m5: make table structural owner per-table
- Roll back unsafe x64 TSETB inline CAS
- Restore guarded x64 TSETB CAS fast path
- Batch fresh GC root publication per TG
- fix release publish repository context
b1.0.2
- move macos ci to current intel runner
- fix recursive trace retention and stock bench guard
- move string intern pin to TG marker
- document table structural owner bridge gap
- fix shared table clear and platform CI
- fix fixed finreg preclaim vector
- fix ffi gc finreg trace safety
- fix finalizer spawn gc step deferral
- fix thread spawn root retention
- fix b1.0.1 release platform artifacts
- fix m7 ffi stack root publication
- fix m7 ffi cdata spawn root handoff
- Load ffi inside cdata alloc workers
- Trace int64 parser shaped calls
- Trace double pointer pointer calls
- Trace mixed double int calls
- Trace signed ptr ptr int calls
- Trace unsigned write shaped calls
- Trace unsigned ptr ptr size calls
- Trace buffer string put through helper
- Trace buffer string set through helper
- Trace buffer reset and skip through helpers
- Keep table length forwarding within poll regions
- Trace buffer get through helper
- Trace buffer tostring through helper
- Trace no-newindex metatable nil stores
- Trace buffer length through helper
- Trace 64-bit pointer size FFI calls
- Trace void pointer size FFI calls
- Trace pointer size copy FFI calls
- Trace pointer size compare FFI calls
- Trace all-64 shared FFI pairs
- Trace 64-bit pointer FFI pairs
- Trace uint64 mixed-width FFI pairs
- Trace int64 mixed-width FFI pairs
- Tighten threading LuaLS overloads
- Trace unsigned int 64-bit FFI pairs
- Trace int size FFI call pairs
- Trace int offset FFI call pairs
- Trace seek shaped FFI calls
- Cover signed pointer span FFI traces
- Trace pointer 64-bit span FFI calls
- Trace UCRT write shaped FFI calls
- Trace int pointer size FFI calls
- Trace one-arg 64-bit FFI GPR calls
- Trace mixed signed 64-bit FFI calls
- Trace two-arg 64-bit FFI calls
- Distinguish uint32 FFI GPR call args
- Trace signed FFI calls with uint32 args
- Trace unbounded ffi strings through native strlen
- Harden release artifact verification
- Tighten threading LuaLS return types
- Trace dynamic explicit ffi strings
- Trace dynamic ffi copy and fill lengths
- Trace poll-shaped FFI calls
- Trace int64 and uint64 FFI call arguments
- Trace int8 FFI call arguments
- Trace shared next through table helper
- Trace uint32 FFI call arguments
- Trace FFI calls through native helpers
- Trace integer stores and preserve event TG hints
- Harden rolling release artifacts
- Trace mixed pointer return FFI ccall case
- Trace mixed pointer double FFI ccall cases
- Trace mixed int double FFI ccall returns
- Trace narrow GPR FFI ccall returns
- Trace int64 and uint64 GPR FFI ccall returns
- Trace uint32 GPR FFI ccall returns
- Trace narrow FFI ccall returns
- Trace uint64 FFI ccall returns
- Trace uint32 FFI ccall returns
- Trace int64 FFI ccall returns
- Trace float FFI ccall trampolines
- Tighten threading LuaLS annotations
- Trace double FFI ccall trampolines
- Trace void FFI ccall trampolines
- Trace FFI pointer ccall trampolines
- Test traced FFI ccall STOPREQ
- Widen FFI int ccall trampolines
- Trace narrow FFI int ccall trampoline
- Drop M7 FFI source-shape guards
- Split platform CI from release archives
- Trace active-MT metatable existing stores
- Trace active-MT shared ipairs
- Harden active-MT table iteration traces
- fix: use contiguous tmpref for shared next
- fix: trace active-mt shared table traversal
- ci: split platform smoke from release archives
- chore: type threading spawn results
- fix: trace active-mt local table traversal
- fix: trace active-mt raw table writes
- fix: trace active-mt shared table reads
- fix: allow active-mt table allocation traces
- fix: narrow active-mt jit table fences
- fix: harden table resize concurrency
- types: mark threading optional params
- types: tighten threading LuaLS annotations
- tests: require LuaJIT for suite launcher
- tests: pin disabled FFI CALLXS recording
- tests: stress JIT iterators across table resize
- release: assert install-tree artifacts
- gc: restore stock-sized allocation pacing
- ffi: record stable string ctypes directly
- tests: stress table library shifts across resize
- types: tighten threading LuaLS annotations
- ffi: make library memory spans native-safe
- tests: stress table length across resize
- os: serialize locale mutation before threading
- os: use reentrant date conversion on windows
- gc2: guard weak writes during weak drain
- ci: configure git after ci home setup
- ci: give wine an owned home
- types: tighten threading gcstats annotations
- ci: mark windows checkout safe
- ci: run platform artifact checks
- gc2: guard weak completion on active drains
- devcontainer
- move threading.lua to etc
- gc2: wait for active assists at completion
- safepoint: park consumed native acks
- ffi: snapshot bitop destination ctypes
- ci: use stock luajit harness
- ci: gate stock LuaJIT semantics
- ffi: snapshot arithmetic operand ctypes
- ffi: snapshot cconv operands at entry
- ffi: snapshot cconv destination at entry
- ffi: cache ccall struct spill alignment
- ffi: snapshot cdata conversion metadata
- ffi: snapshot cdata indexing metadata
- ffi: compare pointer structs by ctype id
- ffi: reuse new layout snapshots
- ci: harden rolling release artifacts
- ffi: wait for cdata restore types
- ffi: snapshot cdata serialization types
- ffi: reuse cconv child snapshots
- ffi: add cconv id snapshot conversions
- ffi: snapshot recorder predefined conversions
- ffi: snapshot recorded clib namespace metadata
- ffi: snapshot recorded cdata arithmetic metadata
- ffi: snapshot recorded cdata indexing metadata
- ffi: snapshot recorded cdata store metadata
- ffi: snapshot recorded ccall metadata
- ffi: snapshot recorded cnew aggregate metadata
- ci: add rolling release binary checks
b1.0.1
- Snapshot string array cconv children
- Stabilize table store root snapshots
- Fix safepoint fixture native flag load
- Cover separated arrays in forward filter guard
- Keep table next scans generation-bound
- Fix carith ctype argument snapshots
- Fix aggregate cconv ctype snapshots
- Fix carith argument ctype snapshots
- Fix FFI tostring reference cdata
- Freeze colocated array tails during shrink
- Fix carith check64 ctype snapshots
- notes: document colocated array resize freeze
- Freeze colocated array slots during resize
- test: stress tablelib inserts during resize
- Fix tonumber cdata ctype snapshots
- Record direct FFI pointer string ctypes
- Fix FINREG new-key stale generation helpers
- Extend direct FFI pointer array ctypes
- Fix recorder cdata ctype snapshots
- build: make dyn objects explicit prerequisites
- Merge mt-win platform support
- devcontainer: add cross-platform build tooling
- threading: cover debug hook redispatch
- threading: migrate coroutine TG on resume
- ffi: restore stock typeinfo helper
- docs: clarify stock behavior audit
- docs: refresh stock compatibility audit
- ffi: cover shared cdata field races
- threading: harden table and safepoint races
- docs: refresh stock surface audit
- ffi: remove non-stock pin entrypoint
- tables: wait for published forward successors
- docs: refresh stock compatibility audit
- docs: correct istype snapshot validation list
- ffi: abort busy istype snapshots while recording
- tests: cover attached explicit gc native wait
- docs: refresh source-search and stock API audit
- tests: cover cclosure pseudo-index upvalue publication
- gc2: stabilize ffi pin roots under active collection
- ffi: snapshot callback ctypes at runtime
- docs: record source-search and stock API audit
- jit: keep dual-map mcode execute-stable
- gc: complete active explicit gc cycles
- api: avoid empty trace flush handshakes
- ffi: widen recorded fixed-array ctype suffixes
- ffi: widen direct stable ctype suffixes
- docs: document threading extension surface
- ffi: preserve ccall native callback slot
- ffi: preserve clib cache env semantics
- ffi: remove public typeinfo helper
- jit: honor stopreq while waiting for recorder token
- test: keep scheduler synthetic tg alive
- gc: bound active collect assistance
- jit: publish control options atomically
- jit: serialize flush mutation with recorder token
- ffi: serialize callback auto-attach carriers
- api: hide threading module opener
- api: remove legacy luaMT threading entrypoints
- profile: deliver SIGPROF samples per TG
- ffi: honor clib env overrides in recorder
- ffi: mirror clib cache in userdata env
- api: preserve profiler and bytecode compatibility
- jit: skip empty trace flush handshakes
- test: stress C API table resize concurrency
- api: preserve stock compatibility boundaries
- profile: serialize lifecycle under threading
- package: serialize loadlib cache opens
- package: serialize concurrent require
- ffi: remove stale clibrary cache pointer
- docs: clarify stock behavior deviations
- threading: make spawn creation native-aware
- jit: flush traces for upvalue joins
- ffi: make callback mcode setup native-aware
- gc2: make worker startup native-aware
- docs: remove source-search bookkeeping recipes
- bytecode: restore stock dump compatibility
- gc2: make finalizer dispatch waits owner-aware
- core: remove residual lockless alias macros
- gc2: make mark-complete peer waits native-aware
- docs: document table retry wait boundary
- gc2: remove wait alias wrappers
- gc: remove finreg wait compatibility wrapper
- table: remove finreg wait compatibility wrapper
- table: make low-level store waits native-aware
- table: make stateful store waits native-aware
- table: make library store waits native-aware
- api: make c table store waits native-aware
- strings: make strtab waits native-aware
- jit: make table-bump template waits native-aware
- parser: make keep-anchor waits native-aware
- buffer: make serializer dictionary waits native-aware
- ffi: make callback blacklist waits native-aware
- ffi: make clib cache publish waits native-aware
- ffi: make finreg generation waits native-aware
- ffi: make finreg claim waits native-aware
- jit: make gdbjit waits native-aware
- compat: restore optional lua52 build
- threading: own gc2 control surface
- api: keep gc mode controls off c surface
- vmevent: helper-publish event mask
- gc: scan all TG tmpbuf roots
- threading: derive spawned TG PRNG state
- roots: helper-publish registry value
- roots: helper-publish fixed roots
- roots: helper-publish gcroot slots
- api: restore stock LuaJIT compatibility surface
- api: remove old compat helper entrypoints
- state: helper-publish thread root refs
- gc: helper-step table weak bridge links
- objects: helper-publish environment refs
- prng: remove bootstrap compat seeder
- objects: helper-publish metatable refs
- table: helper-publish colocated marker
- table: helper-publish acap mirror
- tests: finish source-search cleanup docs
- tests: rename ffi native-call coverage
- ffi: remove blocking marker API
- tests: remove runtime build helper compat exports
- ffi: avoid istype snapshot for exact ctype ids
- ffi: avoid recorder parser token for direct arrays
- ffi: avoid recorder parser token for predefined strings
- ffi: avoid parser token for C99 complex strings
- ffi: avoid parser token for direct integer specs
- ffi: avoid parser token for direct int keywords
- ffi: avoid parser token for direct complex strings
- ffi: avoid parser token for direct long numeric strings
- ffi: avoid parser token for direct no-op qualifiers
- ffi: avoid parser token for direct pointer qualifiers
- ffi: avoid parser token for direct qualified strings
- ffi: avoid parser token for direct multidim arrays
- ffi: avoid parser token for direct array strings
- ffi: avoid parser token for direct pointer chains
- ffi: avoid parser token for direct pointer strings
- ffi: avoid parser token for direct tag strings
- ffi: avoid parser token for simple typedef strings
- ffi: avoid recorder busy abort for predefined raw refs
- tests: remove source-search compatibility guards
- ffi: avoid recorder busy abort for predefined element sizes
- ffi: share predefined info reads before recorder aborts
- ffi: remove unused pointer-struct wait entrypoint
- ffi: avoid parser wait for predefined ctype info fallbacks
- ffi: avoid parser wait for predefined offsetof misses
- ffi: avoid recorder busy abort for predefined no-meta types
- ffi: skip parser wait for predefined no-meta types
- ffi: return predefined typeinfo during parser work
- ffi: trim predefined type strings before fast path
- ffi: avoid parser token for predefined pointer strings
- ffi: avoid parser token for predefined type strings
- tests: drop stray generated dump artifact
- .
- ffi: avoid parser wait for predefined metadata
- ffi: avoid parser wait for predefined istype
- api: clarify C closure upvalue IDs
- table: stress resize traversal under slot churn
- ffi: snapshot recorded cdata load enum types
- ffi: snapshot recorded aggregate copy metadata
- bytecode: remove old dump compatibility entrypoints
- ffi: snapshot recorded fill metadata reads
- ffi: snapshot recorded library metadata reads
- ffi: snapshot recorded sizeof ctype reads
- ffi: centralize API ctype reads
- ffi: abort recorder on busy API type reads
- api: remove remaining compat entrypoints
- ffi: abort recorder on busy ctype metamethods
- api: remove legacy compatibility entrypoints
- ffi: snapshot ctype metamethod lookup
- ffi: snapshot clib extern variable types
- Update README
- ffi: snapshot callback cdata types
- Port to windows
- arena: load allocation color atomically
- gc: wake one worker for normal progress
- threading: reduce channel wake contention
- tests: skip ffi ldscript lane on macos
- jit: skip unsupported mapjit write toggles
- tests: fix x64 vm next fixture on mach-o
- jit: use stable mapjit mcode on macos
- jit: enable x64 table store helpers on macos
- threading: track nested native depth
- threading: honor join timeout deadline
- threading: use darwin futex waits for ffi gates
- threading: fix closed rendezvous send
- threading: finish external detach before live release
- build: enable macos gnu11 runtime build