Skip to content

Lunar v0.1.3

Latest

Choose a tag to compare

@mmcdole mmcdole released this 16 Sep 18:34
· 53 commits to main since this release

Lunar v0.1.3 fixes heap-limit enforcement while garbage collection is stopped, improves table access and native call entry, and reorganizes the runtime and tests.

  • Enforce Options.MaxHeapBytes while garbage collection is stopped. #11
  • Reduce repeated work in table access and dynamic key classification. #13, #18
  • Reuse reserved stack windows for fixed native calls and remove redundant stack clearing. #15
  • Organize runtime files and tests by subsystem, share nested call validation, and remove unused helpers. The library's public API is unchanged.
  • Remove unsupported CBOR benchmark execution modes and simplify table traversal in the benchmark adapter.
  • Add PUC Lua comparisons and update benchmark reports.

The cleanup showed an approximately 8% spectral-norm slowdown on the local default build relative to the code immediately before the cleanup. Source and linker experiments strongly support binary placement sensitivity; changing function alignment removed the gap in the diagnostic build. The cleanup retains the default build settings. See the measurements and limitations.

Full changelog