Bugfix
- [#464] use linked chunk as fundamental storage for nodes, to keep returned
ast.Nodepointer valid.- BREAK CHANGE:
ast.Unset()now WON'T changeast.Len()andast.Index() - BREAK CHANGE:
ast.UnsafeArray()andast.UnsafeMap()are deprecated and user SHOULDN'T modify node based on these API
- BREAK CHANGE:
- [#393] refactor
asm2asmto 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
- @xumingyukou made their first contribution in #447
Full Changelog: v1.9.2...v1.10.0-rc