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)