com.unity.burst 1.7.1
Notes: processedReleased April 12, 2022
Unity Compatibility
Minimum Unity: 2019.4
Package Dependencies
🔧 Bug Fixes
- Fixed errors when working with paths containing special characters
- Fixed a bug where if you used `FloatMode.Fast` with `math.pow`, where the `y` argument to `math.pow` was actually sourced from an integer, illegal codegen would be generated (LLVM would try and call out to `powf` from the cstdlib).
- Right pane vertical scrollbar not always showing correctly.
- Fixed another rare case of the file-is-locked bug where the Burst IL Post Processor could incorrectly hold a file lock on a pdb.
- Fixed a bug when calling profiling `CreateMarker` on iOS, Burst could fail at runtime saying it was unable to find `CreateMarker__Unmanaged`.
- Fixed a bug where using `ReinterpretStore(someIndex, (ushort)someValue)` could cause an internal compiler error in Burst.
- A potential issue with the debug info mover pass, that meant it only affected the first entry point in a module
- Fixed a potential deadlock whereby if Burst was compiling in the background (the background tasks window showed Burst in it) and a user switched from release to debug in the editor, Burst could cause a deadlock.
- Fixed a bug where if you had synchronous compilation on a job, disabled Burst compilation and entered playmode, then exited playmode, and finally re-enabled Burst compilation, a hang could occur.
- Fixed a memory leak where during hashing we'd pin a GC object and never unpin and free it.
- Fixed a bug where toggling Burst enable <-> disable during a playmode execution using Burst, and then attaching the managed debugger, could cause an editor crash.
- Inspector font style changing when entering and exiting play mode.
- Fixed a super rare hashing bug in Burst whereby it was possible that the Burst Hash Cache for a given assembly was out of sync with the Assembly Loader cache.
- Fixed hashing error that could occur with unbound generic type
- Fixed a super rare bug where Burst could hit an internal error with `System.InvalidOperationException: Nullable object must have a value`.
📈 Improvements
- Made Burst explicitly check for any compilation requests that came from `AssemblyBuilder`, and do not compile these with Burst. These exist outside the normal compilation pipeline, and Burst could not support them (but we now explicitly check for that case).
- Made Burst's ILPP 22% faster by caching dependent assemblies that the being-processed assembly uses.
⚡ API Changes
- Removed the requirement that `BurstLoader` has to initialize `BurstReflection` during a domain reload, making `BurstLoader` setup 2x faster during domain reloads.
