What's Changed
⭐ Features
- [Compiler] Attachments #1/3 by @RZhang05 in #4052
- [Compiler] Attachments #2/3 by @RZhang05 in #4087
- [Compiler] Attachments #3/3 by @RZhang05 in #4111
- Add support for comparing two map data slabs to slab decoding tool by @turbolent in #4234
- Add support for collecting computation usage profiles by @turbolent in #4266
- [Compiler] Attachments by @RZhang05 in #4204
🛠 Improvements
- refactor: use slices.Contains to simplify code by @keeghcet in #4206
- Improve tracing by @turbolent in #4217
- Improve tracing by @turbolent in #4218
- [Compiler] Improve globals. by @RZhang05 in #4211
- [Compiler] Simplify imported globals linking by @SupunS in #4220
- [Compiler] Improve enum case value global initialization by @turbolent in #4221
- [Compiler] Initialize all variables of a dynamically linked program by @SupunS in #4223
- [Compiler] Reuse elaboration for imports when possible. by @RZhang05 in #4215
- [Compiler] Refactor dynamic method invocation by @SupunS in #4226
- [Compiler] Improve transaction program init function by @turbolent in #4229
- [Compiler] Avoid creating an array for resource default-destroy events by @SupunS in #4230
- [Compiler] Trace event emission by @turbolent in #4231
- [Compiler] Skip encoding-decoding of constants by @SupunS in #4214
- Improve tracing and CI by @turbolent in #4246
- [Compiler] Always transfer on move operator. Remove redundent transfers by @SupunS in #4208
- [Compiler] Generate opcode.isControlFlow from instructions.yml. by @RZhang05 in #4238
- Unify move-operator interpretation to match the VM by @SupunS in #4245
- [Compiler] Improve error position/location info by @turbolent in #4247
- [Compiler] Create unified interface for native/host functions by @RZhang05 in #4232
- Remove per-context coverage report, use runtime config's by @turbolent in #4255
- [Compiler] Unify natives. by @RZhang05 in #4248
- [Compiler] Fix performance regression by @turbolent in #4258
- Remove wabt by @turbolent in #4260
- Rename unified to native, clean up native functions. by @RZhang05 in #4259
- Unify natives in the compiler/vm and interpreter. by @RZhang05 in #4264
- Set error location range in interpreter like in VM by @turbolent in #4249
- Remove location range passing code – Part 1/2 by @turbolent in #4250
- Remove location range passing code – Part 2/2 by @turbolent in #4251
- Remove unused location range parameter from native functions by @turbolent in #4268
- Replace variadic arguments parameters with slices by @turbolent in #4269
- Fix naming of "type parameters" which are actually type arguments by @turbolent in #4270
- Avoid unnecessary allocation of type arguments iterators by @turbolent in #4271
- Remove
vm.NativeFunctionVM
and adaption tointerpreter.NativeFunction
by @turbolent in #4272 - Address reviews on compilation for attachments. by @RZhang05 in #4275
- Improve type conversion error by @turbolent in #4181
- Replace for-delete loops with clear by @turbolent in #4277
- Improve computation profiling by @turbolent in #4276
🐞 Bug Fixes
- [Compiler] Initialize all variable of all imports by @SupunS in #4222
- Fix tracing of function invocations by @turbolent in #4224
- [Compiler] Fix
invokeMethodDynamic
by @turbolent in #4225 - [Compiler] Use global's index instead of array index during linking by @SupunS in #4227
- [Compiler] Fix result variable transfer by @turbolent in #4236
- [Compiler] Fix Account.contracts.borrow by @turbolent in #4241
- [Compiler] Fix function types for capability value methods by @turbolent in #4243
- [Compiler] Ensure program is initialized whenever type-info is requested by @SupunS in #4242
- Fix 128-bit fixed-point code by @turbolent in #4252
- [Compiler] Fix and improve compiler/VM benchmarks and tests, fix CI by @turbolent in #4257
🧪 Testing
- [Compiler] Add control flow basic block visualization to program printer. by @RZhang05 in #4197
- [Compiler] Add tests for importing same program from multiple paths by @SupunS in #4228
Other Changes
- Merge master into feature/compile-attachments. by @RZhang05 in #4162
- Merge
release/v1.7.0
tomaster
by @github-actions[bot] in #4207 - Merge master into feature/attachments by @RZhang05 in #4233
- Speed up benchmarks by @turbolent in #4261
- Merge master into unify natives. by @RZhang05 in #4265
- Update to Go 1.24 by @turbolent in #4267
- Merge master into Attachment compilation feature branch by @turbolent in #4274
New Contributors
Full Changelog: v1.7.0...v1.8.0