github bytedance/sonic v1.10.0-rc

latest releases: v1.14.2, loader/v0.4.0, v1.14.1...
2 years ago

Bugfix

  • [#464] use linked chunk as fundamental storage for nodes, to keep returned ast.Node pointer valid.
    • BREAK CHANGE: ast.Unset() now WON'T change ast.Len() and ast.Index()
    • BREAK CHANGE: ast.UnsafeArray() and ast.UnsafeMap() are deprecated and user SHOULDN'T modify node based on these API
  • [#393] refactor asm2asm to avoid crashing when the program gets panic or profiled
    • BREAK CHANGE: sonic now only support Go 1.16~1.20

Feature

  • [#470] add Valid() API on main package

Optimization

  • [#464] reduce memory allocation when loading nodes, ast.Load() performance now speeds up 20%~60%
  • [#393]: call native C function by register-based ABI in ast.Node

New Contributors

Full Changelog: v1.9.2...v1.10.0-rc

Don't miss a new sonic release

NewReleases is sending notifications on new releases.