github mvm-sh/mvm v0.2.0

2 hours ago

Changes since v0.1.0

  • add CHANGELOG.md (e651dd6)
  • comp: improve range error messages (c074d7a)
  • goparser: handle mixed keyed/unkeyed slice elements (1bc62b7)
  • vm: add CallImmFast for non struct/array args. Clean dead code. (faf4008)
  • fix handling import to _ (aaac727)
  • vm: fix races around ActiveMachine (4fd7def)
  • vm: fix races around ActiveMachine (3f13f72)
  • vm: address ActiveMachine races (a70218a)
  • vm: fix interface bridges for identical structural types (8314289)
  • comp: fix multi-return assign and numeric convertion (3c499ef)
  • fix transitive capture for nested closure (19e9ed4)
  • test: chdir to source. Also handle nil receiver. (45a547c)
  • vm: fix passing wrapped array/struct by value and receiver methods (39a1372)
  • vm: fix an issue in IfaceWrap (e3a3b69)
  • vm: fix truncation in shift, and not (&^) (cc98050)
  • revert previous and instead fix qualified method lookup. (52d4c0e)
  • comp: detect passthrough for native callbacks (63d792d)
  • vm: handle concurrency in CallFunc according to Go spec rules (95e35d5)
  • vm: refactor CallFunc to avoid per-callback allocation snowballing (9a322a7)
  • goparser: fix cross-pkg func name collision. Improve test runner. (51e4618)
  • goparser: fix an issue in reuse stale LocalVar symbol (713466f)
  • vm: fix an issue in Value.Equal (5b38b6e)
  • vm: fix issues in bitops (e85c094)
  • vm: virtualize reflect.ValueOf to preserve mvm metadata in methods (31df0db)
  • fix an issue in interface bridging (79773d8)
  • comp: fix an issue in globlal var slot allocation (14435db)
  • fix an issue on ':=' rebinding (2037dbf)
  • add support for reflect.TypeFor (04a4ef9)
  • fix an interface dispatch regression on native types (cf9d3d3)
  • fix a regression introduce by qualified name symbols refactor (a90b667)
  • improve transitive import of packages (ce8aa68)
  • fix a spurious bytecode fuse (3343bc2)
  • goparser: used fully qualified symbol names to avoid collisions (1543a72)
  • refactor symbol naming for cross-pkg definitions. WIP (eef891c)
  • fix issue in cross-pkg definitions. WIP (15fab96)
  • fix cross-package issues in handling func/label (0ebbc1a)
  • fix an issue in interface bindings (db782e6)
  • goparser: avoid same var names collisions between different packages (1c321c5)
  • improve parsing of composite literals with array-type keys (d54dcf0)
  • goparser: fix issues in block and composite parsing (777734b)
  • scan: provide source content access methods for inspection (488a465)
  • goparser: fix an issue on handling methods on typed constants (c6f3074)
  • fix a SIGSEGV panic on import "golang.org/x/text/language" (a70cfb4)
  • update docs (16815d7)
  • goparser: add support to '// +build' old form of build tags (867a74c)
  • fix: error instead of panic in case of malformed expression (278f345)
  • stdlib: isolate symbols brought in go1.25+ for compatibility (6c948e2)
  • fix an issue in parser which was hanging extract on net/http (0526a0c)
  • cli: align test flags on "go test" (84ccdab)
  • docs: update, add usage.md (a57c017)
  • vm: improve trace layout (97f3bef)
  • vm: move some opcode out of Run() to release register pressure (e6e8397)
  • simplify -x trace flag. Add ability to trace bytecode execution. (e9765b8)
  • vm: add tracing mode in Eval on -x or MVM_TRACE=1 (c7cc6e3)
  • CI: pin golangci-lint to reuse it (6cc73ee)
  • CI: skip regenerate all stdlib at each commit, add periodic check (3ca524b)
  • improve stdlib generation by extract (41ec2c0)
  • skip comments at scanner level, no need to filter them in parser (bb41f29)
  • fix a regression in comment handling in type expressions (cf5d739)
  • update docs. Remove comp/dump.go (41be6b6)
  • CI: install stringer for generate (c55a65a)
  • drop matrix, full generate for go1.26 (c04c762)
  • generate stdlib and stdlib/src.zip (aea4ca7)
  • use github.com/mvm-sh/std as the module to provide stdlib packages. (0d440cc)
  • update stdlib wrappers to go1.26.3 (0c12eaf)
  • Improve stdlib bridges and wrappers for named slices (1955db3)
  • fix vm intercept side table to use uintptr, no unsafe (d986360)
  • fix embedded method bridges (513ac9e)
  • fix CI test failure with arithmetic pointer error (1a01cdd)
  • add errors bridge (36253f9)
  • improve stdlib bridges and wrappers (d204f8d)
  • fix parse literal composite field names, avoid comp rollbacks (3476879)
  • improve closure naming, vm sentinel collisions, errors.Is (42e96fb)
  • fix an issue in composite literals with non-constant keys (0820cfd)
  • bound size of runtimeFuncMeta used in virtual frames (9fa207d)
  • virtualize callframes and intercept methods at native/interp boundary. (209facb)
  • stdlib: add format bridge for fmt.Formatter (4304799)
  • improve interface bridges to mix native interfaces and scripted methods (31cce8f)
  • fix handling methods on pointer receivers (4fcbb9b)
  • vm: allow interface methods on unexported fields through unsafe (39cff31)
  • improve handling of defined types in struct, embeddded and composite (c59122f)
  • fix comment handling in blocks and before statements (902e544)
  • scan: fix handling comment line, no ';' insertion in that case (9f04527)
  • add version command, update issue templates (5544a84)
  • update readme, add issue template for one liners (03b6235)
  • scan: emit only one semicolon for multiple blank lines (8590df5)
  • fix multi-value index assign, interface bridges for equality (566e9fe)
  • Optimize var deps analysis by calling it only when necessary (6cb778d)
  • improve var init ordering analysis in parser (308d546)
  • fix test driver by ordering test func names (41b5aea)
  • fix reflect.DeepEqual and '==' in presence of wrappers (a5044ad)
  • Fix method metadata loss in cross-package types. Improve jsonx. (6845ff7)
  • fix zeroing local vars after grow for pointer on struct (434cbec)
  • apply dynamic network imports to test command, update docs (39edc91)
  • comp: improve error diagnostic and file positions (5c98a68)
  • improve interface match for concrete types (bfd2802)
  • goparser: fix comment handling in case clauses (c07126e)
  • goparser: improve diagnosing parsing errors and file positions (790a3fd)
  • Merge branch 'main' of github.com:mvm-sh/mvm (8e45d3f)
  • add support for dynamic network imports via Go module proxy (14e451c)

Don't miss a new mvm release

NewReleases is sending notifications on new releases.