Skip to content

Releases: TheLuaOSProject/LuaJITMT

b1.0.3

b1.0.3 Pre-release
Pre-release

Choose a tag to compare

@Frityet Frityet released this 02 Jul 23:08
  • 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

b1.0.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 22:14
  • 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

b1.0.1 Pre-release
Pre-release

Choose a tag to compare

@Frityet Frityet released this 30 Jun 19:14
  • 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

Beta 1.0

Beta 1.0 Pre-release
Pre-release

Choose a tag to compare

@Frityet Frityet released this 28 Jun 17:23

Adds threading to LuaJIT.

See threading.lua for API

example